《Unreal Engine 4蓝图可视化编程》一1.6 改变目标方向

简介:

本节书摘来异步社区《Unreal Engine 4蓝图可视化编程》一书中的第1章,第1.6节,作者: Brenden Sewell 译者: 陈东林 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 改变目标方向

如果现在编译、保存蓝图,然后开始测试游戏,你期待看到什么结果?目标圆柱体会在游戏开始的时候根据设定的速度和方向移动。然而,由于我们没有任何引起目标停止运动的指令,所以目标圆柱体将随着游戏运行一直移动,甚至会穿越场景中的对象。为了解决这个问题,我们需要一个逻辑来周期性的改变目标的方向。这将使目标像移动的标靶一样,在两点之间规律地来回移动。

我们需要设置两个节点,为方向变量设置两个不同的值。拖曳direction变量至事件图表的空白区域并选择设置,生成一个有X、Y、Z坐标的节点。我们可以用它来改变direction变量的值,使这个值与我们赋予的初始值不同。我们希望有两个这种类型的节点,再拖曳direction变量至空白区域生成另一个节点,将这两个节点的Y轴的值分别设为10和-10。

现在我们需要一个方法在这两个节点之间转换,使方向就会重复地改变。希望两组动作(action)在每次切换之前交替执行一次时,可以使用FlipFlop节点。这适用于我们这个项目,所以鼠标右键单击事件图表的空白区域搜索“FlipFlop”,选择并放置好节点,然后与刚创建的两个direction节点连接。

最后,我们需要确保在执行方向转换之间有一些延迟。否则,方向将会在每一帧都改变,目标对象也就不会移动了。为了实现这一步骤,从FlipFlop节点的执行引脚拖出引线至空白区域,搜索Delay节点。这个节点将允许我们设置一个以秒为单位的延迟时间,而在这个节点以后的执行命令将会被延迟这段时间后执行。将Delay节点放在Set Actor Transform节点和FlipFlop节点之间,设置延迟时间为6秒。在6秒的延迟后,执行FlipFlop的转换功能。最终的结果如图1.30所示,如果你完成了,请编译并保存蓝图。


30

测试移动的目标
现在我们已经将蓝图更新过了,可以测试查看目标圆柱体对象是否按照预期进行移动。首先,我们需要将目标圆柱体对象放在Y轴方向上没有障碍物的地方,确保在Y轴上运动不会与其他物体碰撞,这里采用的坐标是(410,680,180),仅供大家参考。

单击播放按钮,如果蓝图正常工作的话,你将会看到圆柱体在两个定点之间来回的移动。

使用蓝图的优点之一是它创建了一个功能性模板,这个模板可以被场景中的很多对象进行使用。在Blueprints文件夹中找到CylinderTarget_Blueprint并将它直接拖到3D视图中,可创建另一个继承原始目标圆柱体功能的圆柱体。通过这个方法,我们通过仅仅使用设置蓝图逻辑,就可以快速地创建很多移动的目标。

相关文章
|
9月前
|
缓存 图形学
游戏通用解决方案之红点设计
游戏通用解决方案之红点设计
261 0
|
4月前
|
移动开发 JavaScript 前端开发
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(上)
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)
47 0
|
4月前
|
JSON 定位技术 API
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【规划公交路线、规划步行路线、定位、自定义视角动画、账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置】(五)-全面详解(学习总结---从入门到深化)
33 0
MIKE 21 教程 1.2 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具)
MIKE 21 教程 1.2 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具)
|
11月前
|
定位技术 API 图形学
unity-2D游戏官方案例--带视频案例(1)(层级渲染,物理碰撞,粒子动画,UI等多位基础一体化)
unity-2D游戏官方案例--带视频案例(1)(层级渲染,物理碰撞,粒子动画,UI等多位基础一体化)
133 1
|
12月前
|
存储 人工智能 弹性计算
大模型之外,阿里云对未来的真正布局是什么?
大模型之外,阿里云对未来的真正布局是什么?
353 0
|
JavaScript 数据可视化 NoSQL
D3.js 力导向图的显示优化(二)- 自定义功能
在本文中,我们将借助 D3.js 的灵活性这一优势,去新增一些 D3.js 本身并不支持但我们想要的一些常见的功能:Nebula Graph 图探索的删除节点和缩放功能。
774 0