本发明属于虚拟现实领域,尤其涉及虚幻引擎中vr模式下实现独立用户界面的方法及系统。
背景技术:
1、本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
2、虚拟现实技术,英文名virtual reality,简称vr技术;主要由图形处理计算机、软件系统、输入设备和演示设备等组成,是一种可以创建和体验虚拟世界的计算机仿真系统。
3、虚幻引擎,全称unreal engine,是一款开源的实时3d创作工具,广泛应用于各种虚拟现实内容的开发制作。
4、绝大部分的vr内容中,用户都会利用专门的虚拟现实输入设备进行人机交互;但在部分特殊情景下,需一位用户在计算机桌面进行操作,同时另一位用户使用vr设备。在上述情景下,需要系统在计算机桌面显示ui界面供第一位用户使用,同时另一位用户正常使用vr设备;在现有的虚幻引擎中并没有满足上述使用方式的原生方案,需要通过二次开发实现。
5、目前常规技术流程主要有两种实现方式:
6、方案一:创建3dui,将umg控件以3d渲染的形式在vr数字场景中进行渲染。
7、方案二:改动引擎源码,建立独立的用户界面模块。
8、上述的两种实现方案中,方案一存在ui界面显示效果差、3d渲染的umg控件容易影响vr视角下的用户体验、3d渲染性能消耗高等缺点;方案二则需要投入大量的人力进行功能开发与维护,技术路线复杂,综合成本较高;因此,现有方案在大量的成本收入下,用户的操作和观感体验也不好。
技术实现思路
1、为克服上述现有技术的不足,本发明提供了虚幻引擎中vr模式下实现独立用户界面的方法及系统,实现vr产品满足桌面用户和vr用户同时操作的需求。
2、为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
3、本发明第一方面提供了虚幻引擎中vr模式下实现独立用户界面的方法。
4、虚幻引擎中vr模式下实现独立用户界面的方法,包括:
5、采用虚幻引擎原生的umg系统,创建并实例化umg控件;
6、创建独立的windows窗口,并将实例化的umg控件渲染到windows窗口,将umg控件作为windows窗口的内容;
7、激活windows窗口,将独立的windows窗口作为桌面人机交互界面的界面,并将桌面用户交互的子控件实例化后挂载到umg控件下;
8、将windows窗口与vr操作分离,作为独立的常规平面界面运行,供用户交互。
9、进一步的,在所述创建并实例化umg控件之前,还包括启动vr模式,激活虚拟现实设备。
10、进一步的,所述实例化umg控件,是通过基础流程实例化umg控件至内存中。
11、进一步的,所述umg控件实例化后,作为桌面人机交互界面的母控件,通过挂载子控件的形式来添加不同的界面元素。
12、进一步的,所述创建独立的windows窗口,是通过slate系统创建独立的windows窗口,窗口覆盖默认的vr视角映射窗口。
13、进一步的,所述windows窗口,通过蓝图系统依附于gameobject实例,提供具体的细节设置。
14、进一步的,所述windows窗口在激活时,采用全屏方式并会覆盖系统原窗口。
15、进一步的,所述子控件在挂载到umg控件下后,支持动态增加或移除操作。
16、进一步的,所述将windows窗口与vr操作分离,是windows窗口捕获用户鼠标输入,运行常规平面界面交互,vr设备同步保持原操作模式运行。
17、本发明第二方面提供了虚幻引擎中vr模式下实现独立用户界面的系统。
18、虚幻引擎中vr模式下实现独立用户界面的系统,包括控件创建模块、窗口创建模块、窗口激活模块和窗口运行模块:
19、控件创建模块,被配置为:采用虚幻引擎原生的umg系统,创建并实例化umg控件;
20、窗口创建模块,被配置为:创建独立的windows窗口,并将实例化的umg控件渲染到windows窗口,将umg控件作为windows窗口的内容;
21、窗口激活模块,被配置为:激活windows窗口,将独立的windows窗口作为桌面人机交互界面的界面,并将桌面用户交互的子控件实例化后挂载到umg控件下;
22、窗口运行模块,被配置为:将windows窗口与vr操作分离,作为独立的常规平面界面运行,供用户交互。
23、本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的虚幻引擎中vr模式下实现独立用户界面的方法中的步骤。
24、本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的虚幻引擎中vr模式下实现独立用户界面的方法中的步骤。
25、以上一个或多个技术方案存在以下有益效果:
26、本发明所述的虚幻引擎中vr模式下实现独立用户界面的方法,能够满足桌面用户和vr用户同时操作的使用情景,在此基础上两方面用户的操作和观感体验都不会受影响;桌面用户的操作界面采用原生umg系统进行开发,避免了重复开发工作并提高了人机交互效率;独立用户界面不依赖3d渲染管线或额外的引擎拓展模块,保证了vr内容的渲染效率。
27、本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,包括:
2.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,在所述创建并实例化umg控件之前,还包括启动vr模式,激活虚拟现实设备。
3.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述实例化umg控件,是通过基础流程实例化umg控件至内存中。
4.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述umg控件实例化后,作为桌面人机交互界面的母控件,通过挂载子控件的形式来添加不同的界面元素。
5.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述创建独立的windows窗口,是通过slate系统创建独立的windows窗口,窗口覆盖默认的vr视角映射窗口。
6.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述windows窗口,通过蓝图系统依附于gameobject实例,提供具体的细节设置。
7.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述windows窗口在激活时,采用全屏方式并会覆盖系统原窗口。
8.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述子控件在挂载到umg控件下后,支持动态增加或移除操作。
9.如权利要求1所述的虚幻引擎中vr模式下实现独立用户界面的方法,其特征在于,所述将windows窗口与vr操作分离,是windows窗口捕获用户鼠标输入,运行常规平面界面交互,vr设备同步保持原操作模式运行。
10.虚幻引擎中vr模式下实现独立用户界面的系统,其特征在于,包括控件创建模块、窗口创建模块、窗口激活模块和窗口运行模块: