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

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

  • p40对象引用、变量有效性
  • p41实现键盘控制物体自转
    • 创建bool值控制旋转
    • 实现通过键盘控制自转
  • p42p43简单点名系统
    • Get All Actors Of Class(获得场景中所有该类的actor演员)
    • get
    • For Each Loop

p40对象引用、变量有效性

当在一个节点上需要连的线太多,或者需要连接到另一个图标中时,可以创建一个变量,把引脚传到变量里面,则此变量代替了节点的蓝图
操作方法1:新建一个变量,在变量类型里选择想要代替的蓝图
操作方法2:拉出蓝图引脚,选择提升为变量
注意:操作方法12创建出的变量都还没有赋值,只是代表原蓝图的一个概念,使用前要判断此变量是否是有效的

p41实现键盘控制物体自转

创建Actor蓝图类,添加一个立方体,在图表拉出立方体,拉出引脚搜索AddLocalRotation(添加本地自转)
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第1张图片
调整Delta Rotation即可调整选转角度(每1是1°)
直接连接只会旋转一次(如2只会旋转2°就会停下),本次目标为自转,所以需要有一个循环(就会旋转2°,旋转2°…),添加事件Tick会达成自转效果,每一帧旋转
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第2张图片

创建bool值控制旋转

如同连接,注意bool是否可以旋转不要勾选,因为目的是按键才能旋转,所以初始不能旋转
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第3张图片

实现通过键盘控制自转

创建自定义事件(控制是否可以旋转bool值什么时候是对什么时候为错)
创建分支节点和两个“set是否可以旋转”如下图
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第4张图片
也可以用flip flop
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第5张图片
flip flop和分支的区别是flip flop只能第一次执行A第二次执行B,循环往复有局限性,分支可以第一次执行A第二也次执行A,而且还可以改变初始的bool值对错,可拓展性强
打开玩家角色蓝图ThirdPersonCharacter,创建新图表”控制物体自转“,创建变量“自我旋转”,设置变量类型为”物体自转_BP“
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第6张图片
如同搜索蓝图连接
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第7张图片
?Is Valid蓝图在变量是有效时走Is Valid,无效时走Is Not Valid
编译保存会发现没反应,因为还没给引用的”自转物体“赋值
请添加图片描述
点亮眼睛,在视口选中玩家角色,会在细节面板找到默认-》自我选择
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第8张图片
选择键盘控制物体自转即可
或者点击吸管形状物体,在视口点击要进行控制自转的物体就会自动识别
请添加图片描述

p42p43简单点名系统

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

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

使用前先在Actor Class选择完类在拉出引线
用Get All Actors Of Class(获得场景中所有该类的actor演员),从Out Actors拉出引脚搜索“数组get”,复制“事件控制旋转”,如此可以实现按键随机在所有同类型物体里随机一个自转
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第9张图片

用Get All Actors Of Class(获得场景中所有该类的actor演员),从Out Actors拉出引脚搜索For Each Loop(对于每个循环),复制“事件控制旋转”,如此可以实现按键,使所有同类型物体自转
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第10张图片

get

获取场景中某一个该类的演员
请添加图片描述
想要执行第n个就在2的位置写n-1的数

For Each Loop

循环遍历场景中的所有该类的演员(和场景中的所有该类的演员都通信一次)
【蓝图】p40-p43对象引用、变量有效性、实现键盘控制物体自转、简单点名系统_第11张图片
completed:完成之后执行此节点
Array Index:当前循环的是第几个就传出个几(第二个传出个2)

你可能感兴趣的:(UE4入门教程,ue4)