【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统

p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统

p40对象引用、变量有效性

当在一个节点上需要连的线太多,或者需要连接到另一个图标中时,可以创建一个变量,把引脚传到变量里面,则此变量代替了节点的蓝图

操作方法1:新建一个变量,在变量类型里选择想要代替的蓝图

操作方法2:拉出蓝图引脚,选择提升为变量

注意:操作方法12创建出的变量都还没有赋值,只是代表原蓝图的一个概念,使用前要判断此变量是否是有效的

p41实现键盘控制物体自转

创建Actor蓝图类,添加一个立方体,在图表拉出立方体,拉出引脚搜索AddLocalRotation(添加本地自转)

调整Delta Rotation即可调整选转角度(每1是1°)

直接连接只会旋转一次(如2只会旋转2°就会停下),本次目标为自转,所以需要有一个循环(就会旋转2°,旋转2°...),添加事件Tick会达成自转效果,每一帧旋转

创建bool值控制旋转

如同连接,注意bool是否可以旋转不要勾选,因为目的是按键才能旋转,所以初始不能旋转

实现通过键盘控制自转

创建自定义事件(控制是否可以旋转bool值什么时候是对什么时候为错)

创建分支节点和两个"set是否可以旋转"如下图

也可以用flip flop

flip flop和分支的区别是flip flop只能第一次执行A第二次执行B,循环往复有局限性,分支可以第一次执行A第二也次执行A,而且还可以改变初始的bool值对错,可拓展性强

打开玩家角色蓝图ThirdPersonCharacter,创建新图表"控制物体自转",创建变量"自我旋转",设置变量类型为"物体自转_BP"

如同搜索蓝图连接

?Is Valid蓝图在变量是有效时走Is Valid,无效时走Is Not Valid

编译保存会发现没反应,因为还没给引用的"自转物体"赋值

点亮眼睛,在视口选中玩家角色,会在细节面板找到默认-》自我选择

选择键盘控制物体自转即可

或者点击吸管形状物体,在视口点击要进行控制自转的物体就会自动识别

p42p43简单点名系统

p41中的物体数量多时,想让其同时自转,需要的连接太多了,需要简单点名系统

Get All Actors Of Class(获得场景中所有该类的actor演员)

使用前先在Actor Class选择完类在拉出引线

用Get All Actors Of Class(获得场景中所有该类的actor演员),从Out Actors拉出引脚搜索"数组get",复制"事件控制旋转",如此可以实现按键随机在所有同类型物体里随机一个自转

用Get All Actors Of Class(获得场景中所有该类的actor演员),从Out Actors拉出引脚搜索For Each Loop(对于每个循环),复制"事件控制旋转",如此可以实现按键,使所有同类型物体自转

get

获取场景中某一个该类的演员

想要执行第n个就在2的位置写n-1的数

For Each Loop

循环遍历场景中的所有该类的演员(和场景中的所有该类的演员都通信一次)

completed:完成之后执行此节点

Array Index:当前循环的是第几个就传出个几(第二个传出个2)

相关推荐
小江村儿的文杰10 天前
UE4 UAT 的六大流程 build cook stage pacakge archive deploy 与UAT的参数
ue4
小江村儿的文杰10 天前
UE4 Rider调试时添加自定义命令行参数
ue4
小江村儿的文杰12 天前
UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
macos·ue4
小江村儿的文杰12 天前
理解UE4中C++17的...符号及enable_if_t的用法及SFINAE思想
数据结构·c++·ue4
小江村儿的文杰12 天前
UE4 Mac构建编译报错 no member named “disjunction” in namespace “std”
ue4
小江村儿的文杰13 天前
UE4 Rider如何直接调试PC DebugGame
ue4
DongDongBaJiaYou24 天前
UE5打包,LoadObject加载不出网格|动画
ue5·ue4·虚幻·虚幻引擎
二DUAN帝2 个月前
UE实现路径回放、自动驾驶功能简记
人工智能·websocket·机器学习·ue5·自动驾驶·ue4·cesiumforue
3A是个坏同志3 个月前
UE4手动实现billboard效果让物体始终面向相机正面
ue4
致命的邂逅4 个月前
UE4游戏查找本地角色数据的方法-SDK
游戏·ue4