Choose your operating system:
Windows
macOS
Linux
创建一个Control Rig蓝图后,可使用动画蓝图AnimGraph中的Control Rig节点来增大Control Rig蓝图中提供内容的动画数据。这能帮助使用者完成诸如以下此类任务:将动画数据与Control Rig蓝图的内容混合,或将Control Rig蓝图的内容放置在现有动画数据之上。
下例展示了如何使用Control Rig蓝图来指示一个关节瞄准并跟随另一个关节。Control Rig创建后,即可使用Control Rig节点并将Control Rig内容合并到正在播放动画的一个现有动画蓝图中。
步骤
此范例中使用的是全新的 蓝图第三人称模板 项目。
在项目中启用Control Rig插件后点击 新增(Add New) 按钮并在 动画(Animation) 中选择 Control Rig。
将 ControlRig 选为父Rig,然后点击 创建(Create) 并为其赋予任意命名。
在Control Rig蓝图中右键点击 层级(Hierarchy) 选项卡,然后在"导入(Import)"下指定 SK_Mannequin。
在 预览场景设置(Preview Scene Settings) 选项卡中,将 SK_Mannequin 指定为 预览网格体(Preview Mesh)。
编译Control Rig蓝图。
在图表中点击右键并创建一个 Rig Hierarchy Ref 变量。
在 Rig Hierarchy Ref 的 细节(Details) 面板中将 变量名(Variable Name) 改为 Base_Hierarchy。
这将创建一个对层级的引用,通常建议将其重设为表述更清楚的命名,例如"Base Hierarchy"。在输出引脚后使用 Get Joint Transform 节点,Joint 设为 hand_r、Type 设为 Current。
这将成为要瞄准的目标关节,我们将获取此关节当前的变换值。在图表中点击右键并添加一个 Aim Constraint 节点。
编译蓝图。
用以下设置将 Base_Hierarchy 和 Get Joint Transform 节点如下所示连接到 Aim Constraint:
Joint = head
Aim Vector Y = 1.0
Aim Target Weight = 1.0 我们在此指示头部关节沿Y轴瞄准右手的变换。在 内容浏览器 中 内容(Content) > 人体模型(Mannequin) > 角色(Character) > 网格体(Mesh),右键点击 UE4_Mannequin_Skeleton 并选择 创建(Create) > 动画蓝图(Anim Blueprint),并为其赋予任意命名。
在动画蓝图的AnimGraph中将一个 Control Rig 节点(已指定 Control Rig类)连接到 Final Animation Pose。
添加并连接 ThirdPersonIdle 动画到 Control Rig,然后编译。
角色将进入待机状态,并看向右手边。右手移动时,角色将自动移动头瞄准(看向)右手。将一个Transform Modify Bone节点添加到图表便可进行进一步测试,以便在视口中进行操纵。在 Control Rig 和 Play ThirdPersonIdle 动画之间添加一个 Transform Modify Bone 节点(将自动创建转换节点)。
在 Transform Modify Bone 的 细节(Details) 面板中将 Bone to Modify 设为 upperarm_r、Rotation Mode 设为 Add to Existing。
编译动画蓝图。
最终结果
现在可以在视口中旋转右臂,头部将跟随手部的位置。也可修改不同动画或调整旋转空间(Rotation Space)来实现不同结果。