UE4 HTC VIVE - 番外篇 - 局域网联机(一)

 
 

--------------------引擎环境配置文件修改与项目在线模式启动修改--------------------

1)我们就直接用默认名创建一个第三人称项目


Paste_Image.png


2)右键资源栏,创建一个新的C++类


创建一个C++类

选择不继承任何UE提供的基类

3)打开【解决方案资源管理器】,找到我们的项目【MyProject】,点开后找到【Config】文件夹,找到【DefaultEngine.ini】文件,添加:

[OnlineSubsystem]  
DefaultPlatformService=Null

DefaultEngine.ini修改


4)找到【Source】文件夹,找到【MyProect.Build.cs】文件,添加:

PrivateDependencyModuleNames.Add("OnlineSubsystemNull");

MyProect.Build.cs修改


5)生成该项目生成完后记得重启一下虚幻引擎,让他重新加载一下配置文件


生成一下,加载配置文件


6)设置一下同时调试的玩家数量,完成后打开Advanced Settings...


设置调试人数和高级设置


7)设置一下窗口大小,这个根据个人习惯来,我是觉得太大不方便,当然双屏的同学可以笑了


窗口显示选项


8)然后点击窗口运行


双窗口显示


此时我们可以看到已经以看到服务器与客户端的虚拟形式表的窗口了


Paste_Image.png

此种用引擎调试是不走网络的,属于走127.0.0.1这种地址返回本机,故只能用于调试用,请不要尝试发布多机测试!

--------------------预习部分--------------------

描述一下联网过程:

1)目标:假设需要使2台机器连接到同一个局域网游戏内
2)过程:

a.打开一台主机上的应用,点击创建房间,(这时候该程序会使用UDP的方式在局域网内广播自己建立主机的消息【广播只存在于UDP协议,使用UDP.sendto向地址255.255.255.255实现局域网广播】)
b.启动另一台机器上的应用点击搜索房间,此时后台开启对XXXUDP端口的监听(这个时候就应该搜到刚才开启的主机所发出的广播消息了)
c.拿到地址然后再进行TCP连接,此时就算是正式完成了局域网连接;

--------------------预习1核心API--------------------

【Switch Has Authority】

此宏用来判断当前流程线所在应用是否为主机,


是否拥有权限,或者直接认为是否是主机好了


输出结果为:
a.当前流程为主机【Authority】;
b.当前流程不为主机【Remote】;

同判断的节点还有【Has Authority】...


has Authority节点
【Create Session】

此节点用来创建房间/主机,并开启UDP广播,
输入参数有:
a.玩家引用【PlayerController】
b.最大连接数量【PublicConnections】
c.是否使用局域网【UseLAN】


创建会话


输出:
d.无异常走【OnSuccess】;
e.发生异常走【OnFailure】;

【Find Session】

此节点用来搜索房间/主机,并开启对UDP端口的监听,
输入参数有:
a.玩家引用【PlayerController】
b.最多返回几个主机的消息【MaxResults】
c.是否使用局域网【UseLAN】


查找会话


输出:
d.流程出同上,
e.返回数组为接收到的主机消息列表【Results】


参数类型为
【Join Session】

此节点使用主机消息引用加入会话,
输入参数有:
a.玩家引用【PlayerController】
b.搜索到的主机结果【Search Result】


加入会话


输出:
c.流输出同上




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值