虚幻中的c++(持续更新)

文章目录

虚幻中的c++

UPROPERTY

是虚幻中用于声明属性的宏,它用于标记某个属性是一个虚幻托管的属性,并且可以在编辑器中进行访问和操作。其提供了一系列参数,用于定义属性的各种行为,例如是否可编辑、是否可序列化等。

参数

  • EditAnywhere:允许在编辑器中编辑该属性,包括蓝图类及其在关卡中的实例。
  • EditDefaultsOnly:只能在蓝图类中修改,实例中无法显示也无法修改。
  • BlueprintReadWrite:允许在蓝图的EventGraph中读写该属性。
  • VisibleAnywhere:在编辑器中显示该属性,但不允许编辑。
  • Transient:该属性不会被序列化保存,通常用于临时数据或不希望被保存的数据。
  • Category:指定在编辑器中显示的该属性所属的分类。
  • Meta:可以用来设置一些元数据,如文档、关键字等,meta=(AllowPrivateAccess="true")允许私有属性在编辑器中进行编辑。
  • Replicated:属性在网络中可以进行复制。

UFUNCTION

是虚幻中用于声明函数的宏,它用于标记某个函数是一个虚幻托管的函数,并且可以在编辑器中进行访问和操作。其提供了一系列参数,用于定义函数的属性和行为,例如是否是蓝图可调用的、是否可在网络中复制等。

参数

  • BlueprintCallable:允许在蓝图中调用该函数。
  • BlueprintPure:声明该函数为纯函数,即不会修改对象的状态。
  • BlueprintImplementableEvent:声明该函数的具体实现逻辑完全在蓝图中,这样可以将底层逻辑放在c++,而将易于修改和设计的逻辑交给蓝图,从而减少c++的编译次数。
    例如,角色移动过程中受到攻击时,可能需要播放一个特定的受伤动画或者音效。这个时候,移动这种复杂且很少修改的逻辑放在c++中,而播放动画以及音效的部分则可以通过BlueprintImplementableEvent提取成函数在c++中进行调用,实现则放在蓝图中交给设计师来快速迭代。
  • Category:指定在编辑器中显示的该函数所属的分类。
  • Meta:可以用来设置一些元数据,如文档、关键字等。
  • Server**ClientReliable:用于网络功能,指定该函数在服务器端、客户端执行,以及指定该函数是否可靠传输。
相关推荐
知然3 小时前
鸿蒙 Native API 的封装库 h2lib_arkbinder
c++·arkts·鸿蒙
粟悟饭&龟波功3 小时前
Java—— ArrayList 和 LinkedList 详解
java·开发语言
冷雨夜中漫步3 小时前
Java中如何使用lambda表达式分类groupby
java·开发语言·windows·llama
十五年专注C++开发3 小时前
Qt .pro配置gcc相关命令(三):-W1、-L、-rpath和-rpath-link
linux·运维·c++·qt·cmake·跨平台编译
a4576368764 小时前
Objective-c Block 面试题
开发语言·macos·objective-c
Cai junhao4 小时前
【Qt】Qt控件
开发语言·c++·笔记·qt
uyeonashi4 小时前
【QT系统相关】QT网络
开发语言·网络·c++·qt
Magnum Lehar4 小时前
vscode游戏引擎的build-clean配置
ide·vscode·游戏引擎
Magnum Lehar4 小时前
vscode游戏引擎的build-all全局配置
ide·vscode·游戏引擎
程序猿小D5 小时前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim