游戏引擎架构——【动画系统】阅读记录

character animation system

The big problem with the rigid hierarchy technique is that the behavior of the character’s body is oft en not very pleasing due to “cracking” at the joints.


per-vetex animation
morph target animation 极端姿势的顶点位置线性插值LERP
skinned animation


Each joint data structure typically contains the following information:

  • name
  • index of parent
  • inverse bind pose transform
    游戏引擎架构——【动画系统】阅读记录_第1张图片

Global Pose
这里写图片描述
为计算关节的全局姿势,可从该关节往跟关节及模型空间原点遍历,过程中把每个关节的子至父(局部)变换串接起来。


非互动
IGC in-game cinematics
NIS noninteractive sequence
FMV full-motion video
半互动
QTE quick time event

少量的关键姿势,引擎用插值法填补其余的姿势
游戏引擎架构——【动画系统】阅读记录_第2张图片

时间线与播放速率,片段倒转
这里写图片描述

SQT
Scale
Quanternion
Translation
一个动画由每关节多至10个通道组成,实际指的是SQT的10个分量。

元通道 metachannel
把游戏专用的信息编码,同时能和动画同步,而又无须把这些信息以骨骼姿势存储


蒙皮——把三维网格顶点联系至骨骼
蒙皮矩阵,把顶点变形到新位置,定点在变换前后都在模型空间。


动画混合
线性插值混合——
对两个骨骼姿势进行线性插值时,最自然的中间姿势通常是令关节独立在其父节点中进行插值【姿势混合通常在局部姿势进行。

动作连续性——淡入淡出
动画过渡的问题,两个片段的时间线适度地重合

加法混合


逆运动学:通过误差最小化,尝试把末端受动器关节移至目标的全局姿势。
正向运动学:输入是局部姿势,输出是全局姿势,以及每个关节的蒙皮矩阵
逆运动学:输入是某个关节想要的全局姿势,此输入称为末端受动器。要求出其他关节的局部姿势,使末端受动器能够到达指定的位置。


压缩技术
单个关节姿势:3个平移,4个旋转,最多3个用作缩放。
每个通道四字节浮点数。

  • 通道省略
  • 量化——有损压缩
    ——浮点数映射到区间。
  • 采样频率及键省略
  • 基于曲线的压缩
  • 选择性载入及串流

动画系统架构

  • 动画管道
  • 动作状态机
  • 动画控制器

你可能感兴趣的:(Game,Engine,Architechture)