B站UP谌嘉诚课程:https://www.bilibili.com/video/BV164411Y732
蓝图通信
蓝图与蓝图之间 产生联系发生关系
自定义事件相当于自定义函数
角色加速(案例)
什么是类型转换?
1.转换到对应类里去操作对应类中的属性
2.类型转换具有针对性 触发盒子只针对小白人产生效果 其他进入盒子范围内不产生效果 进入CAST failed
1.新建蓝图actor 触发加速_BP
2.添加盒子触发器 添加组件重叠开始结束
3.添加类型转换 CAST TO thirdpersoncharacter
4.在小白人蓝图 添加图表 添加自定义事件 custom event
5.点击角色移动 寻找 walk speed 参数
6.拖入角色移动 添加 set max walk speed 最大速度连接自定义事件
7.回到触发加速蓝图内 调用小白人的触发加速的自定义事件 并更改参数 连线
小白人默认速度375
8.场景中放入触发加速蓝图 测试 小白人进入盒子触发器 会触发加速
变量引用
在其他图表中引用一个对象可以将它先提升为一个变量 在其他图表中在进行调用
设置变量的两种方式
方法一 提升变量
方法二 添加变量后设置
变量有效性
使用一个变量前一般需要添加 is valid 判断变量是否有效
因为有可能这个变量只是一个空值 不可用的 判断是否有值 可用
变量设置后一般需要进行赋值 提升为变量
物体自转
新建物体自转_BP
添加立方体 将立方体拖入蓝图 添加add local rotation 增加本地旋转
添加事件tick (每帧都会调用)
开启模拟游戏(上帝视角)游戏运行 不获得控制权
B+左键快速创建分支branch
添加自定义事件custom event并命名
添加 分支 和两个设置布尔变量 引用一个布尔变量
如果“是”,则“否”;如果“否”,则“是”
打开小白人蓝图 新建图标 控制物体自传
添加键盘1
新建物体自转_BP变量 拖入
物体自转_BP变量 引出物体自传的控制旋转事件
添加is valid 查看变量是否有效
增加print 调试是否是无效变量
将旋转物体拉入场景按1 打印hello 说明是无效变量 需要对自传物体引用进行赋值
打开眼睛 在场景中可以选择这个变量具体是哪个蓝图(可能会有很多个旋转蓝图的物体 需要指定)
在场景中 点击小白人 选择关联变量 使用吸管点击场景中的 旋转盒子 或者列表选择进行关联
不添加is valid会报错
点名系统
控制单个旋转
1.在场景中 放入多个自转物体mesh
2.添加get all actors of class 获取场景中所有该类ACTOR的演员(获取数组)
类搜索框无法输入中文 需要复制粘贴 建议取英文名字
3.必须先选择物体自转_BP类
4.再添加get 获取参数 引出物体自传的控制旋转事件 设置数组参数值
5.将键盘1移动 连线
6.运行游戏 按下键盘1 对应数值的物体自转
选中控件按键盘C 可以添加注释
控制所有物体旋转
在上面的基础上不使用get 而是用的是 for each loop 循环遍历所有的物体进行通信
参数说明
array index 正在执行数据的索引值
completed 结束后执行