当前位置: 首页 > news >正文

UE_C++ —— Structs

目录

一,实现一个UStruct

二,Struct Specifiers

三,最佳做法与技巧


结构体(Struct)是一种帮助组织和操作相关属性的数据结构;在引擎中,结构体会被引擎反射系统识别为UStruct,但不属于UObject生态圈,且不能在UClasses内部使用;

  • 在相同的数据布局下,UStructUObject能更快创建;

  • UStruct支持UProperty,但它不由垃圾回收系统管理,不能提供UFunction

一,实现一个UStruct

要把一个结构体变成UStruct,遵循以下步骤:

  • 打开要定义结构体的header (.h)文件;

  • USTRUCT宏放在结构体定义的上方;

  • GENERATED_BODY()宏作为定义的第一行;

USTRUCT([Specifier, Specifier, ...]) struct FStructName { GENERATED_BODY() };

注:可以用UPROPERTY来标记结构体的相关变量,使其在虚幻反射系统( Unreal Reflection System)和蓝图脚本(Blueprint Scripting)中可见;

二,Struct Specifiers

Atomic表示该结构体应始终被序列化为一个单元,不会为该类创建自动生成的代码,标头仅用于解析元数据;
BlueprintType将此结构体作为一种类型公开,可用于蓝图中的变量;
NoExport将不会为该类创建自动生成的代码,标头仅用于解析元数据;

三,最佳做法与技巧

  • UStruct可以使用引擎的智能指针(smart pointer)和垃圾回收系统以防止垃圾回收删除UObjects
  • 结构体最好用于简单数据类型,对于更复杂的交互,可使用UObjectAActor子类来代替;
  • UStructs不可以用于复制,但UProperty变量可以用于复制;
  • 引擎可自动为结构体创建Make和Break函数;
    • Make函数出现在任何带有BlueprintType标签的Ustruct中;
    • 如在UStruct中至少有一个BlueprintReadOnlyBlueprintReadWrite属性,Break函数就会出现;
    • Break函数创建的纯节点为每个标记为BlueprintReadOnlyBlueprintReadWrite的资产提供一个输出引脚;
http://www.jsqmd.com/news/1335302/

相关文章:

  • SolidWorks二次开发中OpenDoc方法的文档管理问题解析
  • 终极指南:用PoeCharm中文版打造《流放之路》专业级角色构建
  • Unity集成环境感知模型:从ONNX部署到多模态游戏AI实战
  • ADG5413BCPZ-REEL7,高压防闩锁型四通道SPST开关
  • NGA论坛高效浏览终极指南:开源脚本让你的摸鱼效率提升300%
  • 电动车托运哪里便宜?2026年寄车全攻略+价格对比 - 快递物流资讯
  • OpenRGB:一站式解决电脑RGB灯光管理难题的开源神器
  • Protenix实战指南:如何用开源AI准确预测蛋白质结构?
  • siemens 西门子 NCK数据采集
  • 如何让老Mac免费运行最新macOS:OpenCore Legacy Patcher终极指南
  • 揭秘高效MQTT管理:创新工具实战指南
  • 3个关键问题:如何用智能PDF分类工具提升文档处理效率?
  • 胆管癌数据集:用于胆管癌早期预测与分类的临床数据集
  • Peeky断言与模拟功能教程:使用Expect和Sinon编写强大测试
  • 解决URP+WebGL下Highlight Plus高亮丢失:Renderer Feature打包全攻略
  • MAA明日方舟助手:一键解放双手的智能游戏管家终极指南
  • 洛谷 B3629:吃冰棍 ← 两种模拟法
  • 如何3步掌握Pixel-Composer:零代码像素艺术特效创作完整指南
  • 2026年重庆汽车贴膜口碑实测 膜手世家贴膜改装工厂店体验 - 互联网科技品牌测评
  • 如何在5分钟内为你的PS4游戏解锁1490种作弊体验?GoldHEN Cheats Manager终极指南
  • AI技术全景图深度解构(含Gartner 2024技术成熟度曲线校准版):仅限前500名技术负责人获取的架构选型决策矩阵
  • 告别繁琐系统管理!WinUtil:Windows优化与软件部署的一站式解决方案
  • 为什么给了电阻就会 有电压?
  • LGTV Companion:OLED电视智能联动终极指南,一键解决PC显示器同步难题
  • AI写公司简介不是“一键生成”,而是“三重校验”:技术层+传播层+法务层缺一不可
  • 终极Codex技能安装器:一键扩展你的AI助手工具箱
  • 【限时免费】 释放CLIP-ViT-B-16-laion2B-s34B-b88K的全部潜力:一份基于官方推荐的微调指南
  • 从论文到代码:Granite-TimeSeries-PatchTST-FM-r1核心技术原理解读
  • 2026德国KP中压冷缩电缆头经销商选择之道:真实样本拆解,选对少走弯路 - 互联网科技品牌测评
  • 如何通过HACS解决Home Assistant自定义组件管理的5个核心痛点