Unreal Engine4 C++ 動態加載Level(關卡)
今天研究了下如何使用代碼來加載編輯好的關卡,現在已知的是以下兩種方式:
- 使用OpenLevel方法
UGameplayStatics::OpenLevel(GWorld, "YourLevel", false, "");
OpenLevel會調用SetClientTravel,會斷開所有連接的客戶端並像客戶端一樣行動,會丟棄所有的狀態信息。
- 使用ServerTravel方法
GetWorld()->ServerTravel(FString("/Game/Maps/YourLevel"));
使用ServerTravel時,將保留所有PlayerController,PlayerState,GameMode和GameState實例。
ServerTravel將首先將每個人加載到一個“轉換關卡”,默認是空的,然後它將所有人都加載到目標關卡。
本文主要介紹的方法爲OpenLevel