UE4多人联机

UE4自带网络联机功能,但是似乎只有蓝图接口,而真正写功能的时候不能用C++,让人感觉相当诡异

还是作一个简单记录


1.建一个第三人称模板,为什么会用他呢,因为它自带模板的很多组件,直接支持联机功能,相当方便,找到工程目录下的Config/DefaultEngine.ini,在里面添加OnlineSubsystem,开启联机功能(最好重启一下工程,他才会读取这个文件配置)

[plain]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. [OnlineSubsystem]  
  2. DefaultPlatformService=<Default Platform Identifier>  
2.创建一个简单的UI,三个按钮,创建房间、搜索房间、加入房间,功能嘛,顾名思义


3.点击创建房间按钮后,就执行Create Session,这里就是UE4提供的接口,按着他来说这里应该是创建会话,不过我喜欢用创建房间,感觉更好理解

当我们成功创建房间后,就打开一个新的场景,就是自带的第三人称模板场景


4.点击搜索房间,就是搜索当前已经创建的房间,并将第一个房间存储下来,这就是我们后面需要加入的房间


5.当我们点击搜索房间后,看见我们获取的房间名称后,点击加入房间


6.我们新建一个场景,去掉场景中的所有东西,在关卡蓝图中去创建我们开始的UI


7.更改自带模板的GameMode,ThirdPersonGameMode设置Default Pawn Class为None,并添加一个功能,房间每加入一个人,就回调一个函数OnPostLogin,然后创建一个角色,用的第三人称角色,并获取当前场景中的Player Start(需要在场景中多设置几个),并将位置赋给他们


8.回到开始创建的空白场景,并设置Play,点击运行


9.其中一个点击创建房间,另一个点击搜索房间,等待搜索成功后点击加入房间


10.运行截图,我这里品质调得特别低,不过功能实现了,相当简单对不对,主要也是利用了他自带组件的一些便利性,后面需要看看复制actor,属性同步,RPC函数等等。


0
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对UE4多人联机时PlayController可能遇到的问题,我可以给出以下回答: 1. 多人联机时如何同步PlayController状态? 在多人联机游戏中,每个玩家的PlayController都需要与服务器同步。为了保持状态同步,您可以使用Replication或RPC功能,从而确保PlayController的状态在不同客户端之间同步。例如,您可以使用Unreal Engine提供的Replicated属性或Replicated函数,或使用RPC来调用服务器上的函数来同步PlayController状态。 2. 如何处理多个PlayController的输入? 在多人联机游戏中,如果多个玩家同时按下按键,则需要在服务器上处理它们的输入,以避免状态不同步的问题。为了处理这个问题,您可以使用Unreal Engine提供的Input Buffering功能。通过使用Input Buffering,您可以在玩家按下按键时捕捉输入,然后将其发送到服务器,服务器再处理输入,然后将其发送回客户端以确保同步。 3. 如何在多人联机游戏中处理PlayController的位置和旋转同步? 在多人联机游戏中,每个玩家的PlayController都需要在不同客户端之间同步位置和旋转。为了实现这个功能,您可以使用Unreal Engine提供的Replication功能。使用Replication,您可以将PlayController的位置和旋转同步到其他客户端,以确保所有玩家都看到相同的游戏状态。 希望这些回答能够帮助您解决UE4多人联机时PlayController可能遇到的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值