UE4之基本数据类型讲解

 

基本数据类型

typedef unsigned char      uint8;
typedef unsigned short     uint16;
typedef unsigned int         uint32;

#ifdef _MSC_VER
typedef unsigned __int64     uint64;
#else
typedef unsigned long long  uint64;
#endif

typedef signed int             char32;

  

FNames:12byte

不区分大小写,不可修改,不可被操作。如果一个变量满足这样的条件,则可以被定义为FName,通过键进行FNames的查询和访问速度很快。由于其在散列表中有且只有一份,故FNames的一个功能是使用散列表为FName转换提供快速字符串。

 

FString:12byte

FString可以进行搜索、修改并且与其他字符串比较。不过这些操作会导致FString的开销比不可变自负串类大、这是因为FString对象保存自己的字符数组,而FName和FText对象保存共享字符数组的指针,并且可以完全根据索引值建立相等性。

其中重载了许多api函数,如整形与字符串之间的转换。

与其对应的是std::string,只不过在这里又进行了一层封装,从而和UE保持更好的兼容性。

 

FText:24byte

主要用作显示和文本本地化。

 

FVector:三维向量

 

在UE中可以代表一个三维的点;可以点乘, x乘等。其结构体代码为

struct FVector{
public:
    float X;
    float Y;
    float Z;    
}

 

FVector2D:二维向量

在UE中可以代表一个二维的点:

 

FRotator:对应于UE中的旋转操作。

首先知道:UE中采用的是左手坐标系

包含三个值:Pitch、Yaw和Roll。

struct FRotator{
public:
    float Pitch;
    float Yaw;
    float Roll;
}

Pitch时围绕Y轴旋转,也叫作俯仰角;Yaw是围绕Z轴旋转,也叫偏航角;Roll是围绕X轴旋转,叫做翻滚角。

 

FTransform:

包含Translation、Rotation和Scale三个值,用于表示UE中物体在一次变换过程。Translation代表的是物体变换的平移,Rotation代表的是物体在UE中变换的旋转,而Scale代表的是物体在UE中变换的缩放。通过平移、旋转和缩放能够实现物体的变换

 

 

UClass()
class
HELLOUEDPRO_API AHelloUE4ProGameModeBase : public AGameModeBase{ GENERATED_BODY() public: virtual void BeginPlay() override{ } public: //如果想要暴露蓝图的话,就必须添加此宏,将添加的变量反射到蓝图中 UPROPERTY(EditAnywhere, BlueprintReadOnly) bool bTestBoolean; }

 

posted on 2022-03-17 15:23  hxh_space  阅读(689)  评论(0)    收藏  举报

导航