可以看看这篇历史文章《动画系统的发展》你就可以大体了解什么是动画系统,以及在电脑动画是如何运作的。
这里大概的总结一下:
1、静态模型(Mesh):由一系列顶点(坐标)信息组成的数据集,类比人的话可以简单的理解为人皮
2、骨骼动画:
如何让一个动画动起来,实际上就是控制静态模型中的某些点按照一定的预定轨迹移动,但实际上这是不现实的,因为一个模型存在上万个顶点,手动去设置每个顶点的运动轨迹不方便也不科学,不科学体现在一个动画在人体的各个部位是不一样的。
为此骨骼动画诞生了,由骨骼去驱动“依附”于该骨骼上的顶点,只要骨骼按照一定规律运动,骨骼附带的顶点也会随之运动
动画重定向:是一种允许在共用相同骨架资源但比例差异很大的角色之间复用动画的功能。(实际上只要整体的骨架资源类似,就可以使用重定向,后面会提到)
通过重定位,可以防止生成动画的骨架在使用来自不同外形的角色的动画时丢失比例或产生不必要的变形。 通过动画重定位,还可以在使用不同骨架资源的角色之间共享动画,前提是他们使用相似的骨骼层级,并使用名为 IK绑定(IK Rig)的共享资源在骨架之间传递动画数据。
如下最终可以实现如下,两个骨架资源相似,外形不同的角色实现相同的动作
假设此时有多个角色,希望在基本角色、矮壮角色和高瘦角色之间共享动画。
在实现重定向前,如果使用基本角色的动画让这三个角色播放,就会看到如下结果,明显不符合预期
实现重定向后,我们可以看到三个角色都如我们预期的一般播放动画
上面两点大部分摘自:UE5动画重定位
骨骼链:一个有ik关系的骨骼,从起点到终点只有唯一指向的骨骼,也就是不能有分叉!!
以下图举例,下图中人的四肢就是四条骨骼链,人体的骨骼实际肯定是要比下面复杂的。
在动画设计软件中,运动学系统分为正向运动学FK(Forward Kinematics)和反向运动学IK(Inverse Kinematics)这两种。
正向运动学(FK): 指的是对于有层级关系的对象来说,父级对象的动作将影响到子级对象,而子对象的动作将不会对父对象造成任何影响。当对父对象进行移动时,子对象也会同时随着移动。而子对象移动时,父对象不会产生移动。由此可见,正向运动中的动作是自上而下传递的。例如手臂动画,大臂移动或旋转,小臂和手随之移动或旋转,小臂移动或旋转,手随之移动或旋转。
反向运动学(IK): 动作传递是双向的,当父对象进行位移、旋转或缩放等动作时,其子对象会受到这些动作的影响,反之,子对象的动作也将影响到父对象。例如,若要将手移到门把上,手臂中的其他关节也将发生旋转,以适应手的新位置。
UE4的重定向是直接集成于骨骼编辑器,可以直接在骨骼编辑器里通过 “重定向管理器” 进行 “重定向源绑定”。
重定向源绑定: 将骨骼与重定向源进行绑定,其中重定向源是一组设定好的模型骨骼的映射,可以将映射于同一源的骨骼节点进行相同的数据计算,以便从一个角色的动作生成出另一个角色对应的动作。
上述重定向源绑定需要在两个不同模型的骨骼下分别进行绑定,分别是源模型骨骼与要生成动画的目标模型骨骼
在上述绑定中,我们使用的重定向源是UE4自带的 Humanoid绑定,看下面图中的选择绑定即可见,之后便是将 “源” 与目标进行绑定,其中 重定向源如果我们不满意,是可以通过UE的插件重新创建一组重定向源的
在完成了两个骨骼的绑定之后,我们便可以选择其中一个作为源目标,选择其动画,右键进行动画的生成,如下图
点击下面的重定向后便可生成对应的动画
结果如下:这是冲女武神的动画导出给白模的动画
相比UE4的重定向,UE5的动画重定向新增了两种资源IK绑定、IK重定向器:
IK绑定也就是UE4里面的重定向源绑定,即将骨骼与重定向源进行绑定,不过不同于UE4需要设定一组重定向源,UE5需要我们去手动设置每一个重定向源的名称以及与其映射的 “骨骼链”(后面会说) 如上图右下角所示,相比UE4,其自由度更高了,但相对的就是要复杂一些
IK重定向器是UE5新增的一种资源,用于将两个重定向资源进行调整以及试试观看!(超大的进步!!)有一点很大的不同!!!
UE5在重定向的时候,实际上是存在两组重定向源,之后通过是通过对这两组重定向源进行动画重定向!
我们可以看到上图右下角,里面的 目标链 与 源链 是与我们 细节窗口 里选择的两组IK绑定里设置的链相对应的!
我们可以在 IK绑定 里选择一整条的链并如上图操作,进行骨骼链额生成,也可以直接在右下角新建骨骼链 (不需要再提前设定好一组源了! 其实还是挺方便的)
![请添加图片描述](https://img-blog.csdnimg.cn/089d6cf0969341679b8b5282fb6614f9.jpeg
如上图,在IK重定向器中选择我们要导出的动画,点击上面的 导出选定动画,即可导出
下面的骨骼链,是不是很熟悉,应用到游戏中还是挺有意思的吧!
逆水寒的骨骼链