蓝图:对象引用
在介绍如何在蓝图里使用对象引用之前,我们先了解一下物理模拟。
如图 1 所示,我们选择椅子,在细节窗口我们可以看到有一个 StaticMeshComponent 组件。一个 Actor 可以包含多种不同的组件,这些组件为 Actor 提供各种不同的功能。此处的 Static Mesh 组件,就是一个最基本的组件,它用于管理静态三维模型。
点击 Static Mesh 组件,可以看到有非常多的属性选项。选项可以筛选,我们选择“物理”标签,只看和“物理”相关的属性。我们勾选 模拟物理,就启用了该 Actor 的物理模拟。
默认 启用重力 是使能的,我们可以试着取消查看效果。可以在 质量(公斤) 处设置 Actor 的质量。
在这个实验里,我准备为左边的椅子、添加的方块、桌上的灯,启用物理模拟。针对椅子,我不启用重力。我想要的效果是,方块落下,把椅子掀翻,把灯碰倒。
我想自己控制方块下落的时机。我们可以在蓝图里响应事件,比如按下空格键,来启用方块的物理模拟。
思路是,首先获取方块这个类的引用,然后获取类下面的 Static Mesh 组件,最后把组件里的物理模拟属性设置为使能。
我们如何获取想要的 Actor 的引用呢?比如想获取方块的引用,我们先在视口中选中方块,然后回到蓝图界面。如图 2 所示,我们右击,会自动有一个 Create a Reference to Cube 选项。点击进行创建。
有了方块的引用之后,我们连接 Static Mesh Component 节点,获取其 Static Mesh 组件,再连接 Set Simulate Physics 节点,使能物理模拟。
以下是演示效果。可以看到方块下落碰倒了桌上的灯,然后椅子在失重情况下受力,飘向远方。