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

角色动画

角色动画概述和表示方法

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

角色的表示

赛璐璐动画

刚性层阶式动画

每顶点动画

变形目标动画

骨骼蒙皮动画

其中骨骼蒙皮动画是使用得最多的表现技术。

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

蒙皮：建立角色的网格模型

骨骼：建立关节和关节层次树，并将关节与对应的网格顶点绑定

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

角色动画：描述角色的动作，定义角色骨骼的位置移动

表现示例：

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

自由度和关节类型：

关节的空间变换

网格顶点和关节绑定

运动合成和运动控制

运动合成中的重要概念：

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

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

示例：

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

线性混合

骨骼分部混合

加法混合。

角色动画实现实例

OGEE 角色动画

OGRE 角色动画渲染流程：

OGRE 节点类型与骨骼树结构：

关节节点与场景图的关系：

OGRE 角色动画主要类：

下面是 OGRE 角色动画的几种核心类描述：

角色动画的骨骼蒙皮动画的示例：

OGRE 角色动画总结：

Panda3D 角色动画

Panda3D 中角色动画的概念:

Panda3D 中角色表示的类图如下：

角色局部运动类：

最后是 Panda3D 动画类：