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

 
  

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

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第1张图片
Paste_Image.png


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第2张图片
创建一个C++类
UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第3张图片
选择不继承任何UE提供的基类

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

[OnlineSubsystem]  
DefaultPlatformService=Null
UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第4张图片
DefaultEngine.ini修改


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

PrivateDependencyModuleNames.Add("OnlineSubsystemNull");
UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第5张图片
MyProect.Build.cs修改


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第6张图片
生成一下,加载配置文件


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第7张图片
设置调试人数和高级设置


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第8张图片
窗口显示选项


8)然后点击窗口运行

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第9张图片
双窗口显示


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第10张图片
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】

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第11张图片
是否拥有权限,或者直接认为是否是主机好了


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

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第12张图片
has Authority节点
【Create Session】

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第13张图片
创建会话


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

【Find Session】

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第14张图片
查找会话


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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第15张图片
参数类型为
【Join Session】

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

UE4 HTC VIVE - 番外篇 - 局域网联机(一)_第16张图片
加入会话


输出:
c.流输出同上




你可能感兴趣的:(UE4)