- 蓝图类(Blueprint Class)
蓝图类是创建门、开关、可收集物品、可摧毁场景等交互资源的理想类型,包括组件,数据,功能脚本,封装成蓝图类可实现在关卡蓝图中多次创建实例使用。可添加几何体,摄像机,灯光,碰撞,粒子,UI等多种组件,具备继承特性即父类数据、脚本可被子类继承。
Construction Script构造脚本是在编辑器中创建蓝图类实例或对实例进行修改的时候会自动触发
Set Active设置组件**状态
Set Visibility设置组件是否可见
修改文本:
如需修改包含继承关系的每个蓝图实例的文本内容
可创建String变量点击眼睛使其为公有变量 可在场景编辑器中直接修改
Set Text设置文本内容
ConstructionScript实时修改 更直观快速
⚠️蓝图类无法直接在图表右键引用场景中的实例,需使用公有变量在场景中拾取相应类型实例
⚠️在蓝图类图表调用关卡蓝图中事件用ConsoleCommand 反过来则无效
继承的意义:修改父类,子类随之发生变化;修改子类,父类不受影响
-
发报机(Event Dispatcher)
作用:把一个事件的逻辑拆开成多个或者在多个图表中实现
途径:1.通过发报机实现蓝图类 关卡蓝图之间的事件绑定;2.关卡蓝图 蓝图类之间互相调用发报机
Bind绑定事件到发报机
Call调用发报机
Unbind解绑定
Unbind All
Event创建事件
Assign创建发报机并绑定事件
Create Event 把函数转变成事件 -
接口(Interface)
作用:同一接口可经由不同蓝图类调用来实现不同功能
案例:鼠标拾取
LineTraceByChannel 射线检测
ConvertMouseToWorldSpace 鼠标平面位置转换至世界三维空间
Show Mouse Cursor 显示光标模式 Get和Set
UMG 虚幻动态图形 UI 设计器
Widget 界面控件
Create Widget创建界面控件
Add to Viewport显示到场景
Set Input Mode UI Only输入模式仅支持UI不支持游戏(视角 按键等)控制
Set Input Mode Game Only输入模式仅支持游戏控制
Set Input Mode Game And UI输入同时支持UI和游戏控制
鼠标拾取接口创建及实现:
1 在内容浏览器创建接口Blueprint Interface,添加函数
2 打开需要调用该接口的蓝图类编辑器-选中Class Settings-点击Interfaces下方Add添加刚创建的接口-在图表中添加相应接口函数事件并实现功能
3 在实现鼠标拾取功能的蓝图类中调用接口,将拾取对象转换至接口并调用接口函数
Cast to XXX 强制转化至指定类型
Does Implement Interface判断拾取对象是否已经实现接口
鼠标拾取案例
1、点击物体打印Hello

2、点击物体**粒子组件
Toggle Active 切换组件**状态

⬇️