本文章由cartzhang編寫,轉載請註明出處。 所有權利保留。
文章鏈接:http://blog.csdn.net/cartzhang/article/details/76048437
作者:cartzhang
1. 對象
Actor – 可以放到世界場景中的對象。
Pawn – 可被控制的,比方說,魚或狗
Character – 人物,有自己的CharacterMovementComponent組件。
Component –Actor對象的一部分,就像蓋房子的磚頭
Controller –可以驅動Pawn,分爲 PlayerController和AIController.
GameMode – 就是遊戲規則。
2. 基礎類
虛幻4的4個基礎類
UObject
最基礎的類,與UClass一起組成了虛幻引擎的最基礎最重要的一下功能。
包括有:
屬性和函數反射
序列化屬性
垃圾回收
通過名字查找對象
配置屬性值
屬性和函數的網絡支持
UClass和UObject的區別在於UClass是用來描述UObject一個實例,像那些屬性可見,可網絡同步等。
大多時候這兩個類都是隱藏在後面,一般不會直接繼承使用。常用的是下面的AActor和UAActorComponent.
AActor
繼承於UObject,可被C++和藍圖顯示刪除,或GC回收,可以用於網絡。
AActor放置場景中,必須至少有一個USceneComponent用來保存旋轉位置和縮放。
基本生命週期
BeginPlay–> Tick –> EndPlay.
與Unity,Start –>Update –>OnDestroy一樣。
UActorComponent
UActor通過服務於遊戲中的相關角色,而UActorComponent則用於實現單個功能,來支持上層對象。
他們的關係就像是,Actor說明這個對象是什麼,ActorComponent說明對象有哪些組成,有哪些功能。
UStruct
不會被垃圾回收。若動態生成,必須自己來處理生命週期。
若對象的變量沒有UPROPERTY(),就不會被root 認爲可獲取,就不被垃圾回收釋放點。
3.AActor的生命週期
參考:
[1]https://docs.unrealengine.com/latest/INT/Programming/Introduction/?lang=zh-CN
[2]https://docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/Actors/ActorLifecycle/index.html