ue4 vr连接_VR丨手把手教你用UE4开发VIVE: 局域网联机

系列回顾:

此篇只作为设置与预习api和相关知识点,近几天将陆续完成一个简单联网Demo的讲解,敬请期待。美工同学看到C++不要慌,都是粘贴复制操作,不漏看就肯定能跑起来引擎环境配置文件修改与项目在线模式启动修改

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

创建一个第三人称项目

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...

Paste_Image.png

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

Paste_Image.png

8)然后点击窗口运行

窗口播放

显示结果

此种用引擎调试是不走网络的,属于走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】。。。

【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.流输出同上预习部分2RPC(可以不看)RPC大家可以略作了解,(作用归纳下来就是实现服务器与客户端的函数互调,即UE4中函数复制的下层实现原理,因为是客户端与服务器的函数不在同一内存是没法互调的,RPC架构则可以做出这种效果)

今日推荐

添加小编微信,可享双重福利

1.加入GAD游戏VR交流圈

获取行业干货资讯,观看大牛分享直播

2.直接领取GAD独家VR资料库,地址在小编朋友圈

包括研究报告、游戏制作、项目分享等全套资料

↓长按添加小编GAD-安琪↓

你可能感兴趣的:(ue4,vr连接)