使用 Sprite 插槽
此页面讲述如何对 sprite 添加插槽,然后从可附加对象的蓝图访问这些插槽。可从 sprite 插槽(如身上着火的角色)生成粒子特效,将一把武器(如一把枪或一把剑)附加到角色手上,或生成任意数量的各种物品并附加到 sprite 的插槽。
在此例中,我们将把一顶帽子附加到角色的头上。
为 sprite 添加插槽的步骤:
找到需要添加插槽的 sprite 并打开。
在 Details 面板中点击 Sockets 旁边的 + 添加一个新的插槽。
在 Socket Name 输入命名,并使用 Local Transform 或视口中的控件把插槽移动到所需之处。
在视口中移动插槽之前需要先将画面拉近并点击插槽。
需要记录插槽的命名。上图中新建了一个名为 HatSocket 的插槽,我们通过它生成一个 2D 帽子以便角色穿戴。以上步骤只包含了一个 sprite,而待机动画中使用了 8 个不同的 sprites,因此也需要为这些 sprite 添加插槽。
可使用 Property Matrix 快速执行此操作。
为多个 sprite 添加插槽:
在 Content Browser 中,选择 Flipbook 动画中每个需要应用插槽的 sprite。
在 sprite 上 单击右键,然后在 Asset Actions 下选择 Property Matrix...
打开 Property Matrix 即可同时对所有 sprite 进行修改,节约时间。
我们还选择了已添加插槽的 sprite 作为参考,因此一共选中了 8 帧。
在 Property Matrix 中选择每个 sprite(不含插槽),然后点击 + 添加插槽。
展开元素 0,然后在 Socket Name 下将它们的命名设为第一个 sprite 的命名(在此例中为 HatSocket)。
打开 Local Transform,再打开 Translation,将 XYZ 的数值设为第一个 sprite 的数值。
在动画中打开每个 sprite,确保它们都已添加好插槽。
可能需要调整每个 sprite 的插槽位置,确保其处在该帧中的所需位置。
现在,Flipbook 中每帧均附加了插槽,即可命令蓝图在插槽位置生成 actor。
通过蓝图访问 Sprite 插槽:
在角色蓝图的 My Blueprint 窗口中点击眼睛图标和 Show Inherited Variables。
单击左键 拖入角色的 Sprite 组件。
在 Event Begin Play 节点的引出连线后添加一个 Spawn Actor from Class 节点(设为所需的 Actor 类)。
对 Spawn Transform 使用 Make Transform 节点,在 Return Value 的引出连线后使用一个 Attach To 节点。
将 Sprite 组件作为 In Parent 连接,在 In Socket Name 输入创建的插槽。
设置与上图相似。例如,我们生成了一个名为 Hat_BP 的蓝图,此蓝图包含帽子的 Sprite 组件(此组件在我们创建的 HatSocket 位置上被附加到角色上)。我们已对待机的帧执行以上操作,然后再对奔跑的帧执行相同步骤,最后角色将头戴一顶帽子出现在游戏中(如下图所示)。
进行 编译 并在编辑器中进行游戏后,生成的 Actor 类将在插槽位置生成并成功附加。
可添加一个插槽到一个 sprite,并在插槽中附加任意数量的不同内容。Sprite 是否为 Flipbook 的一部分,是否已设置动画,以及插槽中的内容均完全取决于您的选择。