后期处理
姿势混合完成后,在渲染之前,还需要进行一些修改,称为动画后期处理(animation post-processing)。
1. 程序式动画
程序式动画(procedural animation)是指任何在运行时生成的动画,而不是动画工具制作的的动画。程序式动画常用于后期处理中修改和调整角色姿势。
这些调整姿势于全局姿势计算和矩阵调色板生成之前,在局部姿势间进行。
2.逆运动学(IK)
普通的动画是正向运动学(forward-kiniematics)的例子。输入是一组局部姿势,而输出是一组全局姿势,以及逐关节的蒙皮矩阵。逆运动学(inverse-kinematics)则是相反的,输入是某一个关节的全局姿势,称为末端受动器(end effector)。要求输出其他关节的局部姿势,使得effector到达指定位置。
数学上的IK可归结为误差最小化问题。如同其他误差最小化问题,可能会有一个解、多个解、或者无解。
IK的求解细节略。基本思路是构建位形空间(configuration space),坐标轴是每个关节的可行角度,求effector离目标最近的坐标。
3.布娃娃(Ragdoll)
角色失去意识或者死亡时,身体进入瘫软状态。在此情形下,我们希望该身体能与周边环境以真实的物理方式互动,可以使用布娃娃(ragdoll)。
布娃娃是一组由物理模拟的刚体,每个刚体代表角色的身体部分。刚体位置和定向由物理系统计算,然后应用至角色骨骼中的目标关节的位置和定向。
CRE:Unity通过Hierarchy中的游戏物体和骨骼关节建立映射。
(END)