3D游戏引擎入门课程——角色动画

目录

  • 写在前面
  • 角色动画
    • 角色动画概述和表示方法
      • 角色的表示
      • 骨骼蒙皮动画中重要的概念
    • 角色动画实现实例
      • OGEE角色动画
      • Panda3D角色动画

写在前面

本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。
原课程链接:3D游戏引擎架构设计基础。

角色动画

角色动画概述和表示方法

角色是指推动游戏剧情的载体,包括玩家、非玩家、怪兽和敌人等。

角色的表示

  • 赛璐璐动画
    3D游戏引擎入门课程——角色动画_第1张图片

  • 刚性层阶式动画
    3D游戏引擎入门课程——角色动画_第2张图片

  • 每顶点动画
    3D游戏引擎入门课程——角色动画_第3张图片

  • 变形目标动画
    3D游戏引擎入门课程——角色动画_第4张图片

  • 骨骼蒙皮动画
    3D游戏引擎入门课程——角色动画_第5张图片
    其中骨骼蒙皮动画是使用得最多的表现技术。

游戏中的角色动画建模过程:

  1. 蒙皮:建立角色的网格模型

  2. 骨骼:建立关节和关节层次树,并将关节与对应的网格顶点绑定

  3. 皮肤或衣服:定义网格的材质和纹理贴图

  4. 角色动画:描述角色的动作,定义角色骨骼的位置移动

表现示例:

3D游戏引擎入门课程——角色动画_第6张图片

骨骼蒙皮动画中重要的概念

  • 自由度和关节类型:
    3D游戏引擎入门课程——角色动画_第7张图片
    3D游戏引擎入门课程——角色动画_第8张图片
    3D游戏引擎入门课程——角色动画_第9张图片
    3D游戏引擎入门课程——角色动画_第10张图片

  • 关节的空间变换
    3D游戏引擎入门课程——角色动画_第11张图片

  • 网格顶点和关节绑定
    3D游戏引擎入门课程——角色动画_第12张图片

  • 运动合成和运动控制

运动合成中的重要概念:

动画片段:是指组成游戏角色的动作的局部姿势,如举手、跳跃、一个走路或跑步的步幅等。

关键帧或关键姿势:是指在动画片段指定的时间点上设定的重要姿势,通过关键帧,可以用线性插值或曲线插值算法自动生成中间的姿势,即中间帧。关键帧可以被看成角色姿势的一个静态图。而动画片段是由若干个关键帧和中间帧组成,且所有帧按照设点的时间点显示。动画片段是角色动画的一个局部姿势,是动态的。

示例:
3D游戏引擎入门课程——角色动画_第13张图片

动画片段的合成是指对应关节位置的计算,角色动作自动合成的方法包括:

  1. 线性混合
    3D游戏引擎入门课程——角色动画_第14张图片
  2. 骨骼分部混合
    3D游戏引擎入门课程——角色动画_第15张图片
  3. 加法混合。
    3D游戏引擎入门课程——角色动画_第16张图片

角色动画实现实例

OGEE角色动画

OGRE角色动画渲染流程:
3D游戏引擎入门课程——角色动画_第17张图片
OGRE节点类型与骨骼树结构:
3D游戏引擎入门课程——角色动画_第18张图片
关节节点与场景图的关系:
3D游戏引擎入门课程——角色动画_第19张图片
OGRE角色动画主要类:
3D游戏引擎入门课程——角色动画_第20张图片
下面是OGRE角色动画的几种核心类描述:
3D游戏引擎入门课程——角色动画_第21张图片
3D游戏引擎入门课程——角色动画_第22张图片
角色动画的骨骼蒙皮动画的示例:
3D游戏引擎入门课程——角色动画_第23张图片

OGRE角色动画总结:
3D游戏引擎入门课程——角色动画_第24张图片
3D游戏引擎入门课程——角色动画_第25张图片

Panda3D角色动画

Panda3D中角色动画的概念:
3D游戏引擎入门课程——角色动画_第26张图片
Panda3D中角色表示的类图如下:
3D游戏引擎入门课程——角色动画_第27张图片
角色局部运动类:
3D游戏引擎入门课程——角色动画_第28张图片
最后是Panda3D动画类:
3D游戏引擎入门课程——角色动画_第29张图片

你可能感兴趣的:(3D游戏引擎)