- 模版類以T作爲前綴,比如TArray,TMap,TSet
- UObject派生類都以U前綴
- AActor派生類都以A前綴
- SWidget派生類都以S前綴
- 抽象接口以I前綴
- 枚舉以E開頭
- bool變量以b前綴,如bPendingDestruction
- 其他的大部分以F開頭,如FString,FName
- typedef的以原型名前綴爲準,如typedef TArray FArrayOfMyTypes;
- 在編輯器裏和C#裏,類型名是去掉前綴過的
幾乎所有的對象都繼承於UObject,UObject爲它們提供了基礎的垃圾回收,反射,元數據,序列化等,相應的,就有各種”UClass”的派生們定義了屬性和行爲的數據。
在UE中,3D世界是由Actors構建起來的,而Actor又擁有各種Component,之後又有各種Controller可以控制Actor(Pawn)的行爲。
Actor並不只是3D中的“表示”,一些不在世界裏展示的“不可見對象”也可以是Actor。Actor的概念在UE裏其實不是某種具象化的3D世界裏的對象,而是世界裏的種種元素,用更泛化抽象的概念來看,小到一個個地上的石頭,大到整個世界的運行規則,都是Actor.
TSet<UActorComponent*> OwnedComponents
保存着這個Actor所擁有的所有Component,一般其中會有一個SceneComponent作爲RootComponent。
拖拽到場景中的StaticMeshActor對象必須要將Details-Transform-Mobility選擇成Moval之後才能在c++的程序中對其進行位置旋轉等等的控制。
在類的Beginplay函數中對Actor進行SetActorLocation,不會立刻起作用,只有在Tick函數執行了之後纔會起作用。