在上一篇文章 《实现移动立方体》 中,我们使用编写的 C++ 类,并添加立方体组件,实现了移动的立方体。
我们之前学习过蓝图的操作。为了使这个 C++ 类,利用上蓝图可视化方便的优点,我们可以让蓝图类继承这个 C++ 类。
我们在“内容侧滑菜单”的“C++类”目录下,找到我们的 C++ 类。然后右击,选择 创建基于 ... 的蓝图类。
创建好蓝图类之后,会显示如图 1 所示,我们熟悉的蓝图类视口。我们可以在此视口里,使用现有的 Mesh 素材,创建想要的组件。此处,我们用多个墙壁制作了一个类似石柱的物体。并且在细节窗体中,把移动方向参数设置为上下移动。
细节窗体中,如果有参数信息和代码不同步,则需要关闭 UE 编辑器,用 VS 再编译一下项目。
我们想实现石柱上下移动的功能。原先我们实现的移动逻辑是,以当前位置为中间点,两边范围移动。但是现在物体的默认坐标点,在物体顶部边缘。按照现在的逻辑,石柱会缩到地底下。
为此,如代码清单 1 所示,对目前的移动逻辑进行了修改。移动逻辑修改为,从起点到移动向量方向上指定的距离。即变成单侧往返移动,而不是两侧。
最终实现的效果如下视频所示。