蓝图转换范例
使用蓝图转换,从一个蓝图到多个蓝图进行通信。
此页面讲述如何使用蓝图转换与不同的蓝图进行交流并共享信息。在此例中玩家可对物体进行射击,每次命中后均会使其变小。每次命中物体时还将告知角色蓝图并增加玩家的移动速度。
此指南使用启用 新手内容 的 Blueprint First Person 模板。
1.在 视口 中选择一个 EditorCube 网格体,然后在 Details 面板中点击 Blueprint/Add Script 按钮。
2.确认窗口出现后,将命名改为 LargeCube_Blueprint,点击 Ok 重命名并创建蓝图。
3.打开 内容浏览器 中 Content/FirstPersonBP/Blueprints 文件夹下的 FirstPersonProjectile 蓝图。
这是游戏进程中玩家武器开火时转换物的蓝图。
4.找到 Event Hit 节点,拖动 Other 引脚的引出连线,然后搜索并添加 Cast To LargeCube_Blueprint 节点。
在 Event Hit 节点上,Other 引脚代表命中的其他 Actor。使用 Cast To 节点可进行检查,确定 LargeCube_Blueprint 是否即为命中的其他 Actor。如是,即可对其进行访问,并在蓝图中执行事件或函数、变更其中的变量值、或变更蓝图中的组件属性。
在 Add Impulse at Location 之后,将转换到 Large Cube 蓝图并获取其中的静态网格体(实际的立方体),然后再为其设[图片上传中...(Snipaste_2021-05-28_03-35-11.jpg-8e4e54-1622144120391-0)]
置一个新的 World Scale 3D 值。当前 New Scale 设为 0,然而每次命中 Large Cube 蓝图后,其尺寸均会缩小。
6.在 Static Mesh Component 的引出连线后,使用 Get World Scale 并连接到一个 Vector * Float 引脚(设为 0.5),然后插入 New Scale。此操作将获取立方体当前的世界场景比例,并在每次命中时将其乘以 0.5(或将其当前大小减半),以缩小其大小。
7.在图表中 右键单击 并添加一个 Get Player Character 节点,之后从 Return Value 连出引线到 Cast To FirstPersonCharacter。此处检查玩家角色是否使用 FirstPersonCharacter 蓝图(此模板默认的蓝图)。执行此操作后即可访问玩家角色的事件、函数、变量或属性并进行修改。
8.将 Set World 3D 节点和 Cast To FirstPersonCharacter 节点连接起来。9.在 As First Person Character 引脚之后添加 Get Character Movement 节点。
命中 Large Cube 后将对角色的速度进行调整,使角色加快奔跑速度。
10.在 Character Movement 节点的引出连线后,添加 Set Max Walk Speed 和 Get Max Walk Speed 节点。
all
网友评论