Language:
Page Info
Skill Level:
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

使用 Sprite 插槽

此页面讲述如何对 sprite 添加插槽,然后从可附加对象的蓝图访问这些插槽。可从 sprite 插槽(如身上着火的角色)生成粒子特效,将一把武器(如一把枪或一把剑)附加到角色手上,或生成任意数量的各种物品并附加到 sprite 的插槽。

在此例中,我们将把一顶帽子附加到角色的头上。

为 sprite 添加插槽的步骤

  1. 找到需要添加插槽的 sprite 并打开。

  2. Details 面板中点击 Sockets 旁边的 + 添加一个新的插槽。

  3. Socket Name 输入命名,并使用 Local Transform 或视口中的控件把插槽移动到所需之处。

    AddingSocket.png

    在视口中移动插槽之前需要先将画面拉近并点击插槽。

需要记录插槽的命名。上图中新建了一个名为 HatSocket 的插槽,我们通过它生成一个 2D 帽子以便角色穿戴。以上步骤只包含了一个 sprite,而待机动画中使用了 8 个不同的 sprites,因此也需要为这些 sprite 添加插槽。

可使用 Property Matrix 快速执行此操作。

为多个 sprite 添加插槽

  1. Content Browser 中,选择 Flipbook 动画中每个需要应用插槽的 sprite。

  2. 在 sprite 上 单击右键,然后在 Asset Actions 下选择 Property Matrix...

    PropteryMatrix.png

    打开 Property Matrix 即可同时对所有 sprite 进行修改,节约时间。

    我们还选择了已添加插槽的 sprite 作为参考,因此一共选中了 8 帧。

  3. Property Matrix 中选择每个 sprite(不含插槽),然后点击 + 添加插槽。

    AddSockets.png

  4. 展开元素 0,然后在 Socket Name 下将它们的命名设为第一个 sprite 的命名(在此例中为 HatSocket)。

    AddSockets2.png

  5. 打开 Local Transform,再打开 Translation,将 XYZ 的数值设为第一个 sprite 的数值。

    AddSockets3.png

  6. 在动画中打开每个 sprite,确保它们都已添加好插槽。

    AddSockets4.png

    可能需要调整每个 sprite 的插槽位置,确保其处在该帧中的所需位置。

现在,Flipbook 中每帧均附加了插槽,即可命令蓝图在插槽位置生成 actor。

通过蓝图访问 Sprite 插槽

  1. 在角色蓝图的 My Blueprint 窗口中点击眼睛图标和 Show Inherited Variables

  2. 单击左键 拖入角色的 Sprite 组件。

    Blueprint1.png

  3. Event Begin Play 节点的引出连线后添加一个 Spawn Actor from Class 节点(设为所需的 Actor 类)。

  4. Spawn Transform 使用 Make Transform 节点,在 Return Value 的引出连线后使用一个 Attach To 节点。

  5. Sprite 组件作为 In Parent 连接,在 In Socket Name 输入创建的插槽。

    Blueprint2.png

    设置与上图相似。例如,我们生成了一个名为 Hat_BP 的蓝图,此蓝图包含帽子的 Sprite 组件(此组件在我们创建的 HatSocket 位置上被附加到角色上)。我们已对待机的帧执行以上操作,然后再对奔跑的帧执行相同步骤,最后角色将头戴一顶帽子出现在游戏中(如下图所示)。

  6. 进行 编译 并在编辑器中进行游戏后,生成的 Actor 类将在插槽位置生成并成功附加。

可添加一个插槽到一个 sprite,并在插槽中附加任意数量的不同内容。Sprite 是否为 Flipbook 的一部分,是否已设置动画,以及插槽中的内容均完全取决于您的选择。