方法一: 可以通过 获取资产注册表(Get Asset Registry) + 按路径获取资产(Get Asset by Path) 获取路径下的所有类型资产;
通过 获取完整名称(GetFullName) + 包含(Contains) 筛选需要的资产;
通过 获取资产(GetAsset) 获取资产对象
资产对象的属性:
方法二: 可以通过 获取资产注册表(Get Asset Registry) + 按对象路径获取资产(Get Asset by Object Path) 直接获取想要的资产对象;
再通过 获取资产(GetAsset) + cast 将资产对象转换为需要的对象类型;
注意:资产路径的格式:
map : World'/Game/Maps/NewWorld.NewWorld' 蓝图类 : 要加 _C 例如 Blueprint'/Game/Blueprints/MySpringArmPawn.MySpringArmPawn_C' 参考:
UE4 | BP | 使用蓝图获取Uasset资源 关于UE4动态资源加载(蓝图类)
蓝图接口(Blueprint Interface) 是一个或多个函数的集合——只有名称,没有实现。
由于接口函数没有实现,作为设计人员,所能做的就是指定一系列类型化输入和输出。
蓝图接口也有一定的局限性:
不能包含变量 不能编辑图表 不能添加组件 其他蓝图类 Actor 实现蓝图接口:
在 类设置 中添加接口
参考:
蓝图接口 【教程】UE4中接口的使用–蓝图篇(一)
所有可以放入关卡的对象都是 Actor,比如摄像机、静态网格体、玩家起始位置。
Actor支持三维变换,例如平移、旋转和缩放。
可以通过游戏逻辑代码(C++或蓝图)创建(在蓝图中使用 从类生成Actor 节点)或 销毁Actor。
每一个 Actor 均有一个 DefaultSceneRoot 组件,它是默认情况下的场景组件(SceneComponent),该组件不支持可视化,在场景中是看不到的,也不可分配网格,只是 Actor 的默认场景根。
Actor 必须有一个默认场景根。可以使用其他的组件替换默认场景根,但是只要删除所有的其他组件,场景默认根(DefaultSceneRoot)就会自动显示,这个变量名是系统保留,不能用来命名他组件。
当设置Actor的位置、旋转、缩放时,同时也在设置默认场景根的位置、旋转、缩放。
注意:
Actor 不直接保存变换(位置、旋转和缩放)数据,只是一个可以挂载Component的类而已 在某种意义上,Actor 可被视为包含特殊类型 对象(称作组件 Component)的容器 如果 Actor 的根组件存在,则使用它的变换数据 参考:
Actors UE4-Actor
Actor
Actor 是可以放到关卡中的任何对象,例如摄像机、静态网格体或玩家出生点位置
Actor 支持 3D 变换,例如转换、旋转和缩放
Actor 在 UE 中是只是一个可以挂载 Component的类而已。所以,需要挂载组件的时候,才应该继承自 Actor 类。很多时候,写一个 Manager 或者一个 Data 又或者只是解析一个Config,只需要写一个 C++ 类就可以了
可以通过 gameplay 代码(C++ 或蓝图)创建(生成)或销毁 Actor,在蓝图中使用 从类生成Actor 节点,生成后就自动添加到场景中并能在场景中看到
Pawn
Pawn 是 Actor 的子类,作为游戏内的形象或人像(例如游戏中的角色)。玩家或游戏的 AI 可以控制 Pawn,将其作为非玩家角色(NPC),可以理解为在游戏中的肉体。
Character
角色(Character) 是计划用作玩家角色的 Pawn Actor 的子类。角色子类包括碰撞设置、双足运动的输入绑定以及用于玩家控制动作的其他代码 相比于 Pawn 类,Character 类提供了一个Movement 组件,这个组件提供了角色移动基本逻辑功能,包括角色的移动和跳跃,还可以依据需求扩展出不同的移动状态,比如爬行、蹲伏 当对象逻辑简单、不需要过多的逻辑动作(比如方块、飞船)那么可以选择继承 Pawn 而不是继承 Character 类 Controller...
函数调用会等待函数执行结果,事件调用只是触发但不会等待
事件是异步执行,触发后,会在新的线程中执行,所以可以使用 Delay,函数和宏的调用是同步执行,是单线程的,所以在函数中不能使用 Timeline、Delay 和 Http 请求 等操作。
事件没有返回值,函数和宏可以有返回值
函数和事件可以跨蓝图类访问,而宏只可以在定义的蓝图类内访问(宏库可以跨蓝图类访问)
函数可以用局部变量,事件没有局部变量
因为函数执行顺序有保证,所以优先使用函数
函数可以被继承,而宏不可以被继承,子类无法使用父类的宏
没有返回值的函数,在被子类 Overide 时,会变成事件
参考:
UE4蓝图之函数、事件、宏的区别 【UE4笔记】Event&Function事件和函数的区别 [UE4]函数和事件的区别