02.UE4学习总结.Blueprints to C++.UPROPERTY
语法
UPROPERTY([specifier,specifier,...],[meta=(key=value,key=value,...)])
Type VariableName;
Example:
UPROPERTY(EditAnywhere,BlueprintReadOnly,Category="Config",meta=(DisplayName="TestName"))
Int32 = Test;
属性标识符可以控制变量在引擎中的显示模式,编辑模式,分组,范围等等
蓝图数据类型对应C++的数据类型
Boolean -> bool (or uint8:1)
Byte -> uint8 Interger -> int32
Interger64 -> int64
Float -> float
Double -> double
Name -> FName
String -> FString
Text -> FText
Vector -> FVector
Rotator -> FRotator
Transform -> FTransform
Intergers
uint8 -> int8
uint16 -> int16
uint32 -> int32
uint64 -> int64
uint 主要有用于与虚幻相关的开发,写一些框架,与蓝图交互等等;int跨平台性能更好,更安全。
Floating point
float,double
蓝图不支持的变量类型
int8 int16 uint16 uint32 uint64
但是这些类型可以在类中使用
一些重要的UPROPERTY类型说明符(这是一些常用的,比较全的可以去官方文档查询)
- BlueprintReadOnly 变量在蓝图中只能get()
- BlueprintReadWrite 变量在蓝图中可以 get() 也可以set()
- VisibleAnywhere 变量在蓝图内外都可见,但是不能编辑
- VisibleDefaultsOnly 变量只在蓝图默认设置中可见,但是不能编辑
- VisibleInstanceOnly 变量只在world中的实例可见,但是不能编辑
- EditAnywhere 变量在蓝图内外都能编辑
- EditDefaultsOnly 变量在蓝图默认设置中可以编辑
- EditInstanceOnly 变量只在world实例中可编辑
- Category="TopCategory|SubCategory" 变量分组标签
Category的作用 Category="ReadWrite|ReadOnly"
一些常用的 meta 标签
- DisplayName="Property Name" 变量显示的名字
- Tooltip="This is a tooltip" 变量提示语言
- ClampMin="N" 变量最小值
- ClampMax="N" 变量最大值
- AllowPrivateAccess="true|false" 变量允许是否允许私有