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

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所示,如果你完成了,请编译并保存蓝图。

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

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

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

时间: 2024-11-08 21:54:49

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

《Unreal Engine 4蓝图可视化编程》一第1章 使用蓝图进行对象交互

第1章 使用蓝图进行对象交互 Unreal Engine 4蓝图可视化编程 当开始开发一个游戏时,你想到的第一步应该是建立一个原型.幸运的是,虚幻引擎4和蓝图让基本的游戏功能实现起来比以往任何时候都更容易.这样用户便可以很快地开始测试自己的想法.为了让大家熟悉虚幻编辑器(Unreal Editor)和蓝图(Blueprint),我们将使用一些自带的资源和蓝图建立游戏玩法机制. 本章我们将学习以下内容. 创建新的项目和关卡. 在关卡中置入对象. 通过蓝图改变对象的材质. 使用蓝图编辑器链接所有的蓝

《Unreal Engine 4蓝图可视化编程》一导读

前 言 Unreal Engine 4蓝图可视化编程 游戏引擎(例如虚幻引擎4)作为强大的商业游戏的制作工具,越来越受传统游戏工作室以外的新老游戏开发者所欢迎.虚幻引擎为过去10年中发布的许多最受欢迎的控制台和PC游戏提供了动力,最新版本的虚幻引擎尽可能地包含了开发者所需的工具.这些工具中最具变革性的是蓝图可视化编程系统,其允许非专业程序人员创建和实现游戏机制.用户界面(User Interface,UI)和交互. 本书采用分步方法,指导读者使用可视化的蓝图节点构成蓝图行为,并将它们链接在一起以

《Unreal Engine 4蓝图可视化编程》一第2章 升级玩家的技能

第2章 升级玩家的技能 Unreal Engine 4蓝图可视化编程 在本章中,我们将通过修改玩家控制器(player character)蓝图,来扩展在第1章中创建的射击交互的核心部分.FPS模板中玩家控制器的蓝图--特别是当它与上一章相对简单的目标圆柱体的蓝图比较时--乍一看很复杂.我们将会分析玩家控制器蓝图并将它分解为很多部分,弄明白每个部分的功能,以及它们组合在一起时能够控制角色和射击的原因. 我们可以很容易且快速地使用现有的资源来照着搭建这个蓝图,甚至不需要花时间去思考它是如何完成这些

《Unreal Engine 4蓝图可视化编程》一1.7 小结

1.7 小结 本章通过UE4蓝图创建了第一个原型,迈出了游戏开发的第一步! 在本章中,利用FPS模板创建了一个工程和一个初始关卡.然后设置了一个目标,通过改变自身颜色来响应子弹的射击.最后,设置了一个蓝图,能够快速地创建很多移动的目标.读者在本章所学到的这些技巧,将为后续章节创建更加复杂的交互性行为打下扎实的基础. 你或许会希望花更多的时间来调试游戏原型,包括布局.目标移动速度.由于我们将继续游戏开发,后续很多时候都在候选效果面前徘徊并作出选择.蓝图可视化编程最好的地方就是可以快速地让用户测试自

《Unreal Engine 4蓝图可视化编程》一1.1 创建项目和关卡

1.1 创建项目和关卡 在开始创造游戏元素之前,我们需要创建一个项目,这个项目将包含游戏的内容.为了获取虚幻引擎4(Unreal Engine 4,以下简称UE4),并开始设定我们的项目,需要打开Epic Games launcher,通过它便可以从UE4官网下载UE4引擎.单击Epic Games launcher的UE4标签.如果你是第一次在你的计算机中使用虚幻引擎,你将会看到灰色的未安装(Not Installed)按钮.在Launcher的左侧,会看到一些选项. 工作标签可以让你选择已经

《Unreal Engine 4蓝图可视化编程》一2.3 添加音效和粒子效果

2.3 添加音效和粒子效果 既然我们已经拥有了更好的玩家移动和射击属性,将我们关注的点转向敌方目标.现在的效果是射击目标圆柱体后圆柱体会变成红色.然而,目前没有任何可以被玩家完全摧毁的目标. 我们可以通过添加蓝图逻辑来添加更多的与目标之间的交互,比如在击中目标两次及以上时销毁物体,同时增加玩家的奖励,一旦目标被摧毁,就产生一个令人满意的声音和视觉效果. 2.3.1 为目标状态添加分支 我们需要保证CylinderTarget蓝图中有使目标圆柱体的状态变化逻辑.打开Blueprints文件夹中的C

《Unreal Engine 4蓝图可视化编程》一1.4 创建第一个蓝图

1.4 创建第一个蓝图 现在游戏世界中放置了一个圆柱体,在当圆柱体被击中时,我们需要为圆柱体赋上前一节创建的材质.最后一个交互是游戏逻辑判断圆柱体被选择,然后将圆柱体的材质改变为红色材质.为了创建这一行为并添加到圆柱体上,我们需要创建一个蓝图.创建蓝图的方式有很多种,但是为了简便,我们可以创建蓝图并直接添加给圆柱体.为此,确保在场景中选中了CylinderTarget对象.单击细节面板顶端的蓝色蓝图/添加脚本(Blueprint/Add Script)按钮,将可看到路径选择窗口. 在这个项目中,

《Unreal Engine 4蓝图可视化编程》一2.2 制作瞄准镜效果

2.2 制作瞄准镜效果 现代FPS的核心元素就是以瞄准镜的形式将FOV(field of view,视野)呈献给玩家.这是一个很重要的因素,给游戏带来了精确感和控制感.现在将这一功能的简化版添加到项目中. 在事件图表中靠近Mouse input节点组的空白区域单击鼠标右键,搜索输入动作Zoom(InputAction Zoom)触发器节点并添加.我们希望修改FirstPerson- Camera组件中的FOV值,于是到组件面板中找到FirstPersonCamera并将它拖入事件图表中. 从Fi

《Unreal Engine 4蓝图可视化编程》一2.1 通过扩展蓝图添加加速技能

2.1 通过扩展蓝图添加加速技能 开始探索FirstPersonCharacter蓝图,以使玩家在关卡中移动时拥有更多的战术选项.没做修改前,玩家还只是局限在一个速度进行移动.我们可以通过蓝图节点监听按键的动作来进行调整,将调整移动速度功能附加在CharacterMovement蓝图组件中. 2.1.1 分解角色移动蓝图 现在我们打开FirstPersonCharacter蓝图.它与第1章的Cylinder- Target_Blueprint蓝图位于同一个文件夹下.在内容浏览器中找到FirstP