下面的图是无缝与非无缝切换的流程图
使用注意:
0.无缝和非无缝,是单机和多人游戏都存在的关卡切换形式。并不仅仅是指多人游戏。
1.无缝过程整体是异步的, url中只有map部分有效,加入viewport的UUserWidget将保留,如果联网,不会断开连接,过程中将调用UWorld::SeamlessTravel,LoadPackageAsync。
2.非无缝过程是整体或部分阻塞的,加入viewport的UUserWidget将被移除(loadmap中调用了 FWorldDelegates::LevelRemovedFromWorld.Broadcast(nullptr, WorldContext.World());),如果联网,总会先断开之前的连接,过程中将调用UEngine::Browse、UEngine::LoadMap、LoadPackage。
3.不直接调用UEngine::Browse。进行关卡切换。
4.多人游戏的关卡切换时只建议在服务器端通过使用