UE4ServerTravel以及SeamlessTravel

ServerTravel主要是用于多人联机游戏的关卡切换。SeamLessTravel中文官方给出的文档是说让特定的角色切换地图,不过个人测试后的主要感觉,是服务器切换地图,同时把客户端一起带入新的地图,而不是服务器何客户端在不同地图,并且仍然保持连接,这种想法个人感觉理论上并不可行(如果可以还望指教)。

ServerTravel使用

ServerTravel在蓝图中并不存在这个结点,使用的时候是通过执行命令来调用。 主要的蓝图如下: UI: 主要就是三个按钮,分别对应创建房间,加入房间,调用玩家控制器中的servertravel逻辑三个功能。 玩家控制器:

自定义事件:调用servertravel指令,指令格式servertravel+空格+关卡名(查阅资料后如果切换的关卡跟当前关卡在同一目录下,可以直接填关卡名,不用填路径)。而且servertravel的指令最好是在服务器端执行,按官方文档的说法,如果在客户端,那相当于断开连接了。

注:

1在执行servertravel的时候最好是自己写一套加入房间和创建房间的逻辑,如果直接使用运行的playas lisenserver调试模式,测试后是不行的 运行结果如下: 左边serverl端点击Leveltravel后切换了关卡(可以发现两个关卡的物体有点不同),但是右边还是原来的关卡,所以是失败的。但是自己创建房间后就不会,就能顺利切换关卡 servertravel前: servertravel后:

SeamlessTravel使用

SeamlessTravel在逻辑上其实跟servertravel的蓝图逻辑一样,只是需要进行一些设置,首先打开gamemode,勾选UseSeamlessTravel 然后新建一个空的地图,打开项目设置,将其设置为TransitionMap 然后运行的时候使用standalone 只有使用santandaloneGame才能正常运行Seamlesstravel,否则其他运行模式会报错: 最终运行如下: 操作与servertravel一样,也是先创建房间再执行servertravel

好文链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。