写在前面
本专栏内容均为学堂在线慕课《3D游戏引擎架构设计基础》中的内容。个人将其转化成文字和图片的版本(个人更加喜欢文字版本的教程,阅读速度更快很多),方便查阅。 原课程链接:3D游戏引擎架构设计基础。
角色动画
角色动画概述和表示方法
角色是指推动游戏剧情的载体,包括玩家、非玩家、怪兽和敌人等。
角色的表示
游戏中的角色动画建模过程:
蒙皮:建立角色的网格模型
骨骼:建立关节和关节层次树,并将关节与对应的网格顶点绑定
皮肤或衣服:定义网格的材质和纹理贴图
角色动画:描述角色的动作,定义角色骨骼的位置移动
表现示例:
骨骼蒙皮动画中重要的概念
运动合成中的重要概念:
动画片段:是指组成游戏角色的动作的局部姿势,如举手、跳跃、一个走路或跑步的步幅等。
关键帧或关键姿势:是指在动画片段指定的时间点上设定的重要姿势,通过关键帧,可以用线性插值或曲线插值算法自动生成中间的姿势,即中间帧。关键帧可以被看成角色姿势的一个静态图。而动画片段是由若干个关键帧和中间帧组成,且所有帧按照设点的时间点显示。动画片段是角色动画的一个局部姿势,是动态的。
动画片段的合成是指对应关节位置的计算,角色动作自动合成的方法包括:
角色动画实现实例
OGEE角色动画
OGRE角色动画渲染流程: OGRE节点类型与骨骼树结构: 关节节点与场景图的关系: OGRE角色动画主要类: 下面是OGRE角色动画的几种核心类描述: 角色动画的骨骼蒙皮动画的示例: