一丶非无缝切换
在切换的时候会先断开连接,等创建好后才会链接,造成体验差
蓝图中用到的节点是 Execute Console Command

二丶无缝切换
链接的时候不会断开连接,中间不会出现卡顿,携带数据转换地图
1.需要在gamemode里面开启无缝漫游,开启之后使用上面的切换方式就可以做到无缝切换了

C++代码中如何携带参数
//在切换之前的地图的playerstate中重写此函数
void AHallPlayerState::CopyProperties(APlayerState* PlayerState)
{
if(ALGPlayerState*LGPS = Cast<ALGPlayerState>(PlayerState))
{
//对切换之后的地图的playerstate进行赋值,之后在对值进行网络同步标记
LGPS->HeadIndex = HeadIndex;
LGPS->Job = Job;
LGPS->UserNames = UserNames;
LGPS->Team = Team;
}
Super::CopyProperties(PlayerState);
}


本文介绍了在游戏开发中如何通过非无缝切换与无缝切换的方式,利用C++代码实现玩家状态在不同地图间的平滑切换,重点讲解了`ExecuteConsoleCommand`的使用以及如何在`gamemode`中启用无缝漫游,并展示了如何在切换前后携带参数并进行网络同步。

2226

被折叠的 条评论
为什么被折叠?



