蓝图转换范例

此页面讲述如何使用蓝图转换与不同的蓝图进行交流并共享信息。在此例中玩家可对物体进行射击,每次命中后均会使其变小。每次命中物体时还将告知角色蓝图并增加玩家的移动速度。

此指南使用启用 新手内容Blueprint First Person 模板。

  1. 视口 中选择一个 EditorCube 网格体,然后在 Details 面板中点击 Blueprint/Add Script 按钮。

    Casting1.png

  2. 确认窗口出现后,将命名改为 LargeCube_Blueprint,点击 Ok 重命名并创建蓝图

  3. 打开 内容浏览器Content/FirstPersonBP/Blueprints 文件夹下的 FirstPersonProjectile 蓝图。

    Casting2.png

    这是游戏进程中玩家武器开火时转换物的蓝图

  4. 找到 Event Hit 节点,拖动 Other 引脚的引出连线,然后搜索并添加 Cast To LargeCube_Blueprint 节点。

    Casting3.png

    Event Hit 节点上,Other 引脚代表命中的其他 Actor。使用 Cast To 节点可进行检查,确定 LargeCube_Blueprint 是否即为命中的其他 Actor。如是,即可对其进行访问,并在蓝图中执行事件或函数、变更其中的变量值、或变更蓝图中的组件属性。

  5. As Large Cube Blueprint 引脚的引出连线后,使用 Get Static Mesh ComponentSet World Scale 3D,然后以下图中的方式进行连接。

    Casting4.png

    Add Impulse at Location 之后,将转换到 Large Cube 蓝图并获取其中的静态网格体(实际的立方体),然后再为其设置一个新的 World Scale 3D 值。当前 New Scale 设为 0,然而每次命中 Large Cube 蓝图后,其尺寸均会缩小。

  6. Static Mesh Component 的引出连线后,使用 Get World Scale 并连接到一个 Vector * Float 引脚(设为 0.5),然后插入 New Scale

    Casting5.png

    此操作将获取立方体当前的世界场景比例,并在每次命中时将其乘以 0.5(或将其当前大小减半),以缩小其大小。

  7. 在图表中 右键单击 并添加一个 Get Player Character 节点,之后从 Return Value 连出引线到 Cast To FirstPersonCharacter

    Casting6.png

    此处检查玩家角色是否使用 FirstPersonCharacter 蓝图(此模板默认的蓝图)。执行此操作后即可访问玩家角色的事件、函数、变量或属性并进行修改。

  8. Set World 3D 节点和 Cast To FirstPersonCharacter 节点连接起来。

  9. As First Person Character 引脚之后添加 Get Character Movement 节点。

    Casting7.png

    命中 Large Cube 后将对角色的速度进行调整,使角色加快奔跑速度。

  10. Character Movement 节点的引出连线后,添加 Set Max Walk SpeedGet Max Walk Speed 节点。

  11. Get Max Walk Speed 节点的引出连线后,使用 Float + Float 节点(设为 200),然后将其和 Set Max Walk Speed 引脚连接起来。

    Casting8.png

    将节点以下图中的方式连接后,每次命中立方体时玩家角色的移动速度便会加快。

  12. 将两个 Cast To 节点的 Cast Failed 引脚和 Destroy Actor 节点连接起来。

    Casting9.png

    当玩家命中的对象不是 Large Cube 时,仍需调用 Destroy Actor 节点销毁转换物。当命中 Large Cube 的不是 First Person Character 时,仍需销毁转换物。

  13. 转换物蓝图的结束顺序和下图相似。

    点击图片查看全图。

    为便于查看,我们使用 Reroute Nodes 对线条的分布进行了调整,但连接方式须保持一致。

  14. 点击 CompileSave,然后点击 Play 按钮在编辑器中进行测试。

    每次命中 Large Cube 蓝图时,其均会变小,角色移动速度将加快。

    如需了解 转换 的更多内容和案例运用,请查阅下方的 相关页面 部分。

Tags