本发明涉及vr领域,具体涉及一种基于unreal在vr里实现多人交互的方法。
背景技术:
随着虚拟技术的发展应用,目前在游戏引擎中也通过虚拟现实,采用vr设备实现多人同时参与游戏的功能。unrealengine4作为一款次时代游戏引擎,其中自带的vr模板在联机测试中,其中一个客户端的手柄的移动因为自带的联机框架会导致另一客户端手柄同步移动,达不到多人联机的目的。为了满足用户多人联机需求,在unrealengine4联机框架基础上采用htc的一款vr设备,即htcvive,实现运行的多人联机模式。
本发明提供一种基于unreal在vr里实现多人交互的方法,在unrealengine4联机框架基础上实现运行在htcvive上vr项目的多人联机模式,通过修改vr中手柄头盔的实现方法达到联机同步的目的,在此基础上再实现联机相关功能。
技术实现要素:
本发明提供一种基于unreal在vr里实现多人交互的方法,实现htcvive多人联机交互,用户可不修改源代码,直接通过新的基于可视化脚本语言的模板,得到可联机同步的角色。
为实现上述目的,本发明提供如下技术方案:一种基于unreal在vr里实现多人交互的方法,包括如下内容:
(1)client(本地客户端)在收到自己的vr设备发送的位置信息后,将数据发送到server(联机主机服务器);
(2)server处理后再广播到各个client中;
(3)client收到服务器传回的数据,再将手柄头盔等组件通过接收的数据再次定位。
其中主要步骤包括:
步骤一:分拆actor。不能把手柄和头盔放同一个pawn内,将手柄和头盔分拆到不同的actor中方便重定位坐标:
步骤二:vr数据收集:收集vr设备包含手柄和头盔的本地空间坐标信息(包含x,y,z),收集到数据后不立即使用;
步骤三:发送收集到的空间坐标数据到联机的主机服务器server做判断并计算偏移量;
步骤四:服务器广播计算后的数据给所有的client
步骤五:所有收到广播信息的client根据收到的服务器数据计算和更新本地显示的对应client的人物的设备信息,即更新包括手柄和头盔的空间坐标。
所述unrealengine4是一款次时代游戏引擎。
所述vr是虚拟现实技术。
所述htcvive是htc的一款vr设备。
所述多人联机是可以供多人同时参与的模式。
本发明的有益效果是:
1.本发明中用户可不修改源代码,直接通过新的基于可视化脚本语言的模板,得到可联机同步的角色。
2.能真实反映其他玩家的手柄和头盔的坐标信息而不是直接读取本地设备信息,避免本地看到的所有其他client都跟自己的动作一样,保证了联机时显示的所有client实时信息和显示都是正确的。
3.本发明有利于后续开发工作,能够在此基础上便于行二次开发出联机功能。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与发明的实施例一起用于解释本发明,并不构成对本发明的限制。
在附图中:
图1是本发明所述的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
一种基于unreal在vr里实现多人交互的方法,包括如下内容:
(1)client(本地客户端)在收到自己的vr设备发送的位置信息后,将数据发送到server(联机主机服务器);
(2)server处理后再广播到各个client中;
(3)client收到服务器传回的数据,再将手柄头盔等组件通过接收的数据再次定位。
其中主要步骤包括:
步骤一:分拆actor。不能把手柄和头盔放同一个pawn内,将手柄和头盔分拆到不同的actor中方便重定位坐标:
步骤二:vr数据收集:收集vr设备包含手柄和头盔的本地空间坐标信息(包含x,y,z),收集到数据后不立即使用;
步骤三:发送收集到的空间坐标数据到联机的主机服务器server做判断并计算偏移量;
步骤四:服务器广播计算后的数据给所有的client
步骤五:所有收到广播信息的client根据收到的服务器数据计算和更新本地显示的对应client的人物的设备信息,即更新包括手柄和头盔的空间坐标。
所述unrealengine4是一款次时代游戏引擎。
所述vr是虚拟现实技术。
所述htcvive是htc的一款vr设备。
所述多人联机是可以供多人同时参与的模式。
与现有技术相比,本发明中用户可不修改源代码,直接通过新的基于可视化脚本语言的模板,得到可联机同步的角色;能真实反映其他玩家的手柄和头盔的坐标信息而不是直接读取本地设备信息,避免本地看到的所有其他client都跟自己的动作一样,保证了联机时显示的所有client实时信息和显示都是正确的;有利于后续开发工作,能够在此基础上便于行二次开发出联机功能。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。