UE_C++ —— UE反射系统

Unreal Engine Reflection System是通过各种宏来封装类,以提供引擎和编辑器功能;当使用UE编程时,可使用标准的C++类、函数和变量;

  • UE中对象的基类是UObject,每个类都定义了一个模板(用于新Actor或对象);
  • 可使用UClass宏来标记从UObject派生的类,以便UObject handling system注意到它们;
  • TSubclassOf是一个提供类型安全的UClass模板类,对赋加类(从特定类型派生的类)非常有用,如可把变量公开给蓝图,设计者可赋加特定武器类(为玩家角色指定生成);
  • 类可包含structs,structs是可帮助组织和操控其相关成员属性的数据结构,可使用**USTRUCT()**宏来单独定义;
  • Unreal Smart Pointer Library是C++11智能指针的自定义实现,旨在减轻内存分配和追踪的负担;包含行业标准的 Shared Pointers、Weak Pointers、Unique Pointers、Shared References(非空共享指针);
  • Interfaces提供可以在多个或不同的类中实现函数和额外的游戏行为;玩家角色可以与世界中的各种Actor互动,每个互动都能引起对一个事件的不同反应;
  • Metadata Specifiers控制classes、interfaces、structs、enums、functions,或properties与引擎和编辑器各方面的交互方式;每一种类型的数据结构或成员都有自己的元数据说明符列表;
  • UFUNCTIONUPROPERTY宏使UE能注意到新的类、函数和变量,这些宏由引擎进行垃圾回收;在指定宏时可,可在UE内编辑和显示它们;
  • Objects
  • Properties
  • Structs
  • TSubclassOf
  • Unreal Interfaces
  • Metadata Specifiers
  • UFunctions
  • Unreal Smart Pointer Library
相关推荐
妙为11 天前
unreal engine5角色把敌人 “挤飞”
游戏引擎·虚幻·ue·unrealengine5
曼巴UE514 天前
UE Sequencer,MediaPlay的使用经验总结
ue5·音视频·ue
曼巴UE517 天前
UE5 C++ 里创造 和 使用编辑GamePlayTag
c++·ue5·ue
曼巴UE518 天前
UE5 C++ GameInstanceSubsystem 在学习
c++·ue5·ue
njsgcs23 天前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
qq_428639611 个月前
ue无双割草项目:4.让AI受伤及添加UI
ui·ue·无双割草
qq_428639611 个月前
ue无双割草项目:5.让玩家能够受伤
ue·无双割草
qq_428639611 个月前
ue无双割草项目:3.做个人工智障
ue·无双割草
qq_428639611 个月前
ue无双割草项目:2.让角色能够攻击
ue·无双割草
曼巴UE51 个月前
UE GamePlayTag
c++·ue5·ue