【蓝图】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 天前
UE4 PSO介绍四:PSO Precache
ue4
小江村儿的文杰4 天前
UE4 PSO介绍三:认识.scl.csv
ue4
小江村儿的文杰5 天前
UE4 PSO介绍二:认识.rec.upipelinecache
ue4·pso
小江村儿的文杰5 天前
UE4 PSO介绍一:PSO的定义(编辑中)
ue4·pso
njsgcs6 天前
ue4 我的ai要用到的一下方法汇总 + ue的ai编程助手
ue4
神米米6 天前
Maya快速安装UE4 布料权重绘制插件PhysX导出apx
游戏引擎·ue4·maya
njsgcs6 天前
ue4 开放exec接口 vscode mcp铺垫 unreal.register_slate_post_tick_callback
ide·vscode·ue4
每天回答3个问题6 天前
Lua 函数教程
开发语言·ue5·ue4·lua
每天回答3个问题7 天前
Lua Table(表)
开发语言·ue4·lua·虚幻引擎
小江村儿的文杰8 天前
UE4 Cook流程中IdenticalUncookedPackages的含义,以及一种“资源未打包”情形的解释
ue4·cook