首页 > 其他分享 >UE4 UCLASS(...)

UE4 UCLASS(...)

时间:2023-05-23 11:58:00浏览次数:43  
标签:... 子类 蓝图 UCLASS 此类 该类 UE4 属性

类说明符 UCLASS 和元数据(meta)可以定义引擎和编辑器特定的行为。

类声明的语法如下所示:

UCLASS([specifier, specifier, ...], [meta(key=value, key=value, ...)])
class ClassName : public ParentName
{
    GENERATED_BODY()
}

声明包含一个类的标准 C++ 类声明。在标准声明之上,描述符(如类说明符和元数据)将被传递到 UCLASS 宏。它们用于创建被声明类的 UClass,它可被看作引擎对类的专有表达。此外,GENERATED_BODY() 宏必须被放置在类体的最前方。

UCLASS 宏的有效关键字

classGroup

此关键字用于在编辑器中设置显示该类的actor组。

Within

UCLASS(Within=PlayerController)

声明此类的实例应始终具有指定类的外部。除非被覆盖,否则它由子类继承。

BlueprintType

将此类公开为可用于蓝图中变量的类型。

UCLASS(BlueprintType)

NotBlueprintType

防止此类用于蓝图中的变量。

Blueprintable

将此类公开为创建蓝图的可接受基类。

UCLASS(Blueprintable) UCLASS(Blueprintable)

NotBlueprintable

指定该类不是创建蓝图的可接受基类。

UCLASS(notBlueprintable)

MinimalAPI

此关键字指示该类应该在其模块外部可以访问,但是不需要导出所有方法。仅导出为dynamic_cast <>等工作所需的自动生成的方法。

customConstructor

防止自动生成构造函数声明。

Intrinsic

类直接在C ++中声明,并且没有UnrealHeaderTool生成的样板。请勿在新课程上使用此标志。

noexport

不会为此类创建自动生成的代码;标头仅用于解析元数据。请勿在新课程上使用此标志。

placeable

表明该类可在虚幻编辑器内进行创建并被放置在关卡,UI场景,或蓝图内(取决于该类类型)。此标识被传递到所有的子类中,子类可使用 NotPlaceable 关键字来重载该标识。

notplaceable

否定从基类继承的Placeable关键字。表示在虚幻编辑器中不可以将这个类放置到关卡等位置。

DefaultToInstanced

此类的所有实例均被视为“实例”。实例化的类(组件)在构造时被复制。该标志由子类继承。

Const

此类中的所有属性和函数都是const,应将其导出为const。该标志由子类继承。

Abstract

类是抽象的,不能直接实例化。

deprecated

不推荐使用此类,并且在序列化时不会保存此类的对象。该标志由子类继承。

Transient

此类无法保存;在保存时将其清空。该标志由子类继承。

nonTransient

此类应正常保存(它会取消继承的瞬态标志)。

config

在构造时加载对象配置。这些标志被子类继承。包含配置属性的类。用法config = ConfigName或config = inherit(继承自基类的配置名称)。

perObjectConfig

根据每个对象而不是每个类来处理对象配置。

configdonotcheckdefaults

确定是否在序列化为配置时应在base / defaults ini的基础上进行检查

defaultconfig

仅将对象配置保存到默认INI,而不保存到本地INI。

editinlinenew

这些会影响属性编辑器的行为。可以通过editinline新建按钮构造类。

noteditinlinenew

无法通过editinline“新建”按钮构造类。

hidedropdown

未在编辑器下拉列表中显示的类用于选择类。

showCategories

在属性查看器中显示指定的类别。用法:showCategories = CategoryName或showCategories =(category0,category1,...)

hideCategories

在属性查看器中隐藏指定的类别。用法:hideCategories = CategoryName或hideCategories =(category0,category1,...)

ComponentWrapperClass

表示此类是组件的包装器类,而组件的内部功能很少(如果该类在蓝图中被子类化,则将导致hideCategories和showCategories之类的东西被忽略)

showFunctions

在属性查看器中显示指定的函数。用法:showFunctions = FunctionName或showFunctions =(category0,category1,...)

hideFunctions

在属性查看器中隐藏指定的函数。用法:hideFunctions = FunctionName或hideFunctions =(category0,category1,...)

autoExpandCategories

指定应在属性查看器中自动扩展哪些类别。

autoCollapseCategories

指定应在属性查看器中自动折叠哪些类别。

dontAutoCollapseCategories

