【蓝图】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)

相关推荐
北冥没有鱼啊3 天前
UE 使用事件分发器设计程序
游戏·ue5·ue4·游戏开发·虚幻
GR906 天前
UE4 踩坑记录
ue4
程序猿熊跃晖6 天前
解决 Unreal Engine 5.2 中服务器目标构建问题:从源码编译到项目配置优化
ue4
Ⅰㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 天前
开篇 - Unlua+VsCode的智能提示、调试
vscode·ue4·智能提示·unlua
吴梓穆16 天前
UE5学习笔记 FPS游戏制作33 换子弹 动画事件
笔记·学习·ue4
吴梓穆16 天前
UE5学习笔记 FPS游戏制作31 显示计分板
笔记·学习·ue4
吴梓穆17 天前
UE5学习笔记 FPS游戏制作28 显式玩家子弹数
笔记·学习·ue4
Deveuper19 天前
UE5 UE4 右键/最大化-菜单-不显示/闪/黑色/黑屏--修复方法
ue5·ue4
吴梓穆20 天前
UE4学习笔记 FPS游戏制作32 主菜单,暂停游戏,显示鼠标指针
笔记·学习·ue4
吴梓穆21 天前
UE4学习笔记 FPS游戏制作17 让机器人持枪 销毁机器人时也销毁机器人的枪 让机器人射击
笔记·学习·ue4