动态动画可以提高角色运动真实感,在UE4中我们可以使用AnimDynamics为角色提供基于实体的附属动画。下面为大家分享在UE4中动态动画的创建过程。
创建动态动画前的准备
1、打开基于蓝图第三人称(Blueprint Third Person Template)的模板项目,并添加了Infinity Blade资源。然后在内容浏览器中的 Content/Mannequin/Character/Mesh,打开UE4_Mannequin_Skeleton资源。
![1_OpenMesh-2.png](https://img2.99ku.vip/ku/uploads/20201105/173231260.jpeg)
2、单击重定向管理器(Retarget Manager) ,在选择绑定(Select Rig)中选择Humanoid绑定。这时可以将此角色的动画蓝图和动画重定向为一个Infinity Blade角色。
![2_SetRig-2.png](https://img2.99ku.vip/ku/uploads/20201105/173232951.jpeg)
3、在内容浏览器(Content Browser)中,找到并打开Infinity Blade Adversaries中的SK_Master_Grunt_Skeleton。
![3_OpenGrunt-1.png](https://img2.99ku.vip/ku/uploads/20201105/17323332.jpeg)
4、点击重定向管理器(Retarget Manager),在选择绑定(Select Rig) 中选择Humanoid。
5、对于绑定上的每个节点,从骨架分配一个骨骼。
![4_AssignBones-1.png](https://img2.99ku.vip/ku/uploads/20201105/17323493.jpeg)
6、在Skeleton Tree中,点击显示高级选项(Show Advanced Options) 。
7、右键点击b_MF_Root,并选择递归地设置平移重定向骨架(Recursively Set Translation Retargeting Skeleton)。
![5_TranslationRetargetingA-1.png](https://img2.99ku.vip/ku/uploads/20201105/173235324.jpeg)
8、在平移重定向(Translation Retargeting) 下,将b_MF_Root设置为动画(Animation),并将b_MF_Pelvis设置为缩放后动画(Animation Scaled)。
![5_TranslationRetargetingB-1.png](https://img2.99ku.vip/ku/uploads/20201105/173236765.jpeg)
已经设置了骨架,我们现在可以从模板角色重定向AnimBluperint和动画。
9、导航到 ThirdPersonAnimBP,右键单击 它并选择 复制动画蓝图并重定向(Duplicate Anim Blueprints and Retarget)。
![6_RetargetAnimBP-1.png](https://img2.99ku.vip/ku/uploads/20201105/17323726.jpeg)
10、在 选择骨架(Select Skeleton) 窗口中,选择SK_Master_Grunt_Skeleton 资源,点击重定向(Retarget)。
![7_SetTarget-1.png](https://img2.99ku.vip/ku/uploads/20201105/173239397.jpeg)
11、导航到复制的资源,并将新的动画蓝图重命名为 GruntAnimBP。
![8_RenameAnimBP-1.png](https://img2.99ku.vip/ku/uploads/20201105/173240628.jpeg)
12、将该动画蓝图移动到ThirdPersonCharacter 蓝图并打开。
13、点击组件(Components) 窗口中的 网格体(Mesh),在细节(Details) 中分配SK_Master_Grunt 和 GruntAnimBP_C。
![10_AssignNewCharacter-1.png](https://img2.99ku.vip/ku/uploads/20201105/173241429.jpeg)
14、编译(Compile) 并 保存(Save),然后关闭蓝图。如果你在编辑器中运行,就可以控制可用WASD和空格键运行和跳转的Grunt角色。
应用AnimDynamics
1、在内容浏览器 中,打开角色的 动画蓝图 (GruntAnimBP)。
![1_OpenAnimBP.png](https://img2.99ku.vip/ku/uploads/20201105/1732425110.jpeg)
2、单击 MyBlueprint,然后单击 AnimGraph 打开动画图表。
3、右键单击图表,然后搜索并添加 AnimDynamics 节点。
![3_AddNode.png](https://img2.99ku.vip/ku/uploads/20201105/1732438911.jpeg)
4、复制(Copy) 并 粘贴(Paste) 此节点,然后如下所示连接节点。
![4_ConnectNodes.png](https://img2.99ku.vip/ku/uploads/20201105/1732454112.jpeg)
5、选择序列中的第一个 AnimDynamics 节点,然后在 详细信息(Details) 面板中,分配如下所示的设置。
![5_Furnance1.png](https://img2.99ku.vip/ku/uploads/20201105/1732465613.jpeg)
6、当仍选中节点时,按如下所示设置 设置(Setup) 和 约束(Constraint) 部分。
![6_Furnance1.png](https://img2.99ku.vip/ku/uploads/20201105/1732476814.jpeg)
7、单击编译(Compile),注意背带物件如何侧倾。因为Y轴的角限制(Angular Limits)非常大,所以在上图中用绿色锥体表示。
![6_Furnance1b.png](https://img2.99ku.vip/ku/uploads/20201105/173248215.jpeg)
8、当仍选中节点时,在 约束(Constraints) 部分中,调整 角限制(Angular Limits) 的 最小/最大值(Min/Max),如下所示。
![6_Furnance1c.png](https://img2.99ku.vip/ku/uploads/20201105/1732503516.jpeg)
编译(Compile) 时,背带不会向两边偏移移动太多。
![6_Furnanced.png](https://img2.99ku.vip/ku/uploads/20201105/1732514917.jpeg)
9、选择序列中的第二个AnimDynamics节点,然后使用以下设置。
![7_PotSettings.png](https://img2.99ku.vip/ku/uploads/20201105/1732528218.jpeg)
10、编译(Compile) 并 保存(Save),然后在编辑器中运行。
现在,UE4动态动画就创建成功了,大家可以看到角色的物体物体随着角色的运动而弹跳运动。