清除自动折叠类别的列表。

collapseCategories

在编辑器中显示属性,而不使用类别。

dontCollapseCategories

使用类别(默认行为)在编辑器中显示属性。

AdvancedClassDisplay

默认情况下,该类的所有属性都隐藏在主显示中,并且仅在高级详细信息部分中显示。

ConversionRoot

根转换将子类限制为只能转换为层次结构中第一个根类的子类。

Experimental

将该类标记为“实验性”(完全不受支持和未记录的原型)

EarlyAccessPreview

将该类标记为“抢先体验”预览(虽然尚未考虑生产准备,但已超出“实验性”一步,将作为将来的预览提供)

SparseClassDataType

有些属性每个类在sidecar结构中存储一次,而不是在类的实例中存储。


Metadata

可在UCLASS中使用的元数据。


BlueprintSpawnableComponent

用于Actor组件类。如果存在,则表示可以由蓝图生成。

ChildCanTick

用于Actor和Component类。如果本机类不能打勾,则即使bCanBlueprintsTickByDefault为false,Blueprint生成的基于此Actor或Component的类也可以覆盖bCanEverTick标志。

用于Actor和组件类。如果本地类无法tick,那么可以覆盖基于此Actor或组件的蓝图生成类的 bCanEverTick 标签,即使 bCanBlueprintsTickByDefault 为false也同样如此。

ChildCannotTick

用于Actor和组件类。如果本地类无法tick,那么基于此Actor或组件的蓝图生成类则无法tick,即使 bCanBlueprintsTickByDefault 为true也同样如此。

IgnoreCategoryKeywordsInSubclasses

用于使类的第一个子类忽略所有继承的showCategories和hideCategories命令

DeprecatedNode

对于BehaviorTree节点,表明该类已弃用,并且在编译时将显示警告。

DeprecationMessage

DeprecationMessage="Message Text"

[ClassMetadata] [PropertyMetadata] [FunctionMetadata]与DeprecatedNode,DeprecatedProperty或DeprecatedFunction结合使用以自定义显示给用户的警告消息。

如果类已废弃,尝试编译使用此类的蓝图时,其将被添加到标准废弃警告。

DisplayName

[ClassMetadata] [PropertyMetadata] [FunctionMetadata]为该类,属性或函数显示的名称,而不是根据其名称自动生成的名称。

UCLASS(classGroup="TestActor",meta = (DisplayName = "TestActor_Name"))

ToolTip

ToolTip="Hand-written tooltip"

覆盖从代码注释自动生成的提示文本。

UCLASS(classGroup="TestActor",meta = (DisplayName = "TestActor_Name", ToolTip = "UCLASS Test Tip."))

ShortTooltip

ShortToolTip="Short tooltip"

完整提示文本过长时使用的简短提示文本,例如父类选取器对话。

ScriptName

[ClassMetadata] [PropertyMetadata] [FunctionMetadata]将类,属性或函数导出为脚本语言时要使用的名称。可以包括不赞成使用的名称,作为其他用分号分隔的条目。

IsBlueprintBase

IsBlueprintBase="true/false"

指定该类是创建蓝图的可接受基类。说明此类是否为创建蓝图的一个可接受基类,与 UCLASS 说明符、Blueprintable 或 'NotBlueprintable` 相似。

KismetHideOverrides

逗号分隔的蓝图事件列表,不允许在此类型的类中重写

ProhibitedInterfaces

指定与该类不兼容的接口。

RestrictedToClasses

由BlueprintFunctionLibrary类用于限制图形,可将库中的函数用于指定的类。

ShowWorldContextPin

说明放置在此类拥有的图表中的蓝图节点必须显式其World情景引脚(即使其通常状态下为隐藏也同样如此),因为此类的对象无法被用作World情景。

指示在将蓝图节点放置在此类拥有的图形中时,隐藏的世界上下文图钉应该可见,因为该类的自身上下文无法。

提供世界环境,必须手动将其连接。

DontUseGenericSpawnObject

不要使用“蓝图”中的“通用创建对象”节点来生成类的对象。仅对于既不是Actor也不是ActorComponent的BluprintType类,它才有意义。

ExposedAsyncProxy

在“异步任务”节点中公开此类的代理对象。

BlueprintThreadSafe

仅对蓝图函数库有效。将此类中的函数标记为在动画蓝图中的非游戏线程上可调用。

UsesHierarchy

