一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟现实设备硬件驱动系统的制作方法

2022-03-23 04:08:20 来源:中国专利 TAG:


1.本发明涉及虚拟现实开发应用领域,尤其涉及一种虚拟现实设备硬件驱动系统。


背景技术:

2.虚拟现实技术(virtual reality,vr)是20世纪发展起来的一项全新的实用技术,是计算机模拟虚拟环境从而给人以环境沉浸感。
3.以往的steamvr插件、steamvr plugin utility插件、vrtk插件等vr驱动插件都是国外的核心技术,而且插件的体积很大,有很多冗余的文件,数据结构及设计思路上不够优化,无形中增加了国内开发者对vr项目开发的门槛,开发效率低。且vr硬件驱动方法不够精简和优化,应用复杂、繁琐,不能很好的获取到想要的参数数据;硬件数据层层传递、算法不够优化导致对硬件(计算机配置、vr一体机配置)过度依赖,消耗计算机性能或渲染性能,无形中增加计算机压力,计算机配置要求较高。


技术实现要素:

4.本发明主要解决现有技术的vr硬件驱动方法不够精简和优化,应用复杂、繁琐,不能很好的获取到想要的参数数据,消耗计算机性能或渲染性能等技术问题,提出一种虚拟现实设备硬件驱动系统,以避免繁琐的数据传递,降低性能消耗,提高vr开发效率。
5.本发明提供了一种虚拟现实设备硬件驱动系统,包括:引擎模块、数据传递及检测模块、数据库模块、硬件管理器模块和监听模块;
6.所述引擎模块,用于检测公共接口库是否可用,如果可用则进行公共接口初始化,如果不可用则自动配置虚拟现实支持选项;
7.所述数据传递及检测模块,用于在配置公共接口完成后,检测系统所在pc机上是否安装收发数据用的中继客户端,如果pc机上安装已经中继客户端,则调用并启动中继客户端,如果pc机上未安装已经中继客户端,则安装中继客户端;
8.所述数据库模块,用于加载虚拟现实设备硬件绑定所需的配置文件和行为配置文件,并配置vr硬件模型库;
9.所述硬件管理器,用于根据数据库模块配置的模型库,连接vr硬件获取硬件数据;
10.所述监听模块与硬件管理器连接,用于对vr硬件的行为进行监听。
11.优选的,所述数据传递及检测模块,如果检测系统所在设备为pc机,可系统需要设置数据传递及检测模块,一体机则不需要设置数据传递及检测模块。
12.优选的,硬件数据包括但不限于:硬件厂商、品牌、型号、硬件序列号、硬件类型、硬件刷新率。
13.优选的,所述监听模块包括:第一监听子模块、第二监听子模块和第三监听子模块;
14.所述第一监听子模块,用于监听外接的vr硬件的连入或断开事件;
15.所述第二监听子模块,用于监听并刷新外接的vr硬件在三维引擎中的空间定位;
16.所述第三监听子模块,用于监听并刷新外接的vr硬件的指令输入事件。
17.优选的,所述第一监听子模块实时监听外接的vr硬件的连入或断开,当外接的vr硬件连接时,刷新是否有vr硬件连入,使用for循环遍历所有硬件索引,判断是否有外部vr硬件连接,如果有则创建该硬件实例,并加入到硬件管理器中。
18.所述硬件管理器,根据所连入vr硬件的序列码,获取到该vr硬件的硬件类型,并根据该硬件类型匹配硬件绑定列表,如果该vr硬件已被绑定到指定骨骼位置,则设定所绑定的骨骼类型,加载该vr硬件所对应的模型;如果该硬件类型在硬件绑定列表中没有绑定,则将该vr硬件断开连接。
19.优选的,所述第二监听子模块,外接的vr硬件连入后,通过公共接口获取该vr硬件的定位数据信息,并将该vr硬件的定位数据信息转换成空间数据。
20.优选的,所述第三监听子模块,根据行为配置文件的映射数据,遍历硬件管理器中的所有已连入的外接的vr硬件;并每一帧判断该vr硬件是否有数据输入,如果该vr硬件有硬件按钮值输入,则判断该vr硬件的指令输入是否满足触发条件;如果满足触发硬件条件,则发送给业务层触发事件。
21.优选的,还包括:所述节点绑定模块,用于进行可视化vr硬件测试及骨骼绑定;
22.所述节点绑定模块,生成并给用户呈现绑定菜单界面,绑定菜单界面中,用户可查看已绑定的vr硬件和绑定新vr硬件;
23.所述节点绑定模块,采集用户选择的人体骨骼节点,并自动绑定该vr硬件到对应的人体骨骼节点位置;
24.所述节点绑定模块,实时获取vr硬件属性参数,并将vr硬件属性参数导入绑定菜单界面中;
25.所述节点绑定模块,采集用户输入的vr硬件参数属性。
26.优选的,还包括:所述存储模块,用于存储配置好的vr硬件配置文件。
27.优选的,还包括:所述自适应调节模块,用于在虚拟现实设备画面切换时,进行vr显示优化;
28.所述自适应调节模块,在虚拟现实设备画面切换时,利用计算机图形学算法控制屏幕的黑度和亮度,模拟人眼眨眼短暂黑屏;
29.所述自适应调节模块,根据当前计算机性能,自动调节vr头显渲染帧率;
30.所述自适应调节模块,获取摄像机画面数据,经过二次图形过渡算法,平滑渲染画面。
31.本发明提供的一种虚拟现实设备硬件驱动系统,摒弃以往繁琐的插件,与vr硬件设备直接通讯,直接从硬件中获取所需数据,避免繁琐的数据传递,降低性能消耗,摆脱国外技术垄断的桎梏。在开发应用上,使用此vr驱动专利,界面友好,易于操作,使用轻便,易于开发,提高vr开发效率,比使用以往vr驱动开发项目或游戏提高40%以上效率;还具有较为友好的可视化操作界面,一键部署功能,vr头显即插即用等优势。本发明利用了openxr的底层接口函数,直接调用硬件数据,规避了一系列消耗性能的运算,节约计算机性能上的开销,在图像处理方面调用opengl计算机图形学接口,对vr画面进行二次重绘,因此可以很好的节省vr数据计算、图像渲染上消耗的计算机性能。本发明的系统可以很好的解决vr开发者上手难度高、操作繁琐、依赖高硬件配置的限制,可以为国内大多数vr企业或个人开发者
提供非常便利的支持,对国内vr行业发展有良好的帮助,降低vr技术在各行业应用门槛。
32.本发明在unity3d引擎的vr项目、产品、游戏、医疗、教育等领域具有较好的应用前景,可以满足及兼容市面大所数vr头显硬件的驱动支持。
附图说明
33.图1是本发明提供的虚拟现实设备硬件驱动系统的模块连接示意图;
34.图2是本发明提供的虚拟现实设备硬件驱动系统的架构图。
具体实施方式
35.为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
36.如图1所示,本发明实施例提供的虚拟现实设备硬件驱动系统,包括:引擎模块、数据传递及检测模块、数据库模块、硬件管理器模块、监听模块、节点绑定模块、存储模块和所述自适应调节模块。
37.虚拟现实设备,包括但不限于vr头显、vr一体机等引导用户产生一种身在虚拟环境中的感觉的设备。
38.如图2所示,系统的架构,包括应用层、引擎层、驱动层、支撑层和硬件层。实际的开发vr项目所使用此架构的功能接口模块属于应用层;引擎模块属于引擎层;硬件管理器模块属于驱动层;openxr模块属于支撑层;各大厂商硬件对接的接口模块属于硬件层。本发明可以支持steamvr、osvr、oculu、gear、daydreamvr。
39.所述引擎模块,用于检测公共接口库(openxr)是否可用,如果可用则进行公共接口初始化,如果不可用则自动配置虚拟现实支持选项(virtual reality supported)。
40.所述数据传递及检测模块,用于在配置公共接口完成后,检测系统所在pc机上是否安装收发数据用的中继客户端(steamvr客户端),如果pc机上安装已经中继客户端,则调用并启动中继客户端,如果pc机上未安装已经中继客户端,则安装中继客户端。其中,所述数据传递及检测模块,如果检测系统所在设备为pc机,可系统需要设置数据传递及检测模块,一体机则不需要设置数据传递及检测模块。
41.所述数据库模块,用于加载虚拟现实设备硬件绑定所需的配置文件和行为配置文件,并配置vr硬件模型库。
42.加载的具体过程:递归查找指定名称的目标文件夹(例如,knightvr/resources/vrconfig)下的硬件绑定文件(例如,devicesnbindingconfig.json),找到硬件绑定文件后,打开配置文件并读取配置数据。并在该目标文件夹下打开行为配置文件(例如,actions.json),读取硬件配置数据,配置vr硬件模型库。
43.所述硬件管理器,用于根据数据库模块配置的模型库,连接vr硬件获取硬件数据。具体的,所述硬件管理器,根据所连接的vr硬件以及数据库模块配置的模型库,利用公共接口获取该硬件所有硬件数据。硬件数据包括但不限于:硬件厂商、品牌、型号、硬件序列号、硬件类型、硬件刷新率等。在本系统中,硬件管理器起主控作用。
44.所述监听模块与硬件管理器连接,用于对vr硬件的行为进行监听;所述监听模块包括:第一监听子模块、第二监听子模块和第三监听子模块。
45.所述第一监听子模块,用于监听头显、手柄等外接的vr硬件的连入或断开事件。
46.所述第一监听子模块实时监听外接的vr硬件的连入或断开,当外接的vr硬件(vr头显或者vr手柄)连接时,刷新是否有vr硬件连入,使用for循环遍历所有硬件索引,判断是否有外部vr硬件连接,如果有则创建该硬件实例,并加入到硬件管理器中。
47.所述硬件管理器,根据所连入vr硬件的序列码,获取到该vr硬件的硬件类型(头显、手柄、追踪器、定位器等),并根据该硬件类型匹配硬件绑定列表,如果该vr硬件已被绑定到指定骨骼位置,则设定所绑定的骨骼类型,加载该vr硬件所对应的模型;如果该硬件类型在硬件绑定列表中没有绑定,则将该vr硬件断开连接。
48.所述第二监听子模块,用于监听并刷新外接的vr硬件在三维引擎中的空间定位。
49.所述第二监听子模块,外接的vr硬件连入后,通过公共接口获取该vr硬件的定位数据信息,并将该vr硬件的定位数据信息转换成空间数据。其中,定位数据信息通过4
×
4矩阵形式体现,空间数据通过三维坐标和三维旋转量体现,第二监听子模块将4
×
4矩阵换成三维坐标和三维旋转量。
50.具体的,获取到的vr外接硬件原始数据为一个3
×
4的矩阵。先获取三维坐标,再获取三维旋转四元数,转化成模型的空间数据。
51.所述第三监听子模块,用于监听并刷新外接的vr硬件的指令输入事件。
52.所述第三监听子模块,根据行为配置文件(action.json)的映射数据,遍历硬件管理器中的所有已连入的外接的vr硬件。并每一帧判断该vr硬件是否有数据输入,如果该vr硬件有硬件按钮值输入,则判断该vr硬件的指令输入是否满足触发条件;如果满足触发硬件条件,则发送给业务层触发事件。
53.所述节点绑定模块,用于进行可视化vr硬件测试及骨骼绑定。
54.所述节点绑定模块,生成并给用户呈现绑定菜单界面,绑定菜单界面中,用户可查看已绑定的vr硬件和绑定新vr硬件;
55.所述节点绑定模块,采集用户选择的人体骨骼节点,并自动绑定该vr硬件到对应的人体骨骼节点位置。
56.所述节点绑定模块,实时获取vr硬件属性参数,并将vr硬件属性参数导入绑定菜单界面中;所述节点绑定模块,可以采集用户输入的vr硬件参数属性。
57.在绑定菜单界面中,用户可以直接点击已连接的vr硬件图标,设置vr硬件参数属性以及一件绑定等操作。在绑定菜单界面中,如果硬件已被绑定则显示绿色图标,如果硬件为被绑定,则显示灰色图标。用户点击硬件图标,会显示该硬件的基础属性信息,如:硬件类型、硬件是否已绑定、硬件序列码、优先级、备注等。
58.所述存储模块,用于存储配置好的vr硬件配置文件。
59.所述硬件管理器,用于将配置好的vr硬件配置文件至云端服务器。
60.本发明的系统,保存好的vr硬件配置可选择两种储存方式:本地化保存和云端持久化存储,两种配置文件的存储方式都可以随时加载并使用。
61.所述自适应调节模块,用于在虚拟现实设备画面切换时,进行vr显示优化。
62.所述自适应调节模块,在虚拟现实设备画面切换时,利用计算机图形学算法
(opengl图形学算法)控制屏幕的黑度和亮度,模拟人眼眨眼短暂黑屏,从而避免使用者产生眩晕感导致不适,更好地提升vr用户的体验,
63.所述自适应调节模块,根据当前计算机性能,自动调节vr头显渲染帧率,实现渲染帧率自适应调节。自适应调节模块通过获取vr硬件的渲染帧率以及计算机当前的性能开销,适当调整帧率。
64.所述自适应调节模块,获取摄像机画面数据,经过二次图形过渡算法,平滑渲染画面,从而在较低的帧率下获得较好的视觉体验,避免卡顿产生的眩晕感,降低gpu渲染性能消耗。
65.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献