骨骼网格物体 Actor

SkeletalMeshActor_Matinee_Example.png

使用虚幻引擎 4 (UE4) 开发的视频游戏中,游戏角色大多由一种特殊的网格物体所构成,其称为 骨骼网格物体 Actor。骨骼网格物体 Actor 的独特之处在于其能显示先在外部 3D 软件中生成,然后导入 UE4 的复杂动画数据。该指南详细讲述 UE4 中骨骼网格物体 Actor 的使用。

本教程的全部内容均选自 Matinee 演示,可通过 Learn(学习)标签免费下载。

骨骼网格物体 Actor 是什么

骨骼网格物体 Actor 是一种特殊的 Actor,用于显示外部 3D 动画软件中创建的复杂动画数据。骨骼网格物体 Actor 和静态网格物体 Actor 不同,因为骨骼网格物体 Actor 内部有一套复杂的骨骼系统,此系统将移动骨骼网格物体的个体顶点,与当前播放的动画进行匹配。骨骼网格物体 Actor 能使用复杂的骨骼系统,因此他们多用于角色、生物、复杂机器、或其他需要变形和显示复杂动作的物体。在 UE4 中,骨骼网格物体 Actor 不仅可用于角色,还可结合 Matinee 创建动画序列。

在关卡中放置骨骼网格物体 Actor

骨骼网格物体 Actor 在地图中的放置方法与普通 Actor 的放置方法相同;在视口的快捷菜单中 单击右键,或从 内容浏览器 中拖放。

拖拽与放置

通过以下几个简单步骤将骨骼网格物体 Actor 从 内容浏览器 中直接拖放到正在构建的关卡中。

  1. 内容浏览器 中选定作为骨骼网格物体 Actor 添加至地图的骨骼网格物体。

  2. 内容浏览器 中的骨骼网格物体上 单击左键,将鼠标从 内容浏览器 移至视口中放置网格物体的位置(此过程中须长按 鼠标左键 不放)。该位置不必十分精确。之后也可改变网格物体的位置,或将其旋转方向。

  3. Details(细节) 面板所示,松开 鼠标左键 将网格物体作为骨骼网格物体放置在地图中。

Skeletal_Mesh_Drag_&_Drop.gif

快捷菜单

也可通过下列简单步骤利用 单击右键 快捷菜单在世界场景中放置骨骼网格物体 Actor。

  1. 内容浏览器 中,选定作为骨骼网格物体 Actor 添加至地图中的骨骼网格物体。

  2. 在视口中需要添加网格物体的位置 单击右键,然后从快捷菜单中选择 Place Actor:Skeletal Mesh(放置 Actor:骨骼网格物体)。该位置不必十分精确。之后也可改变网格物体的位置,或将其旋转方向。

  3. 用鼠标选择 Place Actor:Skeletal Mesh(放置 Actor:骨骼网格物体) 选项后,选定的骨骼网格物体即被放置于场景中。

Skeletal_Mesh_Context_Menu.gif.gif

在骨骼网格物体 Actor 上播放动画。

UE4 中,有两种不同方法可以使骨骼网格物体 Actor 在游戏运行时形成动画。可使用 动画蓝图 ,将多个动画一同播放并混合。或使用动画资源播放单个 动画序列 。在此教程中,我们着重讲述使用动画序列在游戏运行时播放动画。

骨骼网格物体 Actor 设置

骨骼网格物体 Actor 播放动画的设置较为简易,可利用以下几步实现。

  1. 首先,在 内容浏览器 中找到所需的 骨骼网格物体

  2. 找到所需的 骨骼网格物体 后,通过拖放或 快捷菜单 将其添加至关卡。

  3. 完成后的效果类似于下图。
    SkeletalMeshActor_Adding_Mesh_To_Scene.png

骨骼网格物体动画设置

骨骼网格物体 Actor 添加至关卡后,即可通过下列步骤为其添加动画。

  1. 首先找到一个播放的 动画序列。在此例中我们使用 Trooper_Main 动画序列。

    SkeletalMeshActor_Finding_Anim_Sequance.png

  2. 选定使用的动画后,需要对骨骼网格物体 Actor 进行设置方可正常使用。首先需要将 Animation Mode(动画模式)Use Animation Blueprint(使用动画蓝图 设为 Use Animation Asset(使用动画资源)

    SkeletalMeshActor_Use_Anim_Asset.png

  3. Animation Mode(动画模式) 设置正确后,即可选择需要播放的动画。从 内容浏览器 中选择需要播放的 Animation Sequence(动画序列),然后将其指派到 Anim to Play(播放动画)部分,方法有二:将其拖放至 Anim to Play 上,或使用 Anim to Play 输入框右边的箭头进行操作。

    SkeletalMeshActor_Anim_To_Play.png

播放骨骼网格物体动画

  1. 确保 Looping(循环)Playing(播放) 已勾选(默认为已勾选),然后按下 Play Button(播放按钮),即可看到动画在游戏中播放。

    SkeletalMeshActor_Looping_Playing.png

材质覆盖

有时需要覆盖骨骼网格物体 Actor 上已赋予的材质。可手动将新材质指派给骨骼网格物体 Actor 材质,或在编辑器视口中将材质直接拖放至骨骼网格物体 Actor 上。变更骨骼网格物体 Actor 材质的方法与变更其他 Actor 材质的方法相同。

结合骨骼网格物体 Actor 使用的材质在勾选材质用法标记 Used with Skeletal Mesh(结合骨骼网格物体使用) 后才能正常使用。在材质 Details(细节) 面板下的 Usage(用法) 部分可找到此标记。 SkeletalMeshActor_Material_Usage_Flag.png

碰撞

普通的碰撞创建与检测无法应用于骨骼网格物体 Actor。如需在骨骼网格物体与关卡物体之间创建碰撞,骨骼网格物体 Actor 需拥有为物体单独创建的物理资源。

为骨骼网格物体 Actor 创建碰撞。

为网格物体创建物理资源,只需在 内容浏览器 中的网格物体上 单击右键,然后选择 Create(创建) -> Create Physics Asset(创建物理资源)。可在 物理资源工具 文档中了解物理资源创建的更多内容。

SkeletalMeshActor_Create_Physics_Asset.png

指派物理资源

创建物理资源后,便将其指派给网格物体。将物理资源指派给骨骼网格物体的方法十分简单:打开骨骼网格物体,然后将物理资源指派给 Physics(物理) 部分下的 Physics Asset(物理资源) 槽。

SkeletalMeshActor_Add_Physics_Assets.png

也可覆盖关卡中的物理资源,方法同样非常简单:选择骨骼网格物体,然后在 Details(细节) 面板中 Physics(物理) 部分的 Physics Asset Override(物理资源覆盖) 子部分下添加一个新的物理资源。

SkeletalMeshActor_Add_Physics_Assets_In_Level.png