指示该类使用分层数据。用于实例化详细信息面板中的分层编辑功能。

UCLASS(classGroup="TestActor",meta = (DisplayName = "TestActor_Name", ToolTip = "Test Actor UCLASS ."))

标签:...,子类,蓝图,UCLASS,此类,该类,UE4,属性
From: https://www.cnblogs.com/tomato-haha/p/17422888.html

相关文章

  • 【UE4】插件与模块
    一、什么是插件与模块模块是实现某一个或一类功能的集合,当模块足够独立和庞大、复杂之后,可以将其提升为插件。UE4引擎就是由众多模块组成,而插件也可以包含一个或多个模块,但模块却不能包含插件。相对于模块来说,插件具有更高的独立性,除使用引擎模块外,一般不使用其它插件或模块......
  • UE4插件与一些编辑器扩展总结
    前言:.uplugin与.uproject前面的版本号、版本名、插件名等在编辑器下创建插件就会有对应生成。值得一提的是"module"与"Plugins":比如我做的UCharts插件,这里头Type可填写的值范围:(此处参考【UE4】插件与模块-知乎(zhihu.com)namespaceEHostType{enumType{......
  • java基于的springboot+vue4S店车辆管理系统,车辆销售管理系统,附源码+数据库+lw文档+PPT
    1、项目介绍首先介绍了4S店车辆管理的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实......
  • android-card-slide-panel模仿探探首页卡片左右滑动效果,滑动流畅,卡片view无限重生...
    android-card-slide-panel类别: 图像(Image)打分: ★★★★★更新: 2015-12-0312:37大小: 10003kb开发环境: AndroidStudio浏览: 913次下载: 213次项目地址: https://github.com/xmuSistone/android-card-slide-panel图片,手势下载 收藏xmuSistone......
  • StackOverView又一个Android 5.0 任务管理器控件。这次这个比上次那个(MaterialRecents
    StackOverView视图布局(ViewLayout)★★★★★2015-09-2120:21147kbAndroidStudio1075次165次https://github.com/Bossyao168/StackOverView卡片,任务下载 收藏 Bossyao168 / StackOverViewacustomwidgetofandroid,liketaskmanagerofandr......
  • 阿里云对象存储OSS————跨域资源共享(CORS)(m3u8 无法加载m3u8:跨域访问被拒绝)...
    今天在做视频直播录像的时候,添加一个录制APP的.M3U8文件到OSS的一个test文件中存储,结果是访问不到了:提示:无法加载m3u8:跨域访问被拒绝!!!!!项目代码测试地址:https://github.com/Tinywan/ThinkPhpStudy阿里云帮助文档:https://help.aliyun.com/document_detail/31928.html......
  • 苹果逼停微信赞赏功能,最大赢家是...
    阅读文本大概需要2分钟。想必大家都知道了,今天开始,微信「被逼」关闭了iOS用户的公众号赞赏功能,至于苹果为什么又来找茬?很明显,你做的太大了,威胁了苹果爸爸的地位,要么给我利益分成,要么我就找各种理由制裁你,这是苹果一贯的作风。还记得之前「小程序」刚推出的时候我就说,苹果是颗定......
  • 请在微信客户端打开链接:火狐浏览器模拟微信浏览器内核教程 ,用chrome模拟微信浏览器访
    背景:微信浏览器能访问,出现,请在微信客户端打开链接。useragentswitcherforfirefox:https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/FF越来越不行了,下载都下载不下来~useragentswitcher1.0.34中文版forchrome:http://www.pc6.com/soft/FireFox_133175.h......
  • Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化...
    干货!文章有点长,建议先收藏引言一、性能怪兽-Nginx概念深入浅出二、Nginx环境搭建三、Nginx反向代理-负载均衡四、Nginx动静分离五、Nginx资源压缩六、Nginx缓冲区七、Nginx缓存机制八、Nginx实现IP黑白名单九、Nginx跨域配置十、Nginx防盗链设计十一、Nginx大文件传输配置十二、Ngi......
  • UE4命令行编译工程入门
    0背景笔者是个UE4的小白,本文主要记录了一个小白是如何从零UE4的基础,一步步在命令行打出iOS的ipa包的尝试过程,本文比较浅,适合小白做为UE4工程的入门资料(UE大神可自动忽略本文);1构建流程UE4工程的构建会涉及以以下几个步骤:编译所有的源代码;将所需的内容转化(cook)为目标平台......