CN107870672B - 虚拟现实场景实现菜单面板的方法、装置和可读存储介质 - Google Patents
虚拟现实场景实现菜单面板的方法、装置和可读存储介质 Download PDFInfo
- Publication number
- CN107870672B CN107870672B CN201711172234.4A CN201711172234A CN107870672B CN 107870672 B CN107870672 B CN 107870672B CN 201711172234 A CN201711172234 A CN 201711172234A CN 107870672 B CN107870672 B CN 107870672B
- Authority
- CN
- China
- Prior art keywords
- menu panel
- virtual reality
- reality scene
- panel
- menu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明揭示了一种虚拟现实场景中实现菜单面板的方法、装置和计算机可读存储介质。所述方法包括:在虚拟现实场景中加载模型对象,获得虚拟现实场景中的几何体模型;为虚拟现实场景加载几何体模型挂载的视图对象;对视图对象进行菜单面板贴图的绘制;对菜单面板贴图和几何体模型执行网格组件的渲染,在虚拟现实场景呈现几何体模型菜单面板。将原本的二维面板融合到虚拟现实场景里面的几何体模型上,所获得的几何体模型菜单面板不再是没有厚度且需要平铺于虚拟现实场景中的平面面板,进而不再需要预置摆放位置,可以根据需要随意摆放,支持触碰操作而实现面板操控,几何体模型菜单面板以三维模型的形式存在,与虚拟现实场景相融合,提高交互沉浸感。
Description
技术领域
本发明涉及互联网应用技术领域,特别涉及一种虚拟现实场景中实现菜单面板的方法、装置和计算机可读存储介质。
背景技术
随着计算机应用技术的迅猛发展,基于VR(Virtual Reality,虚拟实境技术)实现的应用越来越多,在VR环境下,通过实现虚拟现实场景来构建三维空间的虚拟世界。
基于VR所实现应用的运行,不可避免的需要进行菜单面板的显示和操控。VR环境是二维显示器环境的演进。在二维显示器环境所实现的三维画面显示中,菜单面板是独立于三维画面之外,面向于二维显示器的二维面板。
而在VR环境下,虚拟现实场景中的交互是基于所构建的三维空间,并不会通过二维空间的位置变化来反向映射到三维空间进而实现虚拟现实场景中的操控,只会直接获取用户在真实三维空间的位置,将此位置直接对应到虚拟现实场景的三维空间。
虚拟现实场景中菜单面板的实现,只是将平面面板式的二维面板融入虚拟现实场景,将原来二维平面内的二维面板,变为三维空间中的一块平面面板。
由此平面面板式的二维面板在虚拟现实场景实现其菜单面板,使得虚拟现实场景中的实现存在着诸多缺陷。具体而言,二维面板形状固定,是一长方形且没有厚度的面板,虚拟现实场景中并非所有的地方都适合摆放此二维面板并且保证其易于操控,因此,需要在虚拟现实场景中预置摆放位置;其次,也由于二维面板是基于二维平面的,并没有厚度,所以不适合相对用户近距离摆放,更不适合通过触碰操作而实现操控,避免用户一不小心而穿越了整个二维面板。
因此,通过二维面板在虚拟现实场景实现所需要的菜单面板需预置摆放位置且不适用于触碰操作所进行的面板操控,进而导致了与虚拟现实场景不相融合的局限性。
发明内容
为了解决相关技术中需要为虚拟现实场景中菜单面板的实现预置摆放位置且相应的面板操控不支持触碰操作,进而与虚拟现实场景不相融合的技术问题,本发明提供了一种虚拟现实场景中实现菜单面板的方法、装置和计算机可读存储介质。
一种虚拟现实场景中实现菜单面板的方法,所述方法包括:
在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型;
为所述虚拟现实场景加载所述几何体模型挂载的视图对象;
对所述几何体模型挂载的视图对象进行菜单面板贴图的绘制;
对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板。
一种虚拟现实场景中实现菜单面板的装置,所述装置包括:
模型加载模块,用于在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型;
视图加载模块,用于为所述虚拟现实场景加载所述几何体模型挂载的视图对象;
绘制模块,用于对所述几何体模型挂载的视图对象进行菜单面板贴图的绘制;
渲染模块,用于对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板。
一种虚拟现实场景中实现菜单面板的装置,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据前述所述的虚拟现实场景中实现菜单面板的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据前述所述的虚拟现实场景中实现菜单面板的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
为了在虚拟现实场景中实现菜单面板,将首先在此虚拟现实场景中加载模型对象,获得呈现于虚拟现实场景中的几何体模型,加载几何体模型挂载的视图对象,并通过加载的视图对象进行菜单面板贴图的绘制,最终对菜单面板贴图和几何体模型执行网格组件的渲染,以在虚拟现实场景呈现几何体模型菜单面板,由此,将原本的二维面板融合到了虚拟现实场景里面的几何体模型上,所获得的几何体模型菜单面板不再是没有厚度且需要平铺于虚拟现实场景中的平面面板,进而不再需要预置摆放位置,可以在虚拟现实场景中根据需要随意摆放,也能够支持触碰操作而实现面板操控,几何体模型菜单面板以三维模型的形式存在,能够与虚拟现实场景相融合,提高了虚拟现实场景中交互沉浸感。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种装置的框图;
图2是根据一示例性实施例示出的一种虚拟现实场景中实现菜单面板的方法的流程图;
图3是根据图2对应实施例示出的对步骤210的细节进行描述的流程图;
图4是根据图2对应实施例示出的对步骤230的细节进行描述的流程图;
图5是根据图2对应实施例示出的对步骤250的细节进行描述的流程图;
图6是根据图2对应实施例示出的对步骤270在初始状态下的细节进行描述的流程图;
图7是根据图2对应实施例示出的对步骤270在其它状态下的细节进行描述的流程图;
图8是根据一示例性实施例示出的3D实例中Widget对象的实现示意图;
图9是根据图8对应实施例示出的弧形显示面板模型菜单面板示意图;
图10是根据图9对应实施例示出的通过射线交互操作实现的用户交互示意图;
图11是根据一示例性实施例示出的通过手指点击操作实现的用户交互示意图;
图12是根据一示例性实施例示出的游戏应用中几何体模型菜单面板的实现示意图;
图13是一示例性实施例示出的一种虚拟现实场景中实现菜单面板的装置的框图;
图14是根据图13对应实施例示出的对模型加载模块的细节进行描述的框图;
图15是根据图13所示实施例示出的对视图加载模块的细节进行描述的框图;
图16是根据图13所示实施例示出的对绘制模块的细节进行描述的框图;
图17是根据图13所示实施例示出的对渲染模块的细节进行描述的框图;
图18是根据图13所示实施例示出的对渲染模块的细节进行进一步搭配的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在一个示例性实施例中,本发明所涉及的实施环境可以是各种终端设备。通过在终端设备中构建VR环境,在所实现的虚拟现实场景以及虚拟现实场景所实现的菜单面板中进行各种操控,进而即可获得VR环境下的交互功能。
图1是根据一示例性实施例示出的一种装置的框图。例如,装置100可以是前述所示实施环境中的终端设备。例如,终端设备可以是智能手机、平板电脑、台式电脑、笔记本电脑等。
参照图1,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。
处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,以方便多媒体组件108和处理组件102之间的交互。
存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static RandomAccess Memory,简称SRAM),电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器118执行,以完成下述图2、图3、图4、图5、图6和图7任一所示方法中的全部或者部分步骤。
电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。
多媒体组件108包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(Microphone,简称MIC),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。
传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。
通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如WiFi(WIreless-Fidelity,无线保真)。在一个示例性实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件116还包括近场通信(Near FieldCommunication,简称NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,装置100可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图2是根据一示例性实施例示出的一种虚拟现实场景中实现菜单面板的方法的流程图。该虚拟现实场景中实现菜单面板的方法适用于前述所示的实施环境的终端设备,终端设备在一个示例性实施例中可以是图1所示的装置。如图2所示,该虚拟现实场景中实现菜单面板的方法,可以由终端设备执行,可以包括以下步骤。
在步骤210中,在虚拟现实场景中加载模型对象,获得呈现于虚拟现实场景中的几何体模型。
其中,终端设备中随着基于VR技术所实现应用的运行,将模拟产生一个三维空间的虚拟世界,提供给用户关于视觉等感官的模拟,让用户感觉仿佛身临其境,可以及时且没有限制地观察三维空间内的事物,进而达到自身被投射至三维空间中的效果,实现自己在三维空间内对事物的操控。
例如,在基于VR实现其功能的应用中,通过虚拟现实环境展示三维空间的虚拟世界,用户通过头戴式显示器查看,并且通过手持的控制器或者对用户手部运动的追踪进行虚拟现实环境中的操控。
在此应当进行说明的是,基于VR实现其功能的应用,可以是游戏应用,也可以是通过虚拟现实场景实现用户交互的其它应用,例如,用于操控所接入智能设备的应用等,在此不进行一一列举。
模型对象是提供实现相应几何体模型所需要的资源。模型对象指示了相应几何体模型的实体几何形状,并为实体几何形状的显示提供资源。模型对象控制了几何体模型在虚拟现实场景中的呈现,因此,通过模型对象的加载便可以获得几何体模型。模型对象的预配置是指预先指定用于实现菜单面板的实体几何形状,具体而言,是通过虚幻引擎4的蓝图,即UE4 Blueprint完成预配置过程。
可以理解,通过虚幻引擎4的蓝图完成模型对象的配置,而虚拟现实场景也是在虚幻引擎4的作用下实现的,由此,将使得所预配置模型对象渲染而获得的几何体模型是融合于虚拟现实场景中的,即几何体模型能够与虚拟现实场景融为一体,为后续基于模型对象而实现的菜单面板能够融入虚拟现实场景奠定基础。
虚拟现实场景是指随着应用的运行,当前所切换至并呈现的场景,虚拟现实场景是对应于应用所运行的进程的,在进入需要调用菜单面板的进程时,加载模型对象。
模型对象的加载,将为当前虚拟现实场景加载各种资源,进而在当前虚拟现实场景完成几何体模型的构建。
所构建的几何体模型,可以是任意实体几何形状。比如,弧形的显示器立体形状,或者不规则的立体形状等,只要是与虚拟现实场景的立体效果相适配即可。
至此,将在虚拟现实场景获得几何体模型,这一几何体模型适配于虚拟现实场景,并且存在厚度,所以可以放置于虚拟现实场景的任意位置,能够在其上支持触碰操作的用户交互。
在步骤230中,为虚拟现实场景加载几何体模型挂载的视图对象。
其中,视图对象用于为菜单面板贴图的实现提供需要的所有资源,进而指示了所最终实现菜单面板的显示样式以及所存在的各种控件等元素。视图对象将是根据应用中虚拟现实场景所需要实现菜单面板而预先配置的。
在为虚拟现实场景完成了模型对象的加载获得几何体模型之后,随之为此虚拟现实场景加载相应的视图对象。
可以理解,对于应用中需要配置的菜单面板往往有多种,其可能在内容上,或者在显示样式上存在着不同。显示样式包括了几何体模型的实体形状,也包括了视图对象所实现菜单面板贴图的显示样式。因此,为应用模型对象和视图对象,二者之间并一定存在着唯一的映射关系,而是分别与虚拟现实场景相关联的。
例如,可以针对于应用中所有菜单面板的实现配置唯一的模型对象,即唯一的几何体模型,进而无论需要在何种虚拟现实场景呈现何种菜单面板,都只会在这唯一的几何体模型上挂载当前虚拟现实场景相关联的视图对象,应用中实现菜单面板的几何体模型是一致的,而仅仅是在于投射到这一几何体模型上的菜单面板贴图各不相同。
在此情况下,模型对象虽然仅配置了一种,但是仍然是与需要进行菜单面板显示的虚拟现实场景相关联的。
又例如,也可以针对于应用中每一菜单面板的实现配置各不相同的模型对象,此时,需要进行菜单面板显示的虚拟现实场景都配置有关联的模型对象,并且根据所需要显示的菜单面板而配置有关联的视图对象。
关联于当前虚拟现实场景的视图对象,即为挂载在当前所获得几何体模型的视图对象,这一视图对象所渲染绘制得到的菜单面板贴图将被投射至几何体模型上。
在步骤250中,对几何体模型挂载的视图对象进行菜单面板贴图的绘制。
其中,通过视图对象进行渲染绘制即可获得菜单面板贴图,并完成这一菜单面板贴图在几何体模型上的投射。可以理解,在一个示例性实施例的具体实现中,菜单面板贴图实质是二维面板,换而言之,所配置的视图对象可以沿用原有视图对象,只需要在原有的虚拟现实场景中二维面板的实现上进行延伸,即可实现本发明在虚拟现实场景的几何体模型菜单面板,由此兼容了已有的菜单面板设计和实现工具,使得几何体模型上挂载的视图对象是通用的,不需要进行特殊考虑。
视图对象对所实现菜单面板的内容以及内容的显示样式进行了有效控制,并为此而相应提供所需要的资源。对几何体模型挂载的视图对象进行菜单面板贴图的绘制将为几何体模型菜单面板的显示提供了内容以及内容的显示样式,并存在于内存中,只需要执行渲染即可获得。
在步骤270中,对菜单面板贴图和几何体模型执行网格组件的渲染,以在虚拟现实场景呈现几何体模型菜单面板。
其中,网格组件是指以几何体形式存在,并且配置实现指定功能的程序组件。虚拟现实场景中菜单面板是作为程序组件而存在的,而此菜单面板是以几何体模型菜单面板的形式存在于虚拟现实场景,所以几何体模型菜单面板是静态网格组件,即StaticMesh,需要通过对菜单面板贴图和几何体模型执行网格组件的渲染而获得,并显示于虚拟现实场景中。
应当进一步说明的,几何体模型菜单面板是实体几何形状的三维菜单面板,拥有与虚拟现实场景相适应的立体效果,例如,其可以是电视机这一实体几何形状的三维菜单面板,也可以是公告板这一实体几何形状的三维菜单面板等。
至此,便可以在虚拟实现场景获得几何体模型菜单面板,并等待用户操作,以触发几何体模型菜单面板上的控件,例如,按钮控件等,进而相应触发响应事件。
实现的几何体模型与虚拟现实场景中的物品相类似,都是模拟实体而实现的,都具有厚度,也都能够在其上实现交互碰撞设置,因此,能够支持触碰以及非触碰的任意交互操作,例如,可以支持手指点击操作和射线交互操作,不再由于相对用户的距离较近而不适合触碰操作,在增强视觉效果的同时,也增强了交互性能。
通过本示例性实施例,可以将所需要呈现的菜单面板内容放置在任意三维形状的几何体模型上面,通过不同的菜单面板内容使用相同或不同的独立模型对象实现几何体模型菜单面板,进而放置在虚拟现实场景里面,充分的利用了虚拟现实场景所带来的空间扩展优势,无论是对于用户交互,还是对于摆放位置而言,都能够获得足够的自由度,不再受到限制。
图3是根据图2对应实施例示出的对步骤210的细节进行描述的流程图。该步骤210,如图3所示,可以包括但不限于以下步骤。
在步骤211中,虚拟现实场景切换和呈现中,根据所切换并呈现虚拟现实场景指示的进程,获得与进程相适配的菜单面板加载指令。
其中,如前所述的,随着应用的运行,将不断进行着一系列虚拟现实场景的切换和呈现,不断进行的虚拟现实场景切换和呈现的过程将是不同进程的演进过程。所指的进程,是应用运行的不同阶段,从一个阶段进入另一阶段大都是在菜单面板这一类组件的控制下实现的。
例如,对于游戏应用而言,所指的进程,即为游戏进程,包括了游戏加载阶段,开始游戏阶段,游戏设置阶段、游戏暂停阶段和退出游戏阶段等,所切换和呈现的虚拟现实场景,有的会对应于某一进程的开始,有的则仅仅是某一进程的进行过程。
一旦完成一虚拟现实场景的切换和显示,便确认其所指示的进程是否对应于此进程的开始,以便于在此情况下触发进行相应菜单面板的加载,获得适用于当前虚拟现实场景的菜单面板。
具体的,根据所切换并呈现虚拟现实场景指示的进程而获得菜单面板加载指令,是随着应用中配置的业务逻辑产生的。可以理解,虚拟现实场景的切换和呈现实质上是根据配置的业务逻辑进行的,例如,对于一游戏应用而言,其游戏的各虚拟现实场景切换都是在业务逻辑的控制下进行,而在此过程中涉及的菜单面板加载指令也将在业务逻辑的控制下产生。
比如,根据游戏应用中为每一场游戏对局而配置的业务逻辑,开始游戏阶段,游戏对局开始之前,都会获得相应的菜单面板加载指令,以请求调出确认是否开始游戏对局的菜单面板。
在步骤213中,根据菜单面板加载指令检测配置,确定为虚拟现实场景进行菜单面板显示所使用的模型对象。
其中,如前所述的,为在虚拟现实场景实现菜单面板,都需要进行相应模型对象和视图对象的加载,而模型对象和视图对象都是预先配置的,因此,在获得菜单面板加载指令之后,需要进行配置的检测,以确定使用哪一模型对象来实现虚拟现实场景中的菜单面板。
具体而言,可以在菜单面板加载指令的触发下,确定虚拟现实场景关联的模型对象作为虚拟现实场景进行菜单面板显示而使用的模型对象。
在步骤215中,在虚拟现实场景加载模型对象,获得用于实现菜单面板显示的几何体模型。
通过此示例性实现例,为应用中的虚拟现实场景提供与之相融合的几何体模型,通过模型对象的配置以及几何体模型的获得,使后续的实现过程中能够直接将二维面板,即菜单面板贴图投射到几何体模型上就能够获得几何体模型菜单面板,相对原有实现不需要进行颠覆式的改进或者为此付出较大代价,提高了迭代实现几何体模型菜单面板的简易性,使得菜单面板与虚拟现实场景之间易于融合。
图4是根据图2对应实施例示出的对步骤230的细节进行描述的流程图。该步骤230,如图4所示,可以包括以下步骤。
在步骤231中,根据菜单面板加载指令指示加载的菜单面板获得所加载菜单面板存在的所有菜单面板状态。
其中,首先应当说明的是,菜单面板即为通过本发明所示实施例在虚拟现实场景实现的几何体模型菜单面板这一类组件。几何体模型菜单面板这一类组件,根据所配置几何体模型的不同,和/或根据所投射菜单面板贴图中内容以及内容的显示样式的不同,形成了各种几何体模型菜单面板。但是无论何种几何体模型菜单面板,都有其所对应的菜单面板状态,并且随着用户交互的进行,由一菜单面板状态切换至另一菜单面板状态。
菜单面板加载指令指示进行虚拟现实场景中菜单面板的加载,除此之外还指示需要加载何种菜单面板。菜单面板这一类组件随着其上控件是否被触发而存在着多种菜单面板状态。在根据菜单面板加载指令确定所请求加载的菜单面板,并获取此类菜单面板存在的所有菜单面板状态。
在一个示例性实施例的具体实现中,获得的所有菜单面板状态,包括初始状态以及各控件上发生交互甚至于被触发而分别对应的状态。
菜单面板的内容,一部分仅仅用于进行内容提示,另一部分则用于指示所在控件挂载的响应事件,用户交互上与控件发生的交互碰撞或者对控件的触发都会使得菜单面板状态发生变化。
菜单面板,即几何体模型菜单面板被显示于虚拟现实场景时,处于初始状态;用户交互上随着在控件发生的停留,即触发了控件上的停留(Hover)事件,则由菜单面板状态由初始状态变化为停留事件触发状态;进一步的,在此基础上,随着被触发停留事件的控件被点击,触发此控件的Click(点击)事件,菜单面板状态由停留事件触发状态变化为Click事件触发状态。
用户交互上在控件发生的停留,是指用户交互而在几何体模型菜单面板中控件上进行停留,例如,触控点停留于几何体模型菜单面板的控件上,滑动操控轨迹停留至几何体模型菜单面板的控件上,以及用户手持控制器发射射线而在几何体模型菜单面板的控件上产生的交点等。
通过用户交互而在几何体模型菜单面板的控件上发生停留,进而触发控件上的停留事件,此时,随着用户交互在进行的点击选定,触发此控件的点击事件。
随着用户交互的进行,通过事件的触发以及几何体模型菜单面板的样式变化而进行及时有效的反馈和响应,几何体模型菜单面板的样式变化是依据用户与几何体模型菜单面板发生交互碰撞所产生的菜单面板状态变化进行的。
不同的菜单面板状态,对应了不同的几何体模型菜单面板样式,因此,每一菜单面板状态都有其用于控制模型菜单面板样式的视图对象。
在步骤233中,加载对应于各菜单面板状态的视图对象。
其中,在为虚拟现实场景即将加载显示的几何体模型菜单面板获取所存在的所有菜单面板状态之后,为此几何体模型菜单面板针对于所存在的每一菜单面板状态,进行视图对象的加载。
可以理解,对应于一菜单面板状态的视图对象,将控制此菜单面板状态下几何体模型菜单面板中的内容以及所涉及到的显示样式,不同菜单面板状态下的内容以及所涉及的显示样式便构成了不同的几何体模型菜单面板样式。
通过本示例性实施例,在菜单面板加载之初,也就是说,在初始化获得虚拟现实场景中几何体模型菜单面板的过程中,就为后续所发生的菜单面板状态变化提供了快速反馈和响应的基础,由此方能够有效提高虚拟现实场景中操控的顺畅性,增强了虚拟现实场景下的性能。
图5是根据图2对应实施例示出的对步骤250的细节进行描述的流程图。该步骤250,如图5所示,可以包括但不限于:
在步骤251中,通过对应于各菜单面板状态的视图对象进行贴图绘制,获得对应于各菜单面板状态的贴图。
其中,在此应当说明的是,虚拟引擎所实现的虚拟现实场景以及虚拟现实场景中的几何体模型菜单面板,所预先配置并在需要时加载的资源,是以对象的形式存在的,例如,前述所指的模型对象以及视图对象。
视图对象是实现几何体模型菜单面板所需要资源的存在形式,针对于每一菜单面板状态,进行相应视图对象的贴图绘制,便可以得到用于实现此菜单面板状态下几何体模型菜单面板所需要的资源,即贴图。
所绘制得到的对应于各菜单面板状态的贴图,描述了各菜单面板状态下在几何体模型菜单面板展示的内容以及内容的展示样式,例如,几何体模型菜单面板的内容显示以及所显示内容之下的背景样式、指示控件上挂载的响应事件等。
在步骤253中,从对应于各菜单面板状态的贴图中获取对应于初始状态的贴图,对应于初始状态的贴图包括对应于面板主体视图的贴图以及对应于各控件的贴图。
其中,几何体模型菜单面板的加载,是在虚拟现实场景中实现初始状态下的几何体模型菜单面板,因此,将从所绘制的贴图中获取对应于初始状态的贴图。
进一步的,面板主体视图用于构成几何体模型菜单面板的视图主体,对于各控件的贴图则用于构成相应控件在几何体模型菜单面板上的视图。
在步骤255中,通过对应于面板主体视图的贴图以及对应于各控件的贴图形成对应于初始状态的菜单面板贴图以及菜单面板贴图中的控件贴图。
通过此示例性实施例,获得初始状态下投射至几何体模型菜单面板的菜单面板贴图以及菜单面板贴图中的控件贴图,以等待进行虚拟引擎中网格组件的渲染。
图6是根据图2对应实施例示出的对步骤270在初始状态下的细节进行描述的流程图。该步骤270,如图6所示,可以包括但不限于:
在步骤271a中,获取对应于初始状态的材质信息。
其中,应当首先说明的是,几何体模型菜单面板作为虚幻引擎的网格组件,在获得菜单面板贴图以及投射目标,即几何体模型之后,就可以进行渲染,在当前虚拟现实场景中渲染几何体模型菜单面板这一网格组件。
进一步的,在此之前,还将融合材质信息所提供的材质效果,以增强视觉表现能力。
材质信息从材质角度指示虚幻引擎所实现几何体模型菜单面板的材质输入引脚,例如,可以指示几何体模型菜单面板的不透明度,偏移位置等材质效果。
材质信息将通过虚幻引擎所提供的编辑器,在蓝图的作用下预先配置得到。每一菜单面板状态,都有其所对应的材质信息。
在步骤273a中,使用贴图所形成且对应于初始状态的菜单面板贴图以及材质信息,对几何体模型执行虚拟现实场景中网格组件的渲染,获得几何体模型菜单面板,几何体模型菜单面板中配置有控件。
其中,使用贴图,加上材质信息所指示的材质效果,使得贴图按照材质信息指示的材质效果输出到几何体模型上进行显示,由此便可以获得所虚拟现实场景呈现的几何体模型菜单面板。
在步骤275a中,将几何体模型菜单面板呈现于虚拟现实场景。
通过此示例性实施例,实现了初始状态下几何体模型菜单面板的渲染,在虚拟现实场景实现与之相融合的几何体模型菜单面板的同时,也进一步增强了几何体模型菜单面板的显示效果。
图7是根据图2对应实施例示出的对步骤270在其它状态下的细节进行描述的流程图。该步骤270,如图7所示,可以包括以下步骤。
在步骤271b中,接收几何体模型菜单面板中控件的触发指令。
其中,几何体模型菜单面板中控件的触发指令,是指几何体模型菜单面板中控件被触发而产生的指令。例如,在控件被点击之后就会生在此控件的触发指令。
在步骤273b中,根据触发指令获得几何体模型菜单面板中被触发的控件,并且进一步根据所述控件的被触发获得几何体模型菜单面板发生状态变化而对应的菜单面板状态。
其中,所接收几何体模型菜单面板中控件的触发指令指示了被触发的控件,对于几何体模型菜单面板而言,将一方面需要响应此触发指令而执行所挂载的事件,另一方面由于控件被触发而使得菜单面板状态发生了变化,需要为此而更新几何体模型菜单面板,因此将获取几何体模型菜单面板发生状态变化而对应的菜单面板状态。
几何体模型菜单面板发生状态变化而对应的菜单面板状态,是指随着控件被触发而由当前菜单面板状态所变化至的菜单面板状态。
在步骤275b中,根据菜单面板状态更新材质信息,并获取对应于菜单面板状态的贴图。
其中,可以理解,几何体模型菜单面板所存在的菜单面板状态,构成了一系列菜单变化过程,各菜单面板状态相互之间是具备连贯性的,随着用户交互的进行由一菜单面板状态变化为另一菜单面板状态。
因此,需要获取状态发生变化后的菜单面板状态,以此方能够获得与之相对应的材质信息和贴图。
在步骤277b中,通过更新的材质信息和对应于当前菜单面板状态的贴图执行网格组件的渲染,以更新虚拟现实场景呈现的几何体模型菜单面板。
通过此示例性实施例,响应控件的触发而重新渲染得到与控件被触发相适应的几何体模型菜单面板,以保证虚拟现实场景中用户交互的快速有效响应,增强虚拟现实场景的交互性能。
进一步的,如前所述的,几何体模型菜单面板中控件都挂载了响应事件,随着用户与控件之间碰撞的发生,使得控件被触发,进而所挂载的响应事件被相应触发。
应当理解,响应事件是逻辑事件的一种,有着自身所映射的控制逻辑,并通过所映射控制逻辑的执行为控件的触发实现响应。所实现的响应,是根据所在的应用以及所在的几何体模型菜单面板、触发的控件决定的。具体而言,所实现的响应可以是所在的几何体模型菜单面板中被触发控件所对应的几何体模型菜单面板内容变化,例如,几何体模型菜单面板中内容跳转,进而跳转至进一步内容的显示;也可以是被触发控件所映射功能的跳转,此时,控件所映射的控制逻辑即为功能的实现逻辑。
在一个示例性实施例中,通过侦听几何体模型菜单面板中交互动作所发生的交互碰撞,感知几何体模型菜单面板中的停留事件。停留事件对应于几何体模型菜单面板中的控件,并且交互动作切换为点击姿态时,几何体模型菜单面板中的控件被触发,进而生成几何体模型菜单面板中控件的触发指令。
进一步的,交互动作通过用户手指被触发,与之相对应的,几何体模型菜单面板中交互动作所发生的交互碰撞,是指手部碰撞体进入面板碰撞体。用户手指的移动将实现虚拟现实场景中的操控,例如,虚拟现实场景中虚拟角色的操控,虚拟现实场景所相关的用户自定义配置,以及虚拟现实场景切换中进程的控制等,在此不进行一一列举,此操控的进行,都是借助于交互碰撞而触发实现的。
无论是用户手指,还是虚拟现实场景中存在的元素,例如前述所指的虚拟角色、几何体模型菜单面板,以及几何体模型菜单面板上的控件等,都配置有关联的碰撞体,具体而言,对于用户手指在虚拟现实场景中的移动,有着与之关联的手部碰撞体;对于几何体模型菜单面板,也有着与之关联的几何体模型菜单面板碰撞体。
虚拟现实场景中,一切对象的存在都是有形而无实的,需要通过碰撞体的配置来感知对象相互之间的交互。一碰撞体进入另一碰撞体,所在的两个对象便满足碰撞条件,发生交互碰撞。用户手指在虚拟现实场景中移动,则关联的手部碰撞体也随之进行着移动,在进入一控件所关联的碰撞体时,用户手指与此控件发生交互碰撞,停留事件被触发,并且在所对应的手部动作切换至点击姿势之后,使得此控件上的点击事件被触发,进而此控件映射的控制逻辑被触发。
至此,便会实现虚拟现实场景所实现几何体模型菜单面板中控件的操控,用户能够在融入虚拟现实场景的几何体模型菜单面板实现虚拟现实场景所需要的各种操作,而不再脱离虚拟现实场景,极大的增强了沉浸感,并且在增强虚拟现实场景沉浸感的基础上保证甚至于增强了虚拟现实场景的操控性能,虚拟现实场景的功能更加强大。
在另一个示例性实施例的具体实现中,如前所述的,手部碰撞体进入一碰撞体,并且手部动作切换为点击姿势时,便使得碰撞体所关联的对象被触发点击事件,而使得一指定的操作被触发。例如,此对象为几何体模型菜单面板上的控件时,所触发的操作即为这一控件的点击操作,在点击操作的作用下,这一控件映射的控制逻辑便被触发;如果此对象为一几何体模型菜单面板,则所触发的操作即为这一几何体模型菜单面板的抓取操作。
抓取操作用于使得这一几何体模型菜单面板被吸附于用户手指之上,即保持手部碰撞体和这一几何体模型菜单面板所关联碰撞体之间的位置关系,在手部动作切换为抓取手势而发生移动时,吸附于用户手指之上的几何体模型菜单面板也随之发生移动,即面板位置随着用户手指位置移动,进而使得几何体模型菜单面板能够在虚拟现实场景中自由移动。
由此,用户可以抓起任何几何体模型菜单面板放置在虚拟现实场景的任何位置,以解决虚拟现实场景所存在的任何遮挡问题,例如,避免遮挡用户视线的情况,避免若干个几何体模型菜单面板相互之间遮挡的发生,在此基础上,也得以充分的利用了虚拟现实场景下带来的空间扩展优势,不再二维空间所无法解决的菜单内容折叠问题,多个几何体模型菜单面板能够同时存在,几何体模型菜单面板之间能够进行组合使用,更进一步增强了虚拟现实场景的操控性能和操控效率。
进一步的,在用户通过所配置手部碰撞体进入一对象所关联碰撞体,切换至点击姿势,使得停留事件、点击事件被顺次触发,进而触发此对象的一指定操作,而后随着手部碰撞体在对象所关联碰撞体的离开且手部动作由点击姿势切换为自由姿势,此对象所进行的操控将被释放,用户当前在虚拟现实场景中的交互结束,不再执行相应的逻辑。
在一个示例性实施例的具体实现中,虚拟现实场景中实现的碰撞体是网格碰撞体,将通过获取网格对象并在其基础上构建碰撞器,进而具备更为精细和细腻的操控性能,使得用户在虚拟现实场景中的操控更为精准,所发生的交互碰撞更为平滑。
通过如上所述的示例性实施例,在虚幻引擎的虚拟现实场景中实现了几何体模型菜单面板,由如上所述示例性实施例,为虚幻引擎的虚拟现实场景提供了几何体模型菜单面板的3D实例。
在本发明所示实施例所实现的3D实例作用下,使得经由虚幻引擎而获得的虚拟现实场景能够在需要进行菜单面板显示和交互时,呈现可以随意摆放且根据需要移动的几何体模型菜单面板,这一几何体模型菜单面板所需要的资源,即各种对象,比如模型对象、视图对象都来自于虚幻引擎的蓝图,所对应的材质也在蓝图中预先配置完成。
通过本发明所示的实施例,将原本的二维面板完美的融合到了虚拟现实场景,即虚拟现实场景为用户所构建的三维空间,带来了触碰感的交互,使得用户身临其境且增加沉浸感。
以一游戏应用为例,结合此游戏应用来描述上述虚拟现实场景中实现菜单面板的过程。在此过程中,虚拟现实场景为此游戏应用中的虚拟游戏场景,在此游戏应用中通过虚拟现实场景实现了虚拟的三维游戏世界。
此游戏应用发布之前,将通过虚幻引擎4提供的蓝图配置用于实现虚拟游戏场景中几何体模型菜单面板的3D实例,此3D实例配置有视图对象,即Widget对象、模型对象以及材质信息。
图8是根据一示例性实施例示出的3D实例中Widget对象的实现示意图。Widget对象410实质是为一几何体模型菜单面板的实现提供二维面板,将这一Widget对象410所形成的资源,即如图8所示的二维面板投射至配置的弧形显示面板模型对象即可得到一几何体模型菜单面板,如图9所示。
图9是根据图8对应实施例示出的弧形显示面板模型菜单面板示意图。在图8所示的二维面板以及配置的弧形显示面板模型对象的作用下,得到图9所示的弧形显示面板模型菜单面板430。弧形显示面板模型菜单面板430包括面板主体视图所展示的按钮控件431、按钮控件433和按钮控件435。
由此可知,通过本发明实现了一个有底座、带厚度、半透明的几何体模型菜单面板,其上显示的内容就是预先设置的UE4Widget类型,点击不同的按钮控件就会触发不同的事件。
这一弧形显示面板模型菜单面板430,其是混合了材质的,例如,现在是配置了半透明的材质,以此类推可以使用磨砂效果、镜面效果等,进而在视觉上达到酷炫的效果。
在虚拟游戏场景中显示此弧形显示面板模型菜单面板430,即可以使得游戏应用中针对菜单面板实施的用户交互能够支持手指点击操作和射线交互操作等。
具体的,图10是根据图9对应实施例示出的通过射线交互操作实现的用户交互示意图。在此用户交互过程中,通过手持的手柄将从用户的食指射出一条射线,如果其与弧形显示面板模型菜单面板430相交,则会在交点显示一标记特效,如弧形显示面板模型菜单面板430中示出的一个亮点437,此亮点437即为当前射线与弧形显示面板模型菜单面板430相交的位置,这个位置如果在按钮控件上面,就会触发相应的事件。
比如,亮点437在一按钮控件上面,即停留于一按钮控件之上,则会触发Hover事件,进一步的,如果继续在这一按钮控件上用户又点击了手持的手柄按钮,则触发Click事件。
此用户交互过程比较适用于弧形显示面板模型菜单面板430距离用户较远的情况,用户没法与弧形显示面板模型菜单面板430接触。
图11是根据一示例性实施例示出的通过手指点击操作实现的用户交互示意图。如果用户相对几何体模型菜单面板450的距离较近,则可以直接接触到几何体模型菜单面板450,采用图11所示的交互方式较为合适。用户直接用食指去触摸几何体模型菜单面板450,与几何体模型菜单面板450接触的位置就是点击到的地方,进而以此位置作为响应位置来触发相应的事件。
至此,示例性的阐述了几何体模型菜单面板与用户之间的交互,图12是根据一示例性实施例示出的游戏应用中几何体模型菜单面板的实现示意图。
图12中,在时间轴上包括用户按键交互的时间点510、开始游戏的时间点530以及设定时间间隔更新的时间点550。
将在时间轴上执行虚拟游戏场景中几何体模型面板的操作逻辑。随着游戏应用中虚拟游戏场景的切换和呈现,跳转进入了游戏开始的虚拟游戏场景,即到达开始游戏的时间点530,此时,将通过步骤531的执行确定虚拟游戏场景中挂载的Widget组件,即几何体模型菜单面板,进而通过步骤533和步骤535的执行使得虚拟游戏场景中进行几何体模型菜单面板的显示。
步骤531的逻辑实现,可以通过虚幻引擎4的USolarMeshWidgetComponent这一渲染UI的组件实现,相关的参数配置则如前述所指的模型对象、视图对象和材质所示,预先在虚幻引擎4的蓝图中完成即可,是游戏制作的时候配置完成的。
游戏运行一开始,就会去检测配置,确定当前虚拟游戏场景所要挂载的Widget组件是哪一个,然后根据这个Widget组件走一次渲染管线,将其绘制到一张贴图上面,如步骤533和步骤535所示。
在开始游戏的时间点530之上,根据游戏的业务逻辑在虚拟游戏场景显示相应的几何体模型菜单面板。
此时,如果发生用户交互,即在用户按键交互的时间点510上,则需要进行Widget事件的响应。用户交互会导致Widget组件发生一些事件响应,进而也由于发生了菜单面板状态的变化导致Widget组件在显示上的一些变化,比如,按钮控件被按下或者停留在按钮按件上的时候,会采用不同的贴图来进行按钮控件的显示,此时,也将执行步骤533,更新显示内容,进而随之顺次执行步骤535、步骤551和步骤553来获得被触发按钮控件的显示样式。
具体的,对于步骤511的执行,将确定当前用户交互的Widget组件以及在这个Widget组件上精确的交互位置,此过程用于确认是否需要响应Widget组件上面的一些逻辑部件,比如,按钮控件。
而交互位置的获得是在用户手部发出射线,相交到挂载Widget组件的几何模型时,可以得到这个射线相交的具体位置,以及这一具体位置对应于贴图的UV位置,进而反推得到其在三维空间的位置。
应当说明的是,对于步骤533和步骤535的执行,将为所有菜单面板状态都绘制了相应的贴图,以便于后续过程随时取用。
在时间轴上还配置了设定时间间隔更新的时间点550。按照此设定时间间隔更新的时间点550,是每一帧进行调用处理所对应的时间点,满足每一帧所对应的更新过程。
至此,在游戏应用中实现了几何体模型菜单面板以及在此之上的用户交互,可以支持双手分离式的手柄,并且使得几何体模型菜单面板的视觉表现形式随意多样,呈现的几何体也是随意多样的。
在游戏的制作中,可以继续使用现有的UI制作方式,简单方便,没有学习成本。
下述为本发明装置实施例,可以用于执行本发明上述虚拟现实场景中实现菜单面板的方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明虚拟现实场景中实现菜单面板的方法实施例。
图13是一示例性实施例示出的一种虚拟现实场景中实现菜单面板的装置的框图。该虚拟现实场景中实现菜单面板的装置,如图13所示,可以包括但不限于:模型加载模块710、视图加载模块730、绘制模块750和渲染模块770。
模型加载模块710,用于在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型。
视图加载模块730,用于为虚拟现实场景加载几何体模型挂载的视图对象。
绘制模块750,用于对几何体模型挂载的视图对象进行菜单面板贴图的绘制。
渲染模块770,用于对菜单面板贴图和几何体模型执行网格组件的渲染,以在虚拟现实场景呈现几何体模型菜单面板。
图14是根据图13对应实施例示出的对模型加载模块的细节进行描述的框图。该模型加载模块710,如图14所示,可以包括但不限于:指令获得单元711、模型对象确定单元713和模型加载执行单元715。
指令获得单元711,用于虚拟现实场景切换和呈现中,根据所切换并呈现虚拟现实场景指示的进程,获得与进程相适配的菜单面板加载指令。
模型对象确定单元713,用于根据菜单面板加载指令检测配置,确定为虚拟现实场景进行菜单面板显示所使用的模型对象。
模型加载执行单元715,用于在虚拟现实场景加载模型对象,获得用于实现菜单面板显示的几何体模型。
图15是根据图13所示实施例示出的对视图加载模块的细节进行描述的框图。该视图加载模块730,如图15所示,可以包括但不限于:状态获取单元731和加载执行单元733。
状态获取单元731,用于根据菜单面板加载指令指示加载的菜单面板获得所加载菜单面板存在的所有菜单面板状态。
加载执行单元733,用于加载对应于各菜单面板状态的视图对象。
图16是根据图13所示实施例示出的对绘制模块的细节进行描述的框图。该绘制模块750,如图16所示,可以包括但不限于:贴图绘制单元751、初始状态贴图获取单元753和初始状态面板生成单元755。
贴图绘制单元751,用于通过对应于各菜单面板状态的视图对象进行贴图绘制,获得对应于各菜单面板状态的贴图。
初始状态贴图获取单元753,用于从对应于各菜单面板状态的贴图中获取对应于初始状态的贴图,对应于初始状态的贴图包括对应于面板主体视图的贴图以及对应于各控件的贴图。
初始状态面板生成单元755,用于通过对应于面板主体视图的贴图以及对应于各控件的贴图形成对应于初始状态的菜单面板贴图以及菜单面板贴图中的控件贴图。
图17是根据图13所示实施例示出的对渲染模块的细节进行描述的框图。该渲染模块770,如图17所示,可以包括但不限于:初始材质获取单元771a、初始菜单面板渲染单元773a和面板显示单元775a。
初始材质获取单元771a,用于获取对应于初始状态的材质信息。
初始菜单面板渲染单元773a,用于使用贴图所形成且对应初始状态的菜单面板贴图以及材质信息,对几何体模型执行虚拟现实场景中网络组件的渲染,获得几何体模型菜单面板,几何体模型菜单面板中配置有控件。
面板显示单元775a,用于将几何体模型菜单面板呈现于虚拟现实场景。
图18是根据图13所示实施例示出的对渲染模块的细节进行进一步搭配的框图。该渲染模块770,如图18所示,还可以包括但不限于:指令接收单元771b、状态获取单元773b、更新单元775b和重新渲染单元777b。
指令接收单元771b,用于接收几何体模型菜单面板中控件的触发指令。
状态获取单元773b,用于根据触发指令获得几何体模型菜单面板中被触发的控件,并且进一步根据所述控件的被触发获得几何体模型菜单面板发生状态变化而对应的菜单面板状态。
更新单元775b,用于根据菜单面板状态更新材质信息,并获取对应于菜单面板状态的贴图。
重新渲染单元777b,用于通过更新的材质信息和对应于菜单面板状态的贴图执行网格组件的渲染,以更新虚拟现实场景呈现的几何体模型菜单面板。
可选的,本发明还提供一种虚拟现实场景中实现菜单面板的装置,该电视终端可以用于前述所示实施环境中,执行图2、图3、图4、图5、图6和图7任一所示的虚拟现实场景中实现菜单面板的方法的全部或者部分步骤。所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
所述计算机可读指令被所述处理器执行时实现前述所述的虚拟现实场景中实现菜单面板的方法。
该实施例中的装置的处理器执行操作的具体方式已经在有关该虚拟现实场景中实现菜单面板的方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介指例如包括指令的存储器104,上述指令可由装置100的处理器118执行以完成上述方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种虚拟现实场景中实现菜单面板的方法,其特征在于,所述方法包括:
在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型;
为所述虚拟现实场景加载所述几何体模型挂载的视图对象;
对所述几何体模型挂载的视图对象进行菜单面板贴图的绘制,所述菜单面板贴图是二维面板,所述模型对象和视图对象分别与所述虚拟现实场景相关联;
对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板。
2.根据权利要求1所述的方法,其特征在于,所述在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型,包括:
虚拟现实场景切换和呈现中,根据所切换并呈现虚拟现实场景指示的进程,获得与所述进程相适配的菜单面板加载指令;
根据所述菜单面板加载指令检测配置,确定为所述虚拟现实场景进行菜单面板显示所使用的模型对象;
在所述虚拟现实场景加载所述模型对象,获得用于实现菜单面板显示的几何体模型。
3.根据权利要求2所述的方法,其特征在于,所述为所述虚拟现实场景加载所述几何体模型挂载的视图对象,包括:
根据所述菜单面板加载指令指示加载的菜单面板获得所加载菜单面板存在的所有菜单面板状态;
加载对应于各菜单面板状态的视图对象。
4.根据权利要求3所述的方法,其特征在于,所述对所述几何体模型挂载的视图对象进行菜单面板贴图的绘制,包括:
通过对应于各菜单面板状态的视图对象进行贴图绘制,获得对应于各菜单面板状态的贴图;
从对应于各菜单面板状态的贴图中获取对应于初始状态的贴图,所述对应于初始状态的贴图包括对应于面板主体视图的贴图以及对应于各控件的贴图;
通过对应于面板主体视图的贴图以及对应于各控件的贴图形成对应于初始状态的菜单面板贴图以及菜单面板贴图中的控件贴图。
5.根据权利要求4所述的方法,其特征在于,所述对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板,包括:
获取对应于初始状态的材质信息;
使用贴图所形成且对应于初始状态的菜单面板贴图以及所述材质信息,对所述几何体模型执行所述虚拟现实场景中网格组件的渲染,获得几何体模型菜单面板,所述几何体模型菜单面板中配置有控件;
将所述几何体模型菜单面板呈现于所述虚拟现实场景。
6.根据权利要求5所述的方法,其特征在于,所述对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板,还包括:
接收所述几何体模型菜单面板中控件的触发指令;
根据所述触发指令获得所述几何体模型菜单面板中被触发的控件,并且进一步根据所述控件的被触发获得所述几何体模型面板菜单发生状态变化而对应的菜单面板状态;
根据所述菜单面板状态更新材质信息,并获取对应于所述菜单面板状态的贴图;
通过更新的所述材质信息和对应于所述菜单面板状态的贴图执行网格组件的渲染,以更新所述虚拟现实场景呈现的几何体模型菜单面板。
7.一种虚拟现实场景中实现菜单面板的装置,其特征在于,所述装置包括:
模型加载模块,用于在虚拟现实场景中加载模型对象,获得呈现于所述虚拟现实场景中的几何体模型;
视图加载模块,用于为所述虚拟现实场景加载所述几何体模型挂载的视图对象;
绘制模块,用于对所述几何体模型挂载的视图对象进行菜单面板贴图的绘制,所述菜单面板贴图是二维面板,所述模型对象和视图对象分别与所述虚拟现实场景相关联;
渲染模块,用于对所述菜单面板贴图和几何体模型执行网格组件的渲染,以在所述虚拟现实场景呈现几何体模型菜单面板。
8.根据权利要求7所述的装置,其特征在于,所述模型加载模块包括:
指令获得单元,用于虚拟现实场景切换和呈现中,根据所切换并呈现虚拟现实场景指示的进程,获得与所述进程相适配的菜单面板加载指令;
模型对象确定单元,用于根据所述菜单面板加载指令检测配置,确定为所述虚拟现实场景进行菜单面板显示所使用的模型对象;
模型加载执行单元,用于在所述虚拟现实场景加载所述模型对象,获得用于实现菜单面板显示的几何体模型。
9.根据权利要求8所述的装置,其特征在于,所述视图加载模块包括:
状态获取单元,用于根据所述菜单面板加载指令指示加载的菜单面板获得所加载菜单面板存在的所有菜单面板状态;
加载执行单元,用于加载对应于各菜单面板状态的视图对象。
10.根据权利要求9所述的装置,其特征在于,所述绘制模块包括:
贴图绘制单元,用于通过对应于各菜单面板状态的视图对象进行贴图绘制,获得对应于各菜单面板状态的贴图;
初始状态贴图获取单元,用于从对应于各菜单面板状态的贴图中获取对应于初始状态的贴图,所述对应于初始状态的贴图包括对应于面板主体视图的贴图以及对应于各控件的贴图;
初始状态面板生成单元,用于通过对应于面板主体视图的贴图以及对应于各控件的贴图形成对应于初始状态的菜单面板贴图以及菜单面板贴图中的控件贴图。
11.根据权利要求10所述的装置,其特征在于,所述渲染模块包括:
初始材质获取单元,用于获取对应于初始状态的材质信息;
初始菜单面板渲染单元,用于使用贴图所形成且对应初始状态的菜单面板贴图以及所述材质信息,对所述几何体模型执行所述虚拟现实场景中网络组件的渲染,获得几何体模型菜单面板,所述几何体模型菜单面板中配置有控件;
面板显示单元,用于将所述几何体模型菜单面板呈现于所述虚拟现实场景。
12.根据权利根据11所述的装置,其特征在于,所述渲染模块还包括:
指令接收单元,用于接收所述几何体模型菜单面板中控件的触发指令;
状态获取单元,用于根据所述触发指令获得所述几何体模型菜单面板中被触发的控件,并且进一步根据所述控件的被触发获得所述几何体模型菜单面板发生状态变化而对应的菜单面板状态;
更新单元,用于根据所述菜单面板状态更新材质信息,并获取对应于所述菜单面板状态的贴图;
重新渲染单元,用于通过更新的所述材质信息和对应于所述菜单面板状态的贴图执行网格组件的渲染,以更新所述虚拟现实场景呈现的几何体模型菜单面板。
13.一种虚拟现实场景中实现菜单面板的装置,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至6中任一项所述的虚拟现实场景中实现菜单面板的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至6中任一项所述的虚拟现实场景中实现菜单面板的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711172234.4A CN107870672B (zh) | 2017-11-22 | 2017-11-22 | 虚拟现实场景实现菜单面板的方法、装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711172234.4A CN107870672B (zh) | 2017-11-22 | 2017-11-22 | 虚拟现实场景实现菜单面板的方法、装置和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107870672A CN107870672A (zh) | 2018-04-03 |
CN107870672B true CN107870672B (zh) | 2021-01-08 |
Family
ID=61754464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711172234.4A Active CN107870672B (zh) | 2017-11-22 | 2017-11-22 | 虚拟现实场景实现菜单面板的方法、装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107870672B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108499102B (zh) * | 2018-04-04 | 2021-04-23 | 网易(杭州)网络有限公司 | 信息界面展示方法及装置、存储介质、电子设备 |
CN108595010B (zh) * | 2018-04-27 | 2021-06-18 | 网易(杭州)网络有限公司 | 虚拟现实中虚拟物体的交互方法及装置 |
CN110096277B (zh) * | 2019-03-19 | 2020-06-12 | 北京三快在线科技有限公司 | 一种动态页面展示方法、装置、电子设备及存储介质 |
CN110196746B (zh) * | 2019-05-30 | 2022-09-30 | 网易(杭州)网络有限公司 | 交互界面渲染方法及装置、电子设备、存储介质 |
CN111026378B (zh) * | 2019-12-05 | 2022-09-06 | 中邮科通信技术股份有限公司 | 一种虚幻引擎中利用原生安卓技术实现语音交互的方法 |
CN111467805B (zh) * | 2020-05-11 | 2023-04-07 | 网易(杭州)网络有限公司 | 虚拟场景动态变化的实现方法及装置、介质及电子设备 |
CN111724471A (zh) * | 2020-07-02 | 2020-09-29 | 同济大学建筑设计研究院(集团)有限公司 | 三维模型展示方法、装置、计算机设备和存储介质 |
CN112506348A (zh) * | 2020-12-15 | 2021-03-16 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种沉浸式流场可视化参数的配置方法及装置 |
CN113134239A (zh) * | 2021-05-13 | 2021-07-20 | 网易(杭州)网络有限公司 | 渲染方法、装置、电子设备及计算机可读存储介质 |
CN113672158A (zh) * | 2021-08-20 | 2021-11-19 | 上海电气集团股份有限公司 | 一种增强现实的人机交互方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064514A (zh) * | 2012-12-13 | 2013-04-24 | 航天科工仿真技术有限责任公司 | 沉浸式虚拟现实系统中的空间菜单的实现方法 |
CN104321730A (zh) * | 2012-06-30 | 2015-01-28 | 英特尔公司 | 3d图形用户接口 |
CN105741194A (zh) * | 2016-01-28 | 2016-07-06 | 赵云 | 一种基于虚幻引擎技术的家居装饰系统 |
CN106504339A (zh) * | 2016-11-09 | 2017-03-15 | 四川长虹电器股份有限公司 | 基于虚拟现实的文物3d展示方法 |
CN106530400A (zh) * | 2016-10-21 | 2017-03-22 | 南京理工大学紫金学院 | 一种基于智能穿戴设备的交互式虚拟校园漫游系统 |
CN107168530A (zh) * | 2017-04-26 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象处理方法和装置 |
-
2017
- 2017-11-22 CN CN201711172234.4A patent/CN107870672B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104321730A (zh) * | 2012-06-30 | 2015-01-28 | 英特尔公司 | 3d图形用户接口 |
CN103064514A (zh) * | 2012-12-13 | 2013-04-24 | 航天科工仿真技术有限责任公司 | 沉浸式虚拟现实系统中的空间菜单的实现方法 |
CN105741194A (zh) * | 2016-01-28 | 2016-07-06 | 赵云 | 一种基于虚幻引擎技术的家居装饰系统 |
CN106530400A (zh) * | 2016-10-21 | 2017-03-22 | 南京理工大学紫金学院 | 一种基于智能穿戴设备的交互式虚拟校园漫游系统 |
CN106504339A (zh) * | 2016-11-09 | 2017-03-15 | 四川长虹电器股份有限公司 | 基于虚拟现实的文物3d展示方法 |
CN107168530A (zh) * | 2017-04-26 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 虚拟场景中的对象处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107870672A (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870672B (zh) | 虚拟现实场景实现菜单面板的方法、装置和可读存储介质 | |
US10642567B2 (en) | Multiplatform based experience generation | |
US10620778B2 (en) | Augmentable and spatially manipulable 3D modeling | |
JP2020036907A (ja) | 情報処理方法、端末及びコンピュータ記憶媒体 | |
US20130024819A1 (en) | Systems and methods for gesture-based creation of interactive hotspots in a real world environment | |
KR20120110861A (ko) | 3d 뷰를 포함하는 가이드를 표시하는 전자 장치 및 그 가이드 표시 방법 | |
KR20120045744A (ko) | 체험형 학습 콘텐츠 저작 장치 및 방법 | |
CN109344352A (zh) | 页面加载方法、装置及电子设备 | |
JP2019087284A (ja) | ユーザインタフェースのための対話方法 | |
US20170185422A1 (en) | Method and system for generating and controlling composite user interface control | |
KR20140102386A (ko) | 디스플레이장치 및 그 제어방법 | |
KR20150079387A (ko) | 카메라 광 데이터로 가상 환경을 조명하는 방법 | |
CN113680065A (zh) | 一种游戏中的地图处理方法和装置 | |
JP5767371B1 (ja) | 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム | |
CN110227255A (zh) | Vr游戏中的虚拟容器的交互控制方法、装置和电子设备 | |
CN103295387B (zh) | 一种电子设备、投影遥控器及其实现方法 | |
KR101806922B1 (ko) | 가상현실 컨텐츠 제작방법 및 장치 | |
Lu et al. | Design of immersive and interactive application based on augmented reality and machine learning | |
JP2016016319A (ja) | 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム | |
CN106227417A (zh) | 一种三维用户界面交互方法、装置、显示盒子及其系统 | |
KR20200137594A (ko) | 모바일 장치 및 모바일 장치의 제어 방법 | |
JP2016130888A (ja) | アイコン選択のためのコンピュータ・プログラム、携帯端末、およびコンピュータ実装方法 | |
Harms | Vivian: A Technical Framework for Deploying and Operating Virtual Prototypes in XR | |
CN109783112A (zh) | 虚拟环境与物理硬件的交互方法、装置和存储介质 | |
CN115963957A (zh) | 用于交互的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |