注:本文所有的討論是在以 "監聽服務器的模式" 爲前提下得出的。
若是獨立服務器模式,那麼本文得出的結論可能會不成立。
開篇先放一張圖:
由上面那張圖思考如下:
如果此時房間裏有3個玩家(即一個服務器兩個客戶端),那麼對應藍圖類的生成情況,如下:
1. Pawn/Character 在服務器上生成3個,兩個客戶端上個各自分別生成3個。(即當下情況下,整個世界場景中總共生成9個)
2. PlayerState 在服務器上生成3個,兩個客戶端上各自分別生成3個。(整個世界場景中總共生成9個)
3. PlayerController 在服務器上生成3個,兩個客戶端上各自分別生成1個。(整個世界場景中總共生成5個)
4. GameMode 只在服務器上生成1個。 (客戶端上不生成。整個世界場景中總共生成1個)
5.GameState 服務器上生成1個,兩個客戶端上各自分別生成1個。 (整個世界場景中總共生成3個)
6.GameInstance 服務器上生成1個,兩個客戶端上各自分別生成1個。 (整個世界場景中總共生成3個)
7.關卡藍圖 服務器上生成1個,兩個客戶端上各自分別生成1個。 (整個世界場景中總共生成3個)
下面是一張圖:
下面是本案例中在UE4中的設置和表現:
世界設置和GameInstance設置:
下面是編輯器在運行狀態下各個類下的表現(即點擊Play以後各個類下的表現):
1. GameMode類運行時的表現:
未完待續...