虚幻5基础,虚幻5蓝图基础,虚幻5蓝图零基础入门(已完结)
虚幻5主要增加了动态全局光照和natie
所有都是actor
end 键 下落到地面


关卡蓝图基本界面

- 类型:
事件节点(自己创建的事件)
功能节点(旋转,角色移动等)
变量节点
引用节点(一个对象放到场景中)
紫色:函数的定义
红色:事件的定义
蓝色:调用的函数或事件
灰色:宏、封装的节点、控制流
绿色:纯函数,通常用于获取什么
青色:试着对象转换
土黄色:时间轴
暗蓝色:结构体
草绿色:流程切换
白色:执行线
2.蓝图节点

图标操作方式
添加节点方式
- 事件节点
由系统调用的
事件开始运行-开始后执行一次
事件-tick-项目开始后实时运行
delta seconds 两次tick的间隔时间
打印字符串
复制节点 cc d
- 变量
用于存储值,可以给变量命名
同一个数据反复使用
变量类型有很多


只读蓝图 不能设置值
变量类型 数组或者单个
私有 向过场动画公开
私有
获取变量- ctrl
设置变量-修改数值 alt

使用设置
用在需要条件判断的时候

数值之间的+-*/

可以添加引脚
alt左键 断掉
可以通过变量赋值给自己

c键 注释内容 相当于 给函数起名

命名、文本、字符串
命名-打印字符串(给游戏对象命名)
文本-打印文本
字符串可以附加字符串
文本是字符串的加强版
有方向 有长度的数据
vector
可以设置数值
向量可以直接连接
创建向量节点或者右键向量 分割结构体引脚
对单个向量赋值

可以勾选情景关联
向量+向量
向量x向量
遵循高中数学运算
绕着xyz旋转的参数
(向量是沿着xyz方向的)
变换(包含位置 旋转 缩放)
拉出引脚创建变换

操作对象
1 选中 2在关卡蓝图中创建对象实例 3设置变换
新点-创建

添加世界变换节点(相对添加)
设置变换后 对象要设置为可移动

只有在关卡蓝图中才可以
变量的类别可以命名为基础 运算 等

加减乘除求余节点
求余(防止数组的下标xx)
number类型:大于 等于 小于 不等于 节点 输出布尔值(true false)

字符串类型:运算符不能用,要用equal exactly节点(快捷键三个=)

向量 :使用运算符
变换类型:判断是否在坐标原点
字符串 拼接 使用附加节点
1获取键盘输入
2获取鼠标按键输入
键盘输入方法
键空格 QWER

按下press 释放release

鼠标获取方法
鼠标左/右键

分支(branch)节点 判断条件是否满足
当年龄大于18时,真(显示已成年可以通过)
or 未成年 不能通过

condition的输入节点需要是布尔类型(TRUE,FALSE) 常接在比较运算节点的后面

序列节点
主要作用是便于管理
先0 再1 再2 再3等


forloop 节点 执行指定次数功能
forloopwithbreak 节点 可以中断循环的节点
forloop

index的值,即为第几次
判断是否在index在first index和last index之间
在之间 执行循环体(loop body)
index小于3的时候 打印字符串,不小于3的时候终止循环 什么都不做了

双击 打一个连接点调整布局


whileloop节点
死循环的危害 :1系统被卡死 2循环被卡死
所以一定要给终止条件
字符串的拼接
小花 今年 18 岁
附加节点
可以把多个字符串拼起来

自己赋值给自己

++快捷键 就是自身增加1


do N节点
counter (当前执行的第几次)

适用于换子弹功能
do once节点
只执行一次(手榴弹 或者技能释放一次)
start close关闭的话 要先按右键
翻转节点 AB之间来回执行

gate节点
toggle【切换】(打开的关闭 关闭的打开)
start closed 默认关闭
单独设置输入的键 再控制打开或者关闭

multi gate节点

依次执行输出
输出节点可以添加 可以循环 随机
类似于三连发 三段攻击
is random 是三次的依次随机抛出去
start index 默认1 从out 0开始

