运行时重定向
概述
运行时重定向(Runtime Retargeting)功能支持在拥有相同骨骼数量和层次结构且命名一致的骨架间共享动画,也支持在骨骼数量不一致,但层次结构能兼容动画的骨架间共享动画。
运行时重定向(Runtime Retargeting)可用于运行时,决定某个骨骼的数据源来自动画还是骨骼,以及是否需要做特殊的处理,例如,做一定比例的位移和缩放。
复用动画资产
通过使用运行时重定向(Runtime Retargeting)功能,以下三个骨骼数量、骨架层次结构和命名一致但骨架尺寸不一致的组合体(Actor)可以相互间共享动画。如:矮胖组合体和高瘦组合体可以复用源组合体的动画。
![]() 源组合体 | ![]() 矮胖组合体 | ![]() 高瘦组合体 |
将SK_Human资产(源组合体)的default_run动画(骨架资产)拖入添加到SK_EliteSoldier01资产(矮胖组合体)的动作集(Action List)中。
指定参考骨架
为该动画指定正确的参考骨架文件,从而为运行时重定向提供合适的参考姿势。
在组合体编辑器(Actor Editor)中,双击SK_EliteSoldier01组合体的default_run动画资产,打开动画编辑器(Animation Editor)。
在动画编辑器(Animation Editor)的资产细项(Asset Details)面板中,将该动画的骨架文件(Skeleton File)改为SK_Human组合体的骨架SK_Human_tpose.xskt,为default_run动画配置正确的参考骨架。
指定完成:
未启用重定向设置
与源组合体相比,矮胖组合体和高瘦组合体的骨架尺寸并不一致,复用基于源组合体骨架尺寸制作的跑步动画后,此时出现的效果并不如意,矮胖组合体被拉长,高瘦组合体被压缩,可通过修改重定向模式来进一步调整。
![]() 源组合体 | ![]() 矮胖组合体 | ![]() 高瘦组合体 |
启用重定向设置
可通过修改以下四种重定向模式,修改骨骼位移和缩放,从而来解决组合体尺寸差异带来的问题。
重定向模式(Retargeting Mode)为动画(Animation)时,代表骨骼位移取自动画,不进行重定向。
重定向模式 | 说明 |
---|---|
骨架(Skeleton) | 骨骼位移取自目标骨架。 |
缩放动画(Animation Scaled) | 根据骨骼在目标骨架和动画参考骨架中的长度比值修正采样自动画的位移。 |
朝向和缩放(Orient And Scale) | 根据骨骼在目标骨架和动画参考骨架的朝向差异和长度比值修正采样自动画的位移 |
相对动画(Anim Relative) | 根据骨骼在目标骨架和动画参考骨架间的位移、旋转和缩放差异修正采样自动画的变换。 |
在骨架编辑器(Skeleton Editor)中,在Bip01骨骼的右侧下拉框中选择缩放动画(Animation Scaled),将Bip01骨骼的重定向模式(Retargeting Mode)修改为缩放动画(Animation Scaled),剩余骨骼的重定向模式均为骨架(Skeleton)。
按照上述操作,SK_EliteSoldier02资产可同样复用SK_Human资产的default_run动画。
最终效果
SK_EliteSoldier01资产和SK_EliteSoldier02资产使用运行时重定向(Runtime Retargeting)功能复用了SK_Human资产的default_run动画。