• UnrealEngine KeyWords,修饰变量函数


    1. 常用

    这些关键字可以用于定义各种元数据,包括变量的可见性、编辑性、限制条件、默认值、本地化、复制等等。具体使用哪些关键字取决于具体的需求。
    以下是UE4中用于定义蓝图变量的元数据(metadata)的所有关键字及其解释和作用:

    • BlueprintReadOnly:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作。常用于定义只读变量。
    • BlueprintReadWrite:表示该变量可以在蓝图编辑器中进行读写操作,包括在实例化蓝图时可以在Details面板中进行编辑,也可以在蓝图中进行读写操作。常用于定义可读写变量。
    • EditAnywhere:表示该变量可以在蓝图编辑器中进行读写操作,包括在实例化蓝图时可以在Details面板中进行编辑,也可以在蓝图中进行读写操作。常用于定义可编辑变量。
    • EditDefaultsOnly:表示该变量只能在蓝图类的默认值中进行编辑,而不能在实例化蓝图时进行编辑。常用于定义只能在类级别上编辑的变量。
    • Category:表示该变量在蓝图编辑器中显示在指定的类别下。常用于将变量分组显示。
    • DisplayName:表示该变量在蓝图编辑器中显示的名称。常用于自定义变量的显示名称。
    • Tooltip:表示该变量在蓝图编辑器中显示的提示信息。常用于提供变量的说明和提示信息。
    • EditCondition:表示该变量的编辑条件,只有在满足特定条件时才会在蓝图编辑器中显示。常用于根据其他变量的值来控制变量的可见性。
    • meta:用于定义其他元数据,可以包含多个关键字和参数。常用于自定义元数据。
    • SaveGame:表示该变量在保存游戏状态时会被保存。常用于需要保存的变量。
    • AdvancedDisplay:表示该变量在蓝图编辑器中显示在“Advanced”类别下。常用于将变量分组显示。
    • AssetRegistrySearchable:表示该变量可以在资产浏览器中进行搜索。常用于需要在资产浏览器中搜索的变量。
    • BlueprintReadOnlyWithVariants:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作,并且可以在派生类中进行重载。常用于定义只读变量,并且允许在派生类中进行重载。
    • BlueprintSetter:表示该变量的Setter函数名称。常用于自定义Setter函数的名称。
    • BlueprintGetter:表示该变量的Getter函数名称。常用于自定义Getter函数的名称。
    • ClampMin:表示该变量的最小值。常用于限制变量的最小值。
    • ClampMax:表示该变量的最大值。常用于限制变量的最大值。
    • UIMin:表示该变量在蓝图编辑器中的最小值。常用于限制变量在蓝图编辑器中的最小值。
    • UIMax:表示该变量在蓝图编辑器中的最大值。常用于限制变量在蓝图编辑器中的最大值。
    • SliderExponent:表示该变量在蓝图编辑器中的滑动条指数。常用于自定义滑动条指数。
    • SliderMin:表示该变量在蓝图编辑器中的滑动条最小值。常用于限制变量在蓝图编辑器中的滑动条最小值。
    • SliderMax:表示该变量在蓝图编辑器中的滑动条最大值。常用于限制变量在蓝图编辑器中的滑动条最大值。
    • ExposeOnSpawn:表示该变量在实例化蓝图时可以在Details面板中进行编辑。常用于在实例化蓝图时设置变量的值。
    • HideInDetailsView:表示该变量在蓝图编辑器中不显示在Details面板中。常用于隐藏变量。
    • HideInListView:表示该变量在蓝图编辑器中不显示在变量列表中。常用于隐藏变量。
    • VisibleAnywhere:表示该变量在蓝图编辑器中显示在变量列表中,并且可以在蓝图中进行读取操作。常用于定义可读变量。
    • VisibleDefaultsOnly:表示该变量在蓝图编辑器中显示在变量列表中,并且只能在蓝图类的默认值中进行读取操作。常用于定义只读变量。
    • VisibleInstanceOnly:表示该变量在蓝图编辑器中不显示在变量列表中,并且只能在实例化蓝图时进行读取操作。常用于定义只读变量。
    • AllowPrivateAccess:表示该变量可以在蓝图类的成员函数中进行读写操作。常用于定义只能在类内部访问的变量。
    • AssetReference:表示该变量是一个资产引用。常用于引用资产。
    • AssetPtr:表示该变量是一个资产指针。常用于引用资产。
    • AssetSubclassOf:表示该变量是一个资产子类。常用于引用资产子类。
    • BlueprintAssignable:表示该变量是一个蓝图事件。常用于定义蓝图事件。
    • BlueprintCallable:表示该变量是一个蓝图函数。常用于定义蓝图函数。
    • BlueprintCosmetic:表示该变量是一个蓝图美化变量。常用于定义蓝图美化变量。
    • BlueprintInternalUseOnly:表示该变量只能在蓝图类的成员函数中进行读写操作。常用于定义只能在类内部访问的变量。
    • BlueprintProtected:表示该变量只能在蓝图类及其派生类的成员函数中进行读写操作。常用于定义只能在类及其派生类内部访问的变量。
    • BlueprintPure:表示该变量是一个纯蓝图函数,不会修改任何状态。常用于定义纯蓝图函数。
    • BlueprintSetterTimer:表示该变量的Setter函数名称,并且在设置变量时会启动一个定时器。常用于自定义Setter函数,并且在设置变量时启动定时器。
    • BlueprintTransient:表示该变量在蓝图编辑器中不显示在变量列表中,并且不会被保存。常用于定义临时变量。
    • BlueprintReadOnlyTimer:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作,并且在读取变量时会启动一个定时器。常用于定义只读变量,并且在读取变量时启动定时器。
    • CategoryShowOnly:表示该变量在蓝图编辑器中显示在指定的类别下,并且只显示该类别下的变量。常用于将变量分组显示,并且只显示指定类别下的变量。
    • Deprecated:表示该变量已经过时,不建议使用。常用于标记已经过时的变量。
    • DisableEditOnInstance:表示该变量在实例化蓝图时不能在Details面板中进行编辑。常用于定义只读变量。
    • DisableEditOnTemplate:表示该变量在蓝图类的默认值中不能进行编辑。常用于定义只读变量。
    • EditFixedSize:表示该变量在蓝图编辑器中显示为固定大小的数组。常用于定义固定大小的数组。
    • EditInline:表示该变量在蓝图编辑器中显示为内联编辑器。常用于定义内联编辑器。
    • EditInstanceOnly:表示该变量在实例化蓝图时可以在Details面板中进行编辑。常用于在实例化蓝图时设置变量的值。
    • EditInlineNew:表示该变量在蓝图编辑器中显示为内联编辑器,并且可以在蓝图中创建新的对象。常用于定义内联编辑器,并且可以在蓝图中创建新的对象。
    • EditInlineUse:表示该变量在蓝图编辑器中显示为内联编辑器,并且可以在蓝图中使用现有的对象。常用于定义内联编辑器,并且可以在蓝图中使用现有的对象。
    • EditReference:表示该变量是一个引用变量。常用于定义引用变量。
    • EditConditionOnly:表示该变量的编辑条件,只有在满足特定条件时才会在蓝图编辑器中显示,并且不能在蓝图中进行读写操作。常用于根据其他变量的值来控制变量的可见性,并且不能在蓝图中进行读写操作。
    • Interp:表示该变量是一个插值变量。常用于定义插值变量。
    • InterpCurveEdSetup:表示该变量是一个插值曲线。常用于定义插值曲线。
    • InterpCurvePoint:表示该变量是一个插值曲线的点。常用于定义插值曲线的点。
    • InterpProperty:表示该变量是一个插值属性。常用于定义插值属性。
    • InterpShowOnlyInnerProperties:表示该变量在蓝图编辑器中只显示内部属性。常用于隐藏插值属性的内部属性。
    • InterpStep:表示该变量是一个插值步骤。常用于定义插值步骤。
    • InterpTimePoint:表示该变量是一个插值时间点。常用于定义插值时间点。
    • NoClear:表示该变量在清除蓝图时不会被清除。常用于定义不会被清除的变量。
    • NonPIEDuplicateTransient:表示该变量在复制蓝图时不会被复制。常用于定义不会被复制的变量。
    • NotReplicated:表示该变量不会被复制到网络上。常用于定义不需要在网络上同步的变量。
    • OnlyPlaceable:表示该变量只能在蓝图类的默认值中进行编辑,而不能在实例化蓝图时进行编辑。常用于定义只能在类级别上编辑的变量。
    • PerObjectLocalizedDesc:表示该变量在蓝图编辑器中显示的本地化描述。常用于提供变量的本地化描述。
    • PerObjectLocalizedDisplayName:表示该变量在蓝图编辑器中显示的本地化名称。常用于提供变量的本地化名称。
    • PersistentGuid:表示该变量的持久化GUID。常用于定义持久化GUID。
    • ReadOnly:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作。常用于定义只读变量。
    • Replicated:表示该变量会被复制到网络上。常用于定义需要在网络上同步的变量。
    • ReplicatedUsing:表示该变量在复制到网络上时会调
    • 用指定的函数。常用于自定义复制函数。
    • SoftObject:表示该变量是一个软引用变量。常用于定义软引用变量。
    • SoftClass:表示该变量是一个软引用类。常用于定义软引用类。
    • Transient:表示该变量在蓝图编辑器中不显示在变量列表中,并且不会被保存。常用于定义临时变量。
    • VisibleAnywhereBlueprintReadOnly:表示该变量在蓝图编辑器中显示在变量列表中,并且可以在蓝图中进行读取操作,但不能在蓝图中进行写入操作。常用于定义只读变量。
    • WorldContext:表示该变量是一个世界上下文变量。常用于定义世界上下文变量。

    2. 扩展

    ** 以上是UE4中用于定义蓝图变量的元数据的所有关键字,但是还有一些其他的元数据关键字,如下: **
    这些关键字与前面提到的关键字类似,但是不会被导出到C++代码中,常用于只在蓝图中使用的变量和函数。

    • BlueprintReadOnlyWithoutExport:表示该变量只能在蓝图中进行读取操作,不能在蓝图中进行写入操作,并且不会被导出到C++代码中。常用于定义只读变量,并且不需要导出到C++代码中。
    • BlueprintSetterWithoutExport:表示该变量的Setter函数名称,并且不会被导出到C++代码中。常用于自定义Setter函数的名称,并且不需要导出到C++代码中。
    • BlueprintGetterWithoutExport:表示该变量的Getter函数名称,并且不会被导出到C++代码中。常用于自定义Getter函数的名称,并且不需要导出到C++代码中。
    • BlueprintInternalUseOnlyWithoutExport:表示该变量只能在蓝图类的成员函数中进行读写操作,并且不会被导出到C++代码中。常用于定义只能在类内部访问的变量,并且不需要导出到C++代码中。
  • 相关阅读:
    Pandas合并excel表格的两种方式
    【c++11】cpp实现模板函数的声明与定义分离
    GBase产品学习-GCWare
    设计模式:访问者模式
    码神之路项目总结(二)
    VoLTE端到端业务详解 | 终端能力类
    Docker三大核心概念(镜像、容器和仓库)与虚拟化
    Spring 微服务:数据压缩技术
    【kubernetes】关于云原生之k8s集群中pod的容器资源限制和三种探针
    qemu 使用 ceph rbd 存储块
  • 原文地址:https://blog.csdn.net/weixin_44070137/article/details/133752791