多个相同类型数据的集合

数组内部需要添加数据

1.下标 用于获取数组元素非负整数 从0开始 数组长度-1结束(就是序列号顺序
)
2.获取数组元素 通过
get 节点
复制 获取公用子弹
引用 捡子弹
获取第几个元素 就输入几

三个节点 查找项目 获取数组长度 获取数组最后一个元素下标
find和 get
get是寻找座位号 输出座位上的东西
find是寻找座位上的东西 输出座位号
三个节点
添加 移除 是否包含
插入数组元素 insert
上面是数字 下面是下标(序号 内容加在序号上面)
移除元素
判断数组中是否存在指定元素
红色的连接点常为判断
常用作增删查改
可以用作一个一个移除(点一下 删除一个数值)

for each loop节点
专门针对数组设计 不用再去获得数值(不用get)
遍历(依次对每个节点都进行依次访问)
每个人报一下名字

for each loop with break

找到了 就停止搜找了

创建数组节点

随机节点
设置材质节点

复制一份关卡 放到自己的文件夹里(便于管理)
编辑-项目设置-地图和模式
编辑器开始地图-开始的地图
游戏默认地图(游戏开始的地图)

有视口 有组件

新建actor
添加静态网格体组件 -拖拽
创建材质实例数组
可编辑实例(是否在细节面板显示)

放在关卡中才能显示细节

场景氛围制作
- 随机显示颜色(开始写程序逻辑 进入事件图表)
设置材质
数组添加 随机项目节点
- 创建玩家开始的位置-

添加第一人称角色-设置为默认的pawn类
- 从0创建
创建角色蓝图类(多了一些组件)

给胶囊体组件添加摄像机(给视角,胶囊是身体) 调整下位置
在摄像机下面添加骨骼网格体组件-在细节面板设置(第一人称是手臂)
选择一个动画蓝图(第一人称)
角色基本创建完成
受控制的对象 不一定是角色 角色是一种pawn类


添加移动输入节点

获取actor向前向量
获取actor向右向量
添加控制器yaw(偏航)输入:
设置角色在z轴旋转(左右转)
添加控制器pitch(抛)输入节点:
设置角色在y轴旋转(低头抬头)
(虚幻的x是前后 y是左右)
输入轴moveforward
输入轴moveright
输入轴turnright
输入轴lookup
输入轴moveforward
axis的值
w键 1
s -1
连接添加移动输入节点
turnright/left mouse节点
移动x轴
摄像机(使用pawn控制旋转)
本质控制的是胶囊体组件 而不是摄像机 摄像机被动前后左右
但是向上朢的时候 摄像机没动

前后移动逻辑

左右移动逻辑

控制左右旋转 上下旋转


设置为根节点-直接拖拽
添加球形碰撞

生成actor节点
引用枪
生成actor -设置蓝图类
连接获取 actor变换节点
可以在外面调整位置


添加actor世界旋转
给事件tick 旋转每帧2度


other actor只是类型 要通过类型转换为
进行转换
将actor附加到组件节点
设置父级的骨架网格体
设置插槽(位置)
变换对齐到目标
逻辑是:一碰撞 就转换成了另一个蓝图类的组件
获取skeletal mesh节点
将自己添加到骨骼网格体上
找到动画蓝图上的插槽 复制过去

(一定要这样 找了半天才搞定)
让枪停止旋转
添加个布尔值
是否碰撞
发生碰撞 就是is collision true

动态创建子弹

发射物移动组件节点
创建蓝图类 bullet_bp
添加静态网格体作为根组件 设置小球 设置材质
添加发射物移动组件
设置抛射物的 初始速度和最大速度 重力范围0.1


自定义事件 一个事件即为一个功能
蓝图内部和跨蓝图 和触发事件调用
制作fire的映射(即按哪个键 执行fire事件)
项目设置-输入-绑定-操作映射

基础的定义键
轴映射包括-1,1
操作映射 只触发一次
添加 fire 指定按键 鼠标左键
添加自定义事件
持有变量

