CN116824101A - 用于虚拟现实空间切换的方法和装置 - Google Patents
用于虚拟现实空间切换的方法和装置 Download PDFInfo
- Publication number
- CN116824101A CN116824101A CN202310769556.6A CN202310769556A CN116824101A CN 116824101 A CN116824101 A CN 116824101A CN 202310769556 A CN202310769556 A CN 202310769556A CN 116824101 A CN116824101 A CN 116824101A
- Authority
- CN
- China
- Prior art keywords
- space
- panorama
- transparency
- map
- current
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000009877 rendering Methods 0.000 claims abstract description 59
- 230000008859 change Effects 0.000 claims abstract description 51
- 230000001960 triggered effect Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 11
- 238000004040 coloring Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 17
- 238000005562 fading Methods 0.000 abstract 2
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/954—Navigation, e.g. using categorised browsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Radar, Positioning & Navigation (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例公开了一种用于虚拟现实空间切换的方法和装置,其中,方法包括:接收用户在当前空间中触发的空间切换操作;根据空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;按照对应的渲染视场角和透明度,渲染当前空间全景图、目标空间全景图及平面几何体贴图;当前空间全景图以球面贴图形式呈现,目标空间全景图以立方体贴图形式呈现,球体在立方体内部,球体的内部设置有一个平面几何体,平面几何体贴图为目标空间全景图的内容。本公开实施例可以在用户触发切换操作时,实现当前空间渐隐、目标空间渐显的空间穿梭效果。
Description
技术领域
本公开涉及三维纹理和图像处理技术领域,尤其涉及一种用于虚拟现实空间切换的方法和装置。
背景技术
随着空间虚拟现实(Virtual Reality,简称为VR)空间应用越来越广泛,用户对VR空间游览体验的要求也越来越高,例如,用户可能想从一个VR空间直接切换到另一个VR空间,体验空间穿梭的效果。相关技术中,通过浏览器客户端游览VR空间时,需要通过页面上展示的VR空间的入口链接,通过统一资源定位器URL(Uniform Resource Locator,简称为URL)链接跳转的方式实现页面的切换,进而实现VR空间的跳转,因此不能直接在两个VR空间之间直接进行切换、跳转。
发明内容
本公开实施例所要解决的一个技术问题是:提供一种用于虚拟现实空间切换的方法和装置。
根据本公开实施例的一个方面,提供一种用于虚拟现实空间切换的方法,应用于支持WebGL的浏览器客户端,所述方法包括:
接收用户在当前空间中触发的空间切换操作;
根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;
分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图;
其中,所述当前空间全景图以球面贴图的形式呈现,所述目标空间全景图以立方体贴图的形式呈现,所述立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,所述球体在所述立方体内部,所述球体的内部设置有一个平面几何体,所述平面几何体贴图为所述目标空间全景图的预设区域。
在本公开的一个实施例中,所述接收用户在当前空间中触发的空间切换操作之前,所述方法还包括:
创建一个立方体纹理对象和一个平面几何体对象;
在着色器中采用立方体纹理采样算法,分别对所述立方体纹理对象和所述平面几何体对象进行着色,得到所述立方体贴图和所述平面几何体贴图。
在本公开的又一个实施例中,所述创建一个平面几何体对象之前,所述方法还包括:
响应于用户触发的设置操作,生成所述平面几何体的相关信息,所述平面几何体的相关信息包括所述平面几何体的大小、视角和位置;
所述创建一个平面几何体对象,包括:根据所述平面几何体的相关信息,在三维空间中创建所述平面几何体对象。
在本公开的又一个实施例中,所述按照第一变化曲线调整所述当前空间全景图的渲染视场角,包括:
在第一预设时间内,按照所述第一变化曲线将所述当前空间全景图的渲染视场角从第一视场角调整至第二视场角,所述第二视场角大于所述第一视场角。
在本公开的又一个实施例中,所述按照第二变化曲线调整当前空间全景图的透明度,包括:
在第二预设时间内,按照所述第二变化曲线将所述当前空间全景图的渲染透明度从第一透明度调整至第二透明度,所述第二预设时间的时间长度大于所述第一预设时间的长度。
在本公开的又一个实施例中,所述按照第三变化曲线调整目标空间全景图的透明度,包括:
在第二预设时间内,按照所述第三变化曲线将所述目标空间全景图的渲染透明度从所述第二透明度调整至所述第一透明度。
在本公开的又一个实施例中,所述平面几何体贴图的渲染视场角保持不变;
所述平面几何体贴图的透明度为所述第一透明度。
在本公开的又一个实施例中,所述接收用户在当前空间中触发的空间切换操作,包括:获取虚拟相机的位置;
响应于所述虚拟相机的位置满足空间切换条件,确定所述用户在当前空间中触发空间切换操作;
或者,
接收所述用户触发的点击操作;
响应于点击操作发生于所述平面几何体所在位置,确定所述用户在当前空间中触发空间切换操作。
根据本公开实施例的再一方面,提供一种用于虚拟现实空间切换的装置,用于支持WebGL的浏览器客户端,所述装置包括:
接收模块,用于接收用户在当前空间中触发的空间切换操作;
调整模块,用于根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;
渲染模块,用于分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图;
其中,所述当前空间全景图以球面贴图的形式呈现,所述目标空间全景图以立方体贴图的形式呈现,所述立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,所述球体在所述立方体内部,所述球体的内部设置有一个平面几何体,所述平面几何体贴图为所述目标空间全景图的预设区域。
在本公开的一个实施例中,所述装置还包括:
创建模块,用于创建一个立方体纹理对象和一个平面几何体对象;
着色模块,用于在着色器中采用立方体纹理采样算法,分别对所述立方体纹理对象和所述平面几何体对象进行着色,得到所述立方体贴图和所述平面几何体的贴图。
在本公开的又一个实施例中,所述装置还包括:
生成模块,用于响应于用户触发的设置操作,生成所述平面几何体的相关信息,所述平面几何体的相关信息包括所述平面几何体的大小、视角和位置;
所述创建模块,具体用于根据所述平面几何体的相关信息,在三维空间中创建所述平面几何体对象。
在本公开的又一个实施例中,所述调整模块包括:
第一调整子模块,用于在第一预设时间内,按照所述第一变化曲线将所述当前空间全景图的渲染视场角从第一视场角调整至第二视场角,所述第二视场角大于所述第一视场角。
在本公开的又一个实施例中,所述调整模块包括:
第二调整子模块,用于在第二预设时间内,按照所述第二变化曲线将所述当前空间全景图的渲染透明度从第一透明度调整至第二透明度,所述第二预设时间的时间长度大于所述第一预设时间的长度。
在本公开的又一个实施例中,所述调整模块包括:
第三调整子模块,用于在第二预设时间内,按照所述第三变化曲线将所述目标空间全景图的渲染透明度从所述第二透明度调整至所述第一透明度。
在本公开的又一个实施例中,所述平面几何体贴图的渲染视场角保持不变;
所述平面几何体贴图的透明度为所述第一透明度。
在本公开的又一个实施例中,所述接收模块包括:
获取子模块,用于获取虚拟相机的位置;
第一确定子模块,用于响应于所述虚拟相机的位置满足空间切换条件,确定所述用户在当前空间中触发空间切换操作;
或者,
接收子模块,用于接收所述用户触发的点击操作;
第二确定子模块,用于响应于点击操作发生于所述平面几何体所在位置,确定所述用户在当前空间中触发空间切换操作。
根据本公开实施例的再一方面,提供一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述用于虚拟现实空间切换的方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述用于虚拟现实空间切换的方法。
基于本公开上述实施例提供的用于虚拟现实空间切换的方法和装置,应用于支持全球广域网图形函数库(Web Graphics Library,简称为WebGL)2.0的浏览器客户端,当用户触发空间切换操作时,可以按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图。由于当前空间全景图以球面贴图的形式呈现,而目标空间全景图以立方体贴图的形式呈现,并且立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,球体在立方体内部,而贴图为目标空间全景图的预设区域的平面几何体则位于球体内部,因此本公开技术方案实现了在当前空间中可以看到目标空间局部的窗口的效果,并且在用户触发切换操作时,通过调整当前空间全景图和目标空间全景图的渲染视场角和透明度,实现了当前空间渐隐、目标空间以目标空间全景图的预设区域为中心渐显的技术效果,模拟了空间穿梭的效果,提高了用户使用浏览器客户端游览三维空间的用户粘度。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的用于虚拟现实空间切换的方法的一个实施例的流程图;
图2A为本公开的在当前空间中嵌入目标空间的实施例的流程图;
图2B为本公开的在当前空间嵌入目标空间的示意图;
图2C为本公开的目标空间全景图的示意图;
图2D为本公开的从一个空间切换到另一个空间的穿梭效果示意图;
图3A为本公开的触发空间切换操作的流程图一;
图3B为本公开的触发空间切换操作的流程图二;
图4为本公开的用于虚拟现实空间切换的装置的一个实施例的结构示意图;
图5为本公开的用于虚拟现实空间切换的装置的又一个实施例的结构示意图;
图6为本公开一示意性实施例提供的电子设备的结构图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
本公开实施例提供的技术方案应用于全景图空间VR游览时需要进行空间切换的场景中,为了实现该技术方案,需要浏览器能够支持WebGL,基于WebGL的三维纹理应用程序编程接口可以加载球面贴图、立方体贴图等显存中,并且可以在着色器中分别对平面几何体对象和立方体纹理对象利用立方体纹理采样算法进行着色,对球体按照球体采样算法进行采样着色,由于当前空间全景图以球面贴图的形式呈现,目标空间全景图以立方体贴图的形式呈现,而立方体贴图对应的立方体的中心点与球面贴图对应的球体的中心点重合,且球体在立方体内部,平面几何体在球体的内部,平面几何体贴图为目标空间全景图的预设区域,由此通过设置平面几何体贴图的透明度为1,可以实现在当前空间全景图中嵌入显示目标空间的空间切换入口(也即渲染显示的平面几何体贴图),而通过改变当前空间全景图的渲染视场角和透明度,以及目标空间全景图的渲染视场角和透明度,可以实现空间切换、穿梭效果。
示例性实施例
图1为本公开的用于虚拟现实空间切换的方法的一个实施例的流程图;该用于虚拟现实空间切换的方法可以应用在电子设备(如移动终端等)上,电子设备上的浏览器需要能够支持WebGL2.0。如图1所示,该用于虚拟现实空间切换的方法包括以下步骤:
在步骤101中,接收用户在当前空间中触发的空间切换操作。
在一实施例中,为了实现本公开技术方案,可以在空间中创建一个平面几何体、一个球体以及一个立方体,其中,平面几何体位于球体内部,球体位于立方体内部,球体的中心点和立方体的中心点重合,平面几何体贴图为目标空间全景图的预设区域,立方体贴图为目标空间全景图,球体贴图为当前空间全景图,而且通过设置平面几何体贴图的透明度为1,在渲染显示当前空间全景图和平面几何体贴图时,即可在当前空间全景图中看到展示目标空间的预设区域的一个窗口(平面几何体贴图),如图2B所示,其中标记21所指示的位置,其中示意的是目标空间全景图的部分内容;目标空间全景图的示意图如图2C所示,可使用图中标记22所指示的区域对平面几何体进行纹理贴图,得到图2B所示效果。
在一实施例中,在推进相机靠近平面几何体时,可以触发空间切换操作;在又一实施例中,通过点击当前空间全景图中展示目标空间的预设区域的窗口时,也可以触发空间切换操作。
在一实施例中,空间切换操作用于触发从当前空间切换到目标空间。
在步骤102中,根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度。
在一实施例中,第一变化曲线可以为线性曲线,也可以非线性曲线,按照第一变化曲线调整当前空间全景图的渲染视场角,可以实现当前空间全景图的渲染视场角从第一视场角变为第二视场角,而且第一视场角小于第二视场角,例如,第一视场角为90度,第二视场角为100度,按照第一变化曲线调整当前空间全景图的渲染视场角,可以实现当前空间向前缩进的效果。
在一实施例中,第二变化曲线可以为线性曲线,也可以非线性曲线,按照第二变化曲线调整当前空间全景图的透明度,可以实现当前空间全景图的透明度从第一透明度变为第二透明度,而且第一透明度为1,第二透明度为0,按照第二变化曲线调整当前空间全景图的透明度,可以实现当前空间全景图渐渐隐去的效果。
在一实施例中,第三变化曲线可以为线性曲线,也可以非线性曲线,按照第三变化曲线调整目标空间全景图的透明度,可以实现目标空间全景图的透明度从第二透明度变为第一透明度,而且第一透明度为1,第二透明度为0,按照第三变化曲线调整目标空间全景图的透明度,可以实现目标空间全景图从没有显示,到渐渐地完全显示出来的效果。
需要说明的是,在调整当前空间全景图的渲染视场角时,可以在第一预设时间内,按照所述第一变化曲线将所述当前空间全景图的渲染视场角从第一视场角调整至第二视场角,所述第二视场角大于所述第一视场角。而在调整当前空间全景图的透明度和目标空间全景图的透明度时,可以在第二预设时间内,按照所述第二变化曲线将所述当前空间全景图的渲染透明度从第一透明度调整至第二透明度,按照所述第三变化曲线将所述目标空间全景图的渲染透明度从所述第二透明度调整至所述第一透明度,其中,所述第二预设时间的时间长度大于所述第一预设时间的长度。
在一实施例中,根据海量的调整经验数据,可以发现设置渲染视场角的调整时间短于渲染透明度的调整时间,能够更好地体现空间穿梭效果。但是需要说明的是,第二预设时间的时间长度大于第一预设时间的长度是一种比较好的示例,但是第二预设时间和第一预设时间相等时也可以实现空间穿梭的效果,也在本公开实施例的保护范围内。
在步骤103中,分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图。
在一实施例中,在按照浏览器的刷新频率渲染当前空间全景图、所述目标空间全景图以及平面几何体贴图时,可以按照步骤102确定的当前空间全景图的渲染视场角和透明度渲染当前空间全景图,按照步骤102确定的目标空间全景图的透明度和一个不变的渲染视场角渲染目标空间全景图,按照目标空间全景图的渲染视场角和第一透明度渲染平面几何体贴图。
在一实施例中,在按照步骤102调整后的渲染视场角和透明度,分别渲染平面几何体贴图、当前空间全景图和目标空间全景图,即可叠加显示平面几何体贴图、当前空间全景图和目标空间全景图,模拟空间穿梭的效果,参见图2D。
上述步骤101~103,当用户触发空间切换操作时,可以按照第一变化曲线调整所述当前空间全景图的渲染视场角,按照第二变化曲线调整当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图。本公开技术方案实现了在当前空间中可以看到目标空间局部的窗口的效果,并且在用户触发切换操作时,通过调整当前空间全景图和目标空间全景图的渲染视场角和透明度,实现了当前空间渐隐、目标空间以目标空间全景图的预设区域为中心渐显的技术效果,模拟了空间穿梭的效果,提高了用户使用浏览器客户端游览三维空间的用户粘度。
为了更好地说明本公开的用于虚拟现实空间切换的的方案,下面用另一个实施例说明。
图2A为本公开的在当前空间中嵌入目标空间的实施例的流程图,图2B为本公开的在当前空间嵌入目标空间的示意图,图2C为本公开的目标空间全景图的示意图,图2D为本公开的从一个空间切换到另一个空间的穿梭效果示意图;本实施例以如何在当前空间中嵌入目标空间为例进行示例性说明,如图2A所示,包括如下步骤:
在步骤201中,响应于用户触发的设置操作,生成所述平面几何体的相关信息,所述平面几何体的相关信息包括所述平面几何体的大小、视角和位置。
在一实施例中,用户可以在浏览器客户端界面中通过按钮的方式触发设置操作,还可以通过相关的菜单指令设置平面几何体的相关信息。
在一实施例中,平面几何体的形状可以由用户按照喜好设置,例如可以设置为圆形、长方形以及其他规则或者不规则形状。
在步骤202中,创建一个平面几何体对象和一个立方体纹理对象。
在一实施例中,根据用户设置的平面几何体的相关信息,可以在三维空间(当前空间全景图所着色的球体内部)创建一个平面几何体对象,并在着色器中创建一个立方体纹理cubeSampler对象。其中,立方体的大小要大于当前空间全景图所贴图的球体。
在步骤203中,在着色器中采用立方体纹理采样算法,分别对所述立方体纹理对象和所述平面几何体对象进行着色,得到所述立方体贴图和所述平面几何体的贴图。
在一实施例中,在着色器中,可以传入目标空间全景图作为一个cubeSampler,通过获取虚拟相机所在位置以及平面几何体任意一点的空间位置(着色器自动提供),然后构建虚拟相机所在位置到平面几何体任意一点的射线,利用立方体纹理采样算法进行采样,即可完成平面几何体表面的着色,平面几何体的贴图就是目标空间全景图中指定的预设区域的图像内容。
在一实施例中,在着色器中,通过相关技术的立方体纹理采样算法可以实现立方体纹理对象的着色,得到立方体贴图。
通过上述步骤201~步骤203,根据用户触发的设置操作,创建一个平面几何体并利用立方体纹理采样算法对平面几何体进行着色,即可实现在球体贴图(当前空间全景图)中展示目标空间图像内容的嵌入效果。
图3A为本公开的触发空间切换操作的流程图一,图3B为本公开的触发空间切换操作的流程图二;本实施例以如何触发空间切换操作为例进行示例性说明,如图3A所示,包括如下步骤:
在步骤301中,获取虚拟相机的位置。
在步骤302中,响应于所述虚拟相机的位置满足空间切换条件,确定所述用户在当前空间中触发空间切换操作。
在一实施例中,实时获取虚拟相机的位置,并在虚拟相机的位置非常靠近平面几何体时,可以判断虚拟相机的位置满足空间切换条件,即可确定用户在当前空间中触发了空间切换操作。
在一实施例中,虚拟相机与平面几何体之间的距离,可以在虚拟相机所在位置向平面几何体做垂线,垂足与虚拟相机所在位置之间的距离即为虚拟相机与平面几何体之间的距离。
在一实施例中,除了通过上述图3A所示实施例的方式触发空间切换操作之外,还可以通过点击操作触发空间切换操作,参见图3B,包括以下步骤:
在步骤303中,接收所述用户触发的点击操作。
在步骤304中,响应于点击操作发生于所述平面几何体所在位置,确定所述用户在当前空间中触发空间切换操作。
在一实施例中,当用户在屏幕画面中触发点击操作时,如果点击操作发生于所述平面几何体所在位置,则可判定用户在当前空间中触发了空间切换操作。
在一实施例中,在发生点击操作时,可以从虚拟相机当前位置发出一条射线,射线指向用户点击位置,通过虚拟相机的反投影计算出射线与空间中三维模型的交点,如果模型与平面几何体相交到一个点,则可判定点击操作发生于所述平面几何体所在位置,进而判定用户在当前空间中触发了空间切换操作。
通过上述步骤301~步骤302和步骤303~步骤304,实现了在用户靠近平面几何体或者点击平面几何体时,均可触发空间切换操作,实现触发方式多样性,可以进一步增加用户粘度。
与前述用于虚拟现实空间切换的方法的实施例相对应,本公开还提供了用于虚拟现实空间切换的装置对应的实施例。
图4为本公开的用于虚拟现实空间切换的装置的一个实施例的结构示意图,该装置应用在电子设备(如计算机系统、服务器)上,电子设备支持WebGL的浏览器客户端,如图4所示,该装置包括:
接收模块41,用于接收用户在当前空间中触发的空间切换操作;
调整模块42,用于根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;
渲染模块43,用于分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图;
其中,所述当前空间全景图以球面贴图的形式呈现,所述目标空间全景图以立方体贴图的形式呈现,所述立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,所述球体在所述立方体内部,所述球体的内部设置有一个平面几何体,所述平面几何体贴图为所述目标空间全景图的预设区域。
图5为本公开的用于虚拟现实空间切换的装置的又一个实施例的结构示意图,如图5所示,在图4所示实施例的基础上,在一实施例中,所述装置还包括:
创建模块44,用于创建一个立方体纹理对象和一个平面几何体对象;
着色模块45,用于在着色器中采用立方体纹理采样算法,分别对所述立方体纹理对象和所述平面几何体对象进行着色,得到所述立方体贴图和所述平面几何体的贴图。
在一实施例中,所述装置还包括:
生成模块46,用于响应于用户触发的设置操作,生成所述平面几何体的相关信息,所述平面几何体的相关信息包括所述空间切换入口的大小、视角和位置;;
所述创建模块44,具体用于根据所述平面几何体的相关信息,创建所述平面几何体对象。
在一实施例中,所述调整模块42包括:
第一调整子模块421,用于在第一预设时间内,按照所述第一变化曲线将所述当前空间全景图的渲染视场角从第一视场角调整至第二视场角,所述第二视场角大于所述第一视场角。
在一实施例中,所述调整模块42包括:
第二调整子模块422,用于在第二预设时间内,按照所述第二变化曲线将所述当前空间全景图的渲染透明度从第一透明度调整至第二透明度,所述第二预设时间的时间长度大于所述第一预设时间的长度。
在一实施例中,所述调整模块42包括:
第三调整子模块423,用于在第二预设时间内,按照所述第三变化曲线将所述目标空间全景图的渲染透明度从所述第二透明度调整至所述第一透明度。
在一实施例中,所述平面几何体贴图的渲染视场角保持不变;
所述平面几何体贴图的透明度为所述第一透明度。
在一实施例中,所述接收模块41包括:
获取子模块411,用于获取虚拟相机的位置;
第一确定子模块412,用于响应于所述虚拟相机的位置满足空间切换条件,确定所述用户在当前空间中触发空间切换操作;
或者,
接收子模块413,用于接收所述用户触发的点击操作;
第二确定子模块414,用于响应于点击操作发生于所述平面几何体所在位置,确定所述用户在当前空间中触发空间切换操作。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
下面,参考图6来描述根据本公开实施例的电子设备,其中可以集成本公开实施例实现方法的装置。图6为本公开一示意性实施例提供的电子设备的结构图,如图6所示,电子设备包括一个或多个处理器61、一个或多个计算机可读存储介质的存储器62,以及存储在存储器上并可在处理器上运行的计算机程序。在执行存储器62的程序时,可以实现上述用于虚拟现实空间切换的方法。
具体的,在实际应用中,该电子设备还可以包括输入装置63、输出装置64等部件,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者某些部件,或者不同的部件布置。其中:
处理器61可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,通过运行或执行存储在存储器62内的软件程序和/或模块,以及调用存储在存储器62内的数据,执行各种功能和处理数据,从而对该电子设备进行整体监控。
存储器62可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器61可以运行程序指令,以实现上文的本公开的各个实施例的用于虚拟现实空间切换的方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
输入装置63可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆,光学或轨迹球信号输入。
输出装置64可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置64可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
电子设备还可以包括给各个部件供电的电源,可以通过电源管理系统与处理器61逻辑相连,从而通过电源管理系统实现管理充电、放电,以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
当然,为了简化,图6中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于虚拟现实空间切换的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于虚拟现实空间切换的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
Claims (10)
1.一种用于虚拟现实空间切换的方法,其特征在于,应用于支持WebGL的浏览器客户端,所述方法包括:
接收用户在当前空间中触发的空间切换操作;
根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;
分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图;
其中,所述当前空间全景图以球面贴图的形式呈现,所述目标空间全景图以立方体贴图的形式呈现,所述立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,所述球体在所述立方体内部,所述球体的内部设置有一个平面几何体,所述平面几何体贴图为所述目标空间全景图的预设区域。
2.根据权利要求1所述的方法,其特征在于,所述接收用户在当前空间中触发的空间切换操作之前,所述方法还包括:
创建一个立方体纹理对象和一个平面几何体对象;
在着色器中采用立方体纹理采样算法,分别对所述立方体纹理对象和所述平面几何体对象进行着色,得到所述立方体贴图和所述平面几何体贴图。
3.根据权利要求2所述的方法,其特征在于,所述创建一个平面几何体对象之前,所述方法还包括:
响应于用户触发的设置操作,生成所述平面几何体的相关信息,所述平面几何体的相关信息包括所述平面几何体的大小、视角和位置;
所述创建一个平面几何体对象,包括:根据所述平面几何体的相关信息,在三维空间中创建所述平面几何体对象。
4.根据权利要求1所述的方法,其特征在于,所述按照第一变化曲线调整所述当前空间全景图的渲染视场角,包括:
在第一预设时间内,按照所述第一变化曲线将所述当前空间全景图的渲染视场角从第一视场角调整至第二视场角,所述第二视场角大于所述第一视场角。
5.根据权利要求4所述的方法,其特征在于,所述按照第二变化曲线调整当前空间全景图的透明度,包括:
在第二预设时间内,按照所述第二变化曲线将所述当前空间全景图的渲染透明度从第一透明度调整至第二透明度,所述第二预设时间的时间长度大于所述第一预设时间的长度。
6.根据权利要求5所述的方法,其特征在于,所述按照第三变化曲线调整目标空间全景图的透明度,包括:
在第二预设时间内,按照所述第三变化曲线将所述目标空间全景图的渲染透明度从所述第二透明度调整至所述第一透明度。
7.根据权利要求5所述的方法,其特征在于,所述平面几何体贴图的渲染视场角保持不变;
所述平面几何体贴图的透明度为所述第一透明度。
8.根据权利要求1所述的方法,其特征在于,所述接收用户在当前空间中触发的空间切换操作,包括:
获取虚拟相机的位置;
响应于所述虚拟相机的位置满足空间切换条件,确定所述用户在当前空间中触发空间切换操作;
或者,
接收所述用户触发的点击操作;
响应于点击操作发生于所述平面几何体所在位置,确定所述用户在当前空间中触发空间切换操作。
9.一种用于虚拟现实空间切换的装置,其特征在于,应用于支持WebGL的浏览器客户端,所述装置包括:
接收模块,用于接收用户在当前空间中触发的空间切换操作;
调整模块,用于根据所述空间切换操作,按照第一变化曲线调整当前空间全景图的渲染视场角,按照第二变化曲线调整所述当前空间全景图的透明度,按照第三变化曲线调整目标空间全景图的透明度;
渲染模块,用于分别按照对应的渲染视场角和透明度,渲染所述当前空间全景图、所述目标空间全景图以及平面几何体贴图;
其中,所述当前空间全景图以球面贴图的形式呈现,所述目标空间全景图以立方体贴图的形式呈现,所述立方体贴图对应的立方体的中心点与所述球面贴图对应的球体的中心点重合,所述球体在所述立方体内部,所述球体的内部设置有一个平面几何体,所述平面几何体贴图为所述目标空间全景图的预设区域。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机产品;
处理器,用于执行所述存储器中存储的计算机产品,且所述计算机产品被执行时,实现上述权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310769556.6A CN116824101A (zh) | 2023-06-27 | 2023-06-27 | 用于虚拟现实空间切换的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310769556.6A CN116824101A (zh) | 2023-06-27 | 2023-06-27 | 用于虚拟现实空间切换的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116824101A true CN116824101A (zh) | 2023-09-29 |
Family
ID=88125287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310769556.6A Pending CN116824101A (zh) | 2023-06-27 | 2023-06-27 | 用于虚拟现实空间切换的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116824101A (zh) |
-
2023
- 2023-06-27 CN CN202310769556.6A patent/CN116824101A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101108743B1 (ko) | 홀로그래픽 사용자 인터페이스 통신을 위한 방법 및 장치 | |
CA2462595C (en) | Web based 3d image display system | |
US10740981B2 (en) | Digital stages for presenting digital three-dimensional models | |
CN114494328B (zh) | 图像显示方法、装置、电子设备及存储介质 | |
US11893696B2 (en) | Methods, systems, and computer readable media for extended reality user interface | |
KR20220013410A (ko) | 3차원 포인트 클라우드를 기반한 초기 시야각 제어 및 프레젠테이션 방법 및 시스템 | |
Boutsi et al. | Interactive online visualization of complex 3D geometries | |
US11562538B2 (en) | Method and system for providing a user interface for a 3D environment | |
CN113742507A (zh) | 三维展示物品的方法及相关设备 | |
Spini et al. | Web 3d indoor authoring and vr exploration via texture baking service | |
CN115512046B (zh) | 模型外点位的全景图展示方法和装置、设备、介质 | |
US10754498B2 (en) | Hybrid image rendering system | |
KR101162703B1 (ko) | 3차원 가상 공간을 기반으로 원격 제어를 수행하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체 | |
CN116824101A (zh) | 用于虚拟现实空间切换的方法和装置 | |
CN116228949B (zh) | 三维模型处理方法、装置及存储介质 | |
Mendes et al. | IMAGO visualization System: an interactive web-based 3D visualization system for cultural heritage applications | |
CN115481476B (zh) | 数据展示方法、装置及存储介质 | |
CN116778126A (zh) | 用于放大显示虚拟现实空间的方法、装置及存储介质 | |
KR102683669B1 (ko) | 메타버스 환경에서 전시 서비스를 제공하는 서버 및 그 동작 방법 | |
CN117351177A (zh) | 三维场景中虚拟物体展示方法、装置及存储介质 | |
CN116612228A (zh) | 用于平滑物体边缘的方法、装置及存储介质 | |
CN117036565A (zh) | 用于全景图中物体结构展示的方法、装置及存储介质 | |
US12062148B2 (en) | On-demand 3D image viewer | |
KR102550967B1 (ko) | 이미지 출력 방법 및 장치 | |
Barsoum et al. | Towards adaptive Web scriptable user interfaces for virtual environments |
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 |