MirrorMapping 资产存储了镜像的方向和映射关系。该资产用于镜像动画,能够节省动画资源。
在 Project 界面下右键 Create -> MirrorMapping 创建新 MirrorMapping 资产。
选中 MirrorMapping 资产后,即可在 Inspector 界面下进行编辑。可以直接点击右下角的 + 号按钮添加映射,点击后会弹出如下窗口:
在该窗口中可以修改映射的名字以及映射的类型,映射的类型包括: * NoMapping:不进行映射; * Bidirection:双向映射; * SourceToTarget:将左侧骨骼的变换镜像到右侧骨骼上; * TargetToSource:将右侧骨骼的变换镜像到左侧骨骼上; * Self:单个骨骼镜像。
修改结束后点击 Apply 进行应用,也可以点击 Abort 取消修改。添加映射后可以点击左侧的 再次进入编辑窗口进行修改。
对于本身层级结构中的命名就自带映射关系的角色,例如包含左右骨骼的名字 _left
对应 _right
,可以将角色(场景中或者 FBX)放入 Preview Character,点击 Auto Configure 按钮自动生成映射关系。
MirrorAxis 选项表示镜像的应用沿着轴的方向,例如默认情况下角色 Y 轴朝上、Z轴朝前,选用 Axis X 表示镜像沿着 X 轴,即 YZ 平面左右镜像。
MirrorMapping 的运行时使用需要结合 AnimGraph。在 AnimGraph 资产中,新建 Animation Mirror Node,将 MirrorMapping 资产放入。Animation Mirror Node 节点之前需要连接其他的动画节点。
NOTE: Animation Mirror Node 必须在 AnimGraphManager 配置了 Avatar 的情况下才会生效。
其中 Mirror 选项可以在运行时开启或关闭,用来控制是否开启镜像。