1. 程式人生 > 其它 >UE4之基本資料型別講解

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乘等。

 

FVector2D:二維向量

在UE中可以代表一個二維的點:

 

FRotator:對應於UE中的旋轉操作。

首先知道:UE中採用的是左手座標系

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

Pitch時圍繞Y軸旋轉,也叫作俯仰角;Yaw是圍繞Z軸旋轉,也叫偏航角;Roll是圍繞X軸旋轉,叫做翻滾角。

 

FTransform:

包含location、Rotation和Scale三個值,這三個值每個都分別有x、y、z三個分量。

Location代表的是物體在UE中的位置,Rotation代表的是物體在UE中的旋轉狀態,而Scale代表的是物體在UE中的縮放狀態。

 

class HELLOUEDPRO_API AHelloUE4ProGameModeBase : public
AGameModeBase{ GENERATED_BODY() public: virtual void BeginPlay() override{ } public: //如果想要暴露藍圖的話,就必須新增此巨集,將新增的變數反射到藍圖中 UPROPERTY(EditAnywhere, BlueprintReadOnly) bool bTestBoolean; }