CN110163977B - 多世界虚拟场景中的虚拟通道渲染方法及装置 - Google Patents
多世界虚拟场景中的虚拟通道渲染方法及装置 Download PDFInfo
- Publication number
- CN110163977B CN110163977B CN201810771992.6A CN201810771992A CN110163977B CN 110163977 B CN110163977 B CN 110163977B CN 201810771992 A CN201810771992 A CN 201810771992A CN 110163977 B CN110163977 B CN 110163977B
- Authority
- CN
- China
- Prior art keywords
- world
- rendering
- virtual channel
- state
- virtual
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 287
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000001514 detection method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 21
- 230000035515 penetration Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000012780 transparent material Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种多世界虚拟场景中的虚拟通道渲染方法及装置,所述方法包括:生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动;接收触发所述渲染相机在所述虚拟场景中移动的控制请求;响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹;根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间;在所述虚拟场景中显示可收容所述渲染相机的房间。采用本发明解决了现有技术中因虚拟通道的厚度较厚而导致用户在穿越过程中观察到世界跳变的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多世界虚拟场景中的虚拟通道渲染方法及装置。
背景技术
随着计算机技术的发展,AR(Augmented Reality,增强现实)技术被广泛地应用于各种领域,例如,物联网领域、互联网游戏领域等等。
用户可借助AR技术实现在两个世界来回穿越的体验。具体而言,随着用户设备中客户端的运行,用于显示虚拟世界和真实世界的虚拟场景相应构建,并在虚拟世界与真实世界之间设有虚拟通道,例如,穿越门,由此,用户即可通过此虚拟通道观察到虚拟场景中的另一个世界,例如,假设用户主要观察到的当前世界为虚拟世界,则真实世界即为另一个世界。
目前,针对虚拟场景中两个无限空间的世界,虚拟通道渲染方法主要基于场景叠加实现,即先由另一个世界通过虚拟通道的目标场景提取出,再将此目标场景合成至当前世界。上述过程计算量较大,受限于用户设备所配置的硬件,容易造成图像渲染性能较差,进而导致用户设备中画面流畅率较低。
为此,提出由房间模型方案取代场景叠加方案来实现多世界虚拟场景中的虚拟通道渲染,以此来提高图像渲染性能,进而保证用户设备中画面的流畅率。在此房间模型方案中,由于存在穿墙问题,在虚拟场景中往往设置了具有一定厚度的墙体和虚拟通道。
然而,具有一定厚度的虚拟通道还将导致用户在穿越过程中观察到世界跳变的现象。
发明内容
为了解决上述技术问题,本发明的一个目的在于提供一种多世界虚拟场景中的虚拟通道渲染方法及装置。
其中,本发明所采用的技术方案为:
一方面,一种多世界虚拟场景中的虚拟通道渲染方法,包括:生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动;接收触发所述渲染相机在所述虚拟场景中移动的控制请求;响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹;根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间;在所述虚拟场景中显示可收容所述渲染相机的房间。
另一方面,一种多世界虚拟场景中的虚拟通道渲染装置,包括:场景生成模块,用于生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动;请求接收模块,用于接收触发所述渲染相机在所述虚拟场景中移动的控制请求;位置识别模块,用于响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹;房间生成模块,用于根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间;房间显示模块,用于在所述虚拟场景中显示可收容所述渲染相机的房间。
在一示例性实施例中,所述请求接收模块包括:移动状态检测单元,用于检测移动终端的移动状态;第一请求生成单元,用于按照检测到所述移动终端的移动状态生成所述控制请求,以触发所述渲染相机跟随所述移动终端的移动状态在所述虚拟场景中移动。
在一示例性实施例中,所述请求接收模块括:第二请求生成单元,用于根据所述虚拟场景中触发进行的移动操作生成所述控制请求,以触发所述渲染相机跟随所述移动操作在所述虚拟场景中移动。
在一示例性实施例中,所述房间生成模块包括:位置确定单元,用于根据所述移动轨迹确定所述渲染相机的位置、以及所述位置与所述虚拟通道之间的距离;第一检测单元,用于如果所述距离超过指定范围且所述位置位于所述第一世界,则检测到所述世界状态为第一世界状态;或第二检测单元,用于如果所述距离超过指定范围且所述位置位于所述第二世界,则检测到所述世界状态为第二世界状态;或第三检测单元,用于如果所述距离未超过指定范围,则检测到所述世界状态为穿越中间态。
在一示例性实施例中,所述穿越中间态包括第一中间态和第二中间态,所述第三检测单元包括:第一中间态检测单元,用于如果所述移动轨迹指示所述渲染相机经由所述虚拟通道从所述第一世界移动至所述第二世界,则检测到所述世界状态由所述第一中间态切换为所述第二中间态;或第二中间态检测单元,用于如果所述移动轨迹指示所述渲染相机经由所述虚拟通道从所述第二世界移动至所述第一世界,则检测到所述世界状态由所述第二中间态切换为所述第一中间态。
在一示例性实施例中,所述房间生成模块包括:第二数据获取单元,用于如果检测到所述世界状态为所述穿越中间态中的第一中间态,则获取第二房间模型数据;第二渲染单元,用于根据所述第二房间模型数据渲染形成墙体沿所述移动轨迹所指示移动方向外凸的房间,该墙体与所述虚拟通道围合而成的外凸区域用于收容所述渲染相机。
在一示例性实施例中,所述房间生成模块包括:第三数据获取单元,用于如果检测到所述世界状态为所述穿越中间态中的第二中间态,则获取第三房间模型数据;第三渲染单元,用于根据所述第三房间模型数据渲染形成相互嵌套的外房间和内房间,所述内房间的墙体沿所述移动轨迹所指示移动方向内凹,所述内房间的墙体与所述虚拟通道围合而成的内凹区域用于收容所述渲染相机。
在一示例性实施例中,所述装置还包括:状态保持单元,用于如果检测到所述世界状态为所述第一世界状态,则在所述虚拟场景中继续显示所述虚拟通道。
在一示例性实施例中,所述装置还包括:第四数据获取单元,用于如果检测到所述世界状态为所述第二世界状态,则获取第四房间模型数据;第四渲染单元,用于根据获取到的第四房间模型数据渲染形成包含第一部分墙体和第二部分墙体的房间;其中,所述第一部分墙体和所述第二部分墙体位于所述虚拟通道所在平面的两侧,所述第二部分墙体与所述虚拟通道所在平面围合而成的房间区域用于收容所述渲染相机。
在一示例性实施例中,所述装置还包括:数据重新获取单元,用于如果所述移动轨迹指示所述渲染相机移动至所述房间区域,则重新获取第四房间模型数据;重新渲染单元,用于根据重新获取到的第四房间模型数据为所述虚拟通道进行对称房间的重新渲染。
在一示例性实施例中,所述场景生成模块包括:第一数据获取单元,用于获取第一房间模型数据生成所述虚拟通道;图像数据获取单元,用于获取第一图像数据和第二图像数据分别生成所述第一世界和所述第二世界;合并渲染单元,用于将所述虚拟通道、所述第一世界、所述第二世界进行图像合并渲染,得到图像渲染结果;显示单元,用于在所述虚拟场景中根据所述图像渲染结果显示所述虚拟通道、所述第一世界和所述第二世界。
另一方面,一种多世界虚拟场景中的虚拟通道渲染装置,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的多世界虚拟场景中的虚拟通道渲染方法。
另一方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的多世界虚拟场景中的虚拟通道渲染方法。
在上述技术方案中,在用于显示虚拟通道、第一世界、第二世界的虚拟场景中,接收触发渲染相机移动的控制请求,以响应此控制请求对渲染相机进行位置识别,得到渲染相机在虚拟场景中移动时的移动轨迹,进而根据移动轨迹检测世界状态,如果检测到世界状态为穿越中间态,则为虚拟通道生成可收容渲染相机的房间,并在虚拟场景中显示可收容渲染相机的房间,由此,在用户穿越过程中,即使虚拟通道具有极薄的厚度,由于渲染相机被收容在房间内,用户始终是通过房间对虚拟场景中的其中一个世界进行观察,由此避免了现有技术所存在的用户观察到世界跳变的现象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是现有技术中基于房间模型所构建的虚拟场景的俯视示意图之一。
图2是现有技术中基于房间模型所构建的虚拟场景的俯视示意图之二。
图3是本发明所涉及的穿墙原理的示意图。
图4是根据一示例性实施例示出的一种终端的硬件结构框图。
图5是根据一示例性实施例示出的一种多世界虚拟场景中的虚拟通道渲染方法的流程图。
图6是根据一示例性实施例示出的基于房间模型所构建的虚拟场景的俯视示意图。
图7是本发明所涉及的透视渲染原理的示意图。
图8是根据一示例性实施例示出的渲染相机移动位置后的虚拟场景的俯视示意图。
图9是图4对应实施例中步骤330在一个实施例的流程图。
图10是图4对应实施例中步骤371在一个实施例的流程图。
图11是图10对应实施例中步骤3717在一个实施例的流程图。
图12是根据一示例性实施例示出的渲染相机不靠近虚拟通道且世界状态为第一世界状态的虚拟场景的俯视示意图。
图13是图4对应实施例中步骤373在一个实施例的流程图。
图14是根据一示例性实施例示出的渲染相机靠近虚拟通道且世界状态为第一世界状态的虚拟场景的俯视示意图。
图15是图4对应实施例中步骤373在另一个实施例的流程图。
图16是根据一示例性实施例示出的渲染相机靠近虚拟通道且世界状态为第二世界状态的虚拟场景的俯视示意图。
图17是根据一示例性实施例示出的另一种多世界虚拟场景中的虚拟通道渲染方法的流程图。
图18是根据一示例性实施例示出的渲染相机不靠近虚拟通道且世界状态为第二世界状态的虚拟场景的俯视示意图。
图19是根据一示例性实施例示出的另一种多世界虚拟场景中的虚拟通道渲染方法的流程图。
图20是根据一示例性实施例示出的渲染相机移动至房间模型的指定区域的虚拟场景的俯视示意图。
图21是图4对应实施例中步骤310在一个实施例的流程图。
图22是根据一示例性实施例示出的一种多世界虚拟场景中的虚拟通道渲染装置的框图。
图23是根据一示例性实施例示出的一种多世界虚拟场景中的虚拟通道渲染装置的硬件结构框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
如前所述,针对虚拟场景中两个无限空间的世界,图像渲染方法主要基于场景叠加实现,而受限于用户设备所配置的硬件,场景叠加方案容易造成图像渲染性能较差,进而导致用户设备中画面流畅率较低。
为此,发明人考虑由房间模型方案取代场景叠加方案来实现多世界虚拟场景中的虚拟通道渲染,以此提高图像渲染性能。
在此,首先对房间模型方案作如下介绍。
图1是基于房间模型所构建的虚拟场景的俯视示意图。如图1所示,所构建的虚拟场景中包括两个世界,一个世界是无限空间的真实世界130,另一个世界是有限空间的房间110。
需要说明的是,虚拟场景实质是向用户展示三维模型的虚拟环境,为此,对存在于虚拟场景中的世界来说,均可视为三维模型。例如,房间110即视为房间模型。
在此虚拟场景中,房间110作为虚拟场景中的一个世界位于真实世界130之内,此房间110由虚拟通道111和墙体113围合而成。
其中,墙体113为双层,包括内墙1131和外墙1133。内墙1131是实体墙,即用户视觉借由光线透过内墙1131实际观察到的仍是内墙1131。外墙1133则是由透视材质所构建,用户视觉借由光线透过外墙1133实际观察到的实质是外墙1133之后存在于虚拟场景中的真实世界130。故而,内墙1131也可以理解为是实墙,而外墙1133则可以理解为是穿透墙。
应当说明的是,在图像渲染过程中,用户视觉是基于执行图像渲染的渲染相机实现的,即渲染相机作为用户视觉在虚拟场景中的出发点。具体地说,随着渲染相机的移动,使得虚拟场景相对于用户视觉也跟随移动,由此向用户展示动画效果。例如,向前推动渲染相机,用户视觉也跟随渲染相机推动而向前移动,此时,虚拟场景就仿佛离用户越来越近,由此形成虚拟场景向用户推进的动画效果。
补充说明的是,此处用于执行图像渲染的渲染相机区别于用户设备所配置的摄像头,并非用于图像采集,而是使用户设备所配置的屏幕中显示图像渲染所形成的画面。
进一步地,如图1所示,假设渲染相机101位于房间110之外,即用户视觉是在房间110外面进行观察,沿光线102方向所示,用户视觉透过虚拟通道111观察到内墙1131,而沿光线103方向所示,用户视觉透过外墙1133则观察到真实世界130。
如图2所示,假设渲染相机101位于房间110内,即用户视觉是在房间110里面进行观察,沿光线104方向所示,用户视觉观察到内墙1131,而沿光线105方向所示,用户视觉透过虚拟通道111则观察到真实世界130。
由上可知,基于房间模型所设有的虚拟通道,用户仿佛在两个世界(房间与真实世界)之间来回穿越。
容易理解的是,房间模型方案最初并非针对虚拟场景中两个无限空间的世界,即房间模型方案中房间所代表的世界属于有限空间,故而,并不能够直接替换场景叠加方案而应用于多世界虚拟场景中的虚拟通道渲染。
因此,为了提高图像渲染性能,本发明首先需要解决的技术问题是:如何利用房间模型来实现虚拟场景中显示两个无限空间的世界。
其次,假设利用房间模型实现了虚拟场景中显示两个无限空间的世界,如前所述,房间通常由虚拟通道与墙体围合而成,那么,在进行多世界虚拟场景中的虚拟通道渲染时,总是希望用户视觉透过虚拟通道才能够观察到虚拟场景中的另一个世界,而通过墙体则观察不到虚拟场景中的另一个世界。
然而,当用户视觉靠近房间模型所设有的墙体时,用户视觉也能够观察到虚拟场景中的另一个世界,即存在穿墙问题。
如图3所示,当用户视觉无限接近房间模型所设有的墙体时,如果用户视觉沿虚拟通道所在平面朝虚拟通道所在位置观察,则可能出现透视中间态,即一部分穿过墙体观察到虚拟场景中的另一个世界,而另一部分未穿过墙体而仍然观察到虚拟场景中的当前世界,即发生了穿墙现象。
此外,当渲染相机通过虚拟通道在当前世界与另一个世界之间移动时,即在用户穿越过程中,用户视觉如果朝虚拟通道观察,则同样可能出现透视中间态,即也发生了穿墙现象。
为此,为了避免穿墙现象,此房间模型方案中,虚拟场景中设置了具有一定厚度的墙体和虚拟通道。然而,当墙体/虚拟通道的厚度较厚时,会导致用户在穿越过程中观察到世界跳变的现象,例如,用户设备出现黑屏,或者,用户设备所呈现的画面一会是当前世界,一会是另一个世界等等,这并不利于提升用户的娱乐体验。
也就是说,利用房间模型来实现虚拟场景中显示两个无限空间的世界,本发明还应当在避免穿墙现象的前提下,解决因虚拟通道的厚度较厚而导致用户在穿越过程中观察到世界跳变的问题。
因此,本发明特提出了一种多世界虚拟场景中的虚拟通道渲染方法,能够取代场景叠加方案,进而有效地提高图像渲染性能,改善用户设备中画面流畅率,同时在避免穿墙现象的前提下具有极薄的虚拟通道,相应地,虚拟通道渲染方法适配于虚拟通道渲染装置,此虚拟通道渲染装置部署于用户设备,例如,用户设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑或者其他任何可进行虚拟场景构建的电子设备,在此并未加以限定。
请参阅图4,图4是根据一示例性实施例示出的一种用户设备的框图。
需要说明的是,该用户设备只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该用户设备也不能解释为需要依赖于或者必须具有图4中示出的示例性的用户设备100中的一个或者多个组件。
如图4所示,用户设备100包括存储器101、存储控制器103、一个或多个(图4中仅示出一个)处理器105、外设接口107、射频模块109、定位模块111、摄像模块113、音频模块115、触控屏幕117以及按键模块119。这些组件通过一条或多条通讯总线/信号线121相互通讯。
其中,存储器101可用于存储计算机程序以及模块,如本发明示例性实施例中的多世界虚拟场景中的虚拟通道渲染方法及装置对应的计算机可读指令及模块,处理器105通过运行存储在存储器101内的计算机可读指令,从而执行各种功能以及数据处理,即完成多世界虚拟场景中的虚拟通道渲染方法。
存储器101作为资源存储的载体,可以是随机存储器、例如高速随机存储器、非易失性存储器,如一个或多个磁性存储装置、闪存、或者其它固态存储器。存储方式可以是短暂存储或者永久存储。
外设接口107可以包括至少一有线或无线网络接口、至少一串并联转换接口、至少一输入输出接口以及至少一USB接口等,用于将外部各种输入/输出装置耦合至存储器101以及处理器105,以实现与外部各种输入/输出装置的通信。
射频模块109用于收发电磁波,实现电磁波与电信号的相互转换,从而通过通讯网络与其他设备进行通讯。通信网络包括蜂窝式电话网、无线局域网或者城域网,上述通信网络可以使用各种通信标准、协议及技术。
定位模块111用于获取用户设备100的当前所在的地理位置。定位模块111的实例包括但不限于全球卫星定位系统(GPS)、基于无线局域网或者移动通信网的定位技术。
摄像模块113隶属于摄像头,用于拍摄图片或者视频。拍摄的图片或者视频可以存储至存储器101内,还可以通过射频模块109发送至上位机。
音频模块115向用户提供音频接口,其可包括一个或多个麦克风接口、一个或多个扬声器接口以及一个或多个耳机接口。通过音频接口与其它设备进行音频数据的交互。音频数据可以存储至存储器101内,还可以通过射频模块109发送。
触控屏幕117在用户设备100与用户之间提供一个输入输出界面。具体地,用户可通过触控屏幕117进行输入操作,例如点击、触摸、滑动等手势操作,以使用户设备100对该输入操作进行响应。用户设备100则将文字、图片或者视频任意一种形式或者组合所形成的输出内容通过触控屏幕117向用户显示输出。
按键模块119包括至少一个按键,用以提供用户向用户设备100进行输入的接口,用户可以通过按下不同的按键使用户设备100执行不同的功能。例如,声音调节按键可供用户实现对用户设备100播放的声音音量的调节。
可以理解,图4所示的结构仅为示意,用户设备100还可包括比图4中所示更多或更少的组件,或者具有与图4所示不同的组件。图4中所示的各组件可以采用硬件、软件或者其组合来实现。
请参阅图5,在一示例性实施例中,一种多世界虚拟场景中的虚拟通道渲染方法适用于用户设备,该用户设备的结构可以如图4所示。
该种多世界虚拟场景中的虚拟通道渲染方法可以由用户设备执行,也可以理解为虚拟通道渲染方法由运行于用户设备的客户端执行。为了便于描述,下述方法实施例中以客户端作为执行主体,对虚拟通道渲染方法进行说明。
该种多世界虚拟场景中的虚拟通道渲染方法可以包括以下步骤:
步骤310,生成用于显示虚拟通道、第一世界和第二世界的虚拟场景。
如前所述,随着用户设备中客户端的运行,虚拟场景相应地构建。客户端可以是应用程序形式的,也可以是网页形式的,相应地,虚拟场景可以通过应用程序窗口向用户展示,还可以是通过网页页面向用户展示,在此并不进行限定。
虚拟场景构建之后,将显示出虚拟通道、第一世界、第二世界的最初形态。其中,虚拟通道可供渲染相机在第一世界与第二世界之间移动,那么,用户视觉即可透过此虚拟通道观察虚拟场景中的世界。例如,如图6所示,在所构建虚拟场景中,当渲染相机位于第一世界,即用户视觉101在第一世界进行观察时,用户视觉将透过虚拟通道观察到虚拟世界中的第二世界。
在一实施例中,所构建虚拟场景中,第一世界为虚拟世界,第二世界也为虚拟世界,例如,游戏场景,用户所操控游戏玩家可在不同虚拟世界中穿越。在另一实施例中,所构建虚拟场景中,第一世界为虚拟世界,第二世界为真实世界,例如,即时通讯场景,用户可借由即时通讯客户端而仿佛置身于虚拟世界与真实世界之间穿越。
应当说明的是,图6中的虚拟通道由透视材质组成,具有极薄的厚度。
在此补充说明的是,基于透视材质的图像渲染原理,如图7所示,针对渲染相机在虚拟场景中的位置而言,虚拟通道与渲染相机之间,第一世界对应的画面将进行图像渲染,而虚拟通道与第二世界之间,第一世界对应的画面则不进行图像渲染,由不可透视材质构建的第二世界所对应的画面则始终进行图像渲染,由此,以渲染相机作为用户视觉在虚拟场景中的出发点,用户视觉透过虚拟通道实际观察到的是第二世界而并非第一世界。当然,第一世界是由可隐藏材质所构建的,以此保证第一世界可透过虚拟通道而被隐藏。
进一步补充说明的是,由于虚拟场景是以渲染相机为中心点进行构建的,因此,当渲染相机以自身为中心点进行360度旋转时,用户视觉也将相应地观察到虚拟场景中的全景画面。例如,如图6所示,用户视觉可以由多个角度观察到第一世界所对应的不同画面,而由不同角度透过虚拟通道也将观察到第二世界所对应的不同画面。
容易理解,对于所构建虚拟场景中显示最初形态的虚拟通道而言,如图6所示,当渲染相机101位于第一世界内,用户视觉直接观察到的世界为第一世界,透过虚拟通道观察到的世界为第二世界,同理,当渲染相机101位于第二世界内,用户视觉直接观察到的世界为第二世界,透过虚拟通道观察到的世界为第一世界,由此,对于用户而言,仿佛在第一世界与第二世界之间穿越。
然而,如图8所示,假设渲染相机101通过虚拟通道由第一世界移动至第二世界,仍基于最初形态的虚拟通道,用户视觉所观察到的世界却发生了错误。例如,沿光线106、107方向所示,用户视觉观察到的仍然是第一世界,而沿光线108方向所示,用户视觉透过虚拟通道依然观察到第二世界。
上述错误正是由于房间模型方案不适用于两个无限空间的世界所导致的,亦即房间模型方案无法直接取代场景叠加方案的原因。
为此,本发明中,将根据渲染相机在虚拟场景中移动时的移动轨迹为虚拟通道生成不同结构的房间,以在多世界虚拟场景的虚拟通道渲染中实现房间模型方案对场景叠加方案的取代。
由上可知,首先需要确定渲染相机在虚拟场景中是否移动,即跳转执行步骤330。
步骤330,接收触发渲染相机在虚拟场景中移动的控制请求。
虚拟场景中,将为用户增设一移动控制入口,当用户希望触发渲染相机在所构建虚拟场景中移动,便可在此移动控制入口实施相关操控行为,使得用户设备接收到控制请求,并根据此控制请求触发渲染相机在所构建虚拟场景中移动。应当理解,渲染相机在所构建虚拟场景中的移动将跟随用户实施的相关操控行为进行。
对于用户设备及其配置的输入组件不同,用户在移动控制入口实施的相关操控行为将有所区别。
在一实施例的具体实现中,用户可借由控制移动终端(例如智能手机、平板电脑等便携式用户设备)的移动,而触发渲染相机在所构建虚拟场景中移动。其中,用户所实施的相关操控行为即控制移动终端移动。
相应地,如图9所示,步骤330可以包括以下步骤:
步骤331,检测移动终端的移动状态。
步骤333,按照检测到移动终端的移动状态生成控制请求,以触发渲染相机跟随移动终端的移动状态在虚拟场景中移动。
例如,如图6所示,用户操控移动终端向左前方移动,那么,作为用户设备的移动终端,即按照所检测到移动状态指示的移动终端向左前方移动,而控制渲染相机在虚拟场景中朝虚拟通道移动。
在另一实施例的具体实现中,用户可借由用户设备所配置的输入组件(例如鼠标、键盘、触控屏幕等)触发移动操作,而触发渲染相机在所构建虚拟场景中移动。例如,通过鼠标所实施的拖拽/单击操作、通过键盘所实施的快捷键操作、通过触控屏幕所实施的滑动手势操作等均视为移动操作,亦即用户所实施的相关操控行为。
相应地,步骤330可以包括以下步骤:
根据虚拟场景中触发进行的移动操作生成控制请求,以触发渲染相机跟随移动操作在虚拟场景中移动。
也就是说,在一实施例中,控制请求是响应用户设备自身的移动状态而生成的,在另一实施例中,控制请求是响应用户设备所配置输入组件被触发移动操作而生成的。
那么,对于用户设备而言,当接收到控制请求,便可确定渲染相机在虚拟场景中发生了移动。
步骤350,响应控制请求对渲染相机进行位置识别,得到渲染相机在虚拟场景中移动时的移动轨迹。
如前所述,如果渲染相机始终位于第一世界,例如,渲染相机在第一世界内移动,那么,用户所观察到的世界不会发生错误,则虚拟通道可始终保持虚拟场景构建时的最初形态;而如果渲染相机通过虚拟通道由第一世界移动至第二世界,则用户所观察到的世界将发生错误,如图8所示,此时,便需要为虚拟通道生成不同结构的房间。
为此,在用户设备确定渲染相机在虚拟场景中发生了移动后,还需要进一步地确定渲染相机在虚拟场景中移动时的移动轨迹,即渲染相机在虚拟场景中移动时各位置的变化,以此判断是否需要根据渲染相机在虚拟场景中移动时的移动轨迹而使为虚拟通道生成的房间的结构相应地变化。
在一实施例的具体实现中,渲染相机位置识别是由客户端内置的渲染引擎实现的,随着客户端的运行,调用渲染引擎进行渲染相机位置识别,便可得到渲染相机在虚拟场景中移动时的移动轨迹。
步骤370,根据移动轨迹检测世界状态,如果检测到世界状态为穿越中间态,则为虚拟通道生成可收容渲染相机的房间。
为了便于描述,步骤370进一步地划分为两个步骤:
步骤371,根据移动轨迹检测世界状态。
步骤373,如果检测到世界状态为穿越中间态,则为虚拟通道生成可收容渲染相机的房间。
首先,世界状态包括第一世界状态、第二世界状态和穿越中间态。
其中,第一世界状态是指渲染相机的位置远离虚拟通道且位于第一世界内。
第二世界状态是指渲染相机的位置远离虚拟通道且位于第二世界内。
穿越中间态则是指渲染相机的位置靠近虚拟通道。
下面对世界状态的检测过程加以说明。
在一实施例的具体实现中,如图10所示,步骤371可以包括以下步骤:
步骤3711,根据移动轨迹确定渲染相机的位置、以及位置与虚拟通道之间的距离。
如前所述,移动轨迹反映了渲染相机在虚拟场景中移动时各位置的变化,那么,通过移动轨迹即可获得渲染相机在虚拟场景中移动时的位置。
在获得渲染相机在虚拟场景中移动时的位置之后,需要以此来判断渲染相机的位置是否靠近虚拟通道,以便于后续执行世界状态的检测。
具体地,进行渲染相机的位置与虚拟通道之间距离的计算。
如果距离未超过指定范围,则视为渲染相机靠近虚拟通道。
如果距离超过指定范围,则视为渲染相机远离虚拟通道。
其中,指定范围指的是虚拟场景中虚拟通道的附近区域,此指定范围可以根据实际需要而灵活地调整,在此不进行限定。
步骤3713,如果距离超过指定范围且位置位于第一世界,则检测到世界状态为第一世界状态。
步骤3715,如果距离超过指定范围且位置位于第二世界,则检测到世界状态为第二世界状态。
步骤3717,如果距离未超过指定范围,则检测到世界状态为穿越中间态。
其次,在完成世界状态的检测之后,便可判断是否需要为虚拟通道生成不同结构的房间。
例如,世界状态为第一世界状态,即表示渲染相机始终在第一世界内移动,此时,用户视觉观察到的世界不会发生任何的错误,则虚拟通道可始终保持构建虚拟场景时的最初形态。
又或者,世界状态为第二世界状态或者穿越中间态,即表示渲染相机通过虚拟通道由第一世界移动至第二世界,并最终停留于第二世界,或者,表示渲染相机存在通过虚拟通道在第一世界与第二世界之间移动的趋势,这都有可能导致用户视觉所观察到的世界发生错误,则为虚拟通道生成不同结构的房间。
进一步地,针对世界状态为穿越中间态,由于渲染相机的位置靠近虚拟通道,此时,渲染相机存在通过虚拟通道在第一世界与第二世界之间移动的趋势,换而言之,可能发生穿墙现象,因此,本实施例中,为了避免穿墙现象并且保证虚拟通道具有极薄的厚度,为虚拟通道生成的房间是可收容渲染相机的。
具体地,房间由虚拟通道和墙体构建,虚拟通道和墙体围合而成的房间区域用于收容渲染相机。其中,虚拟通道为中空,墙体由透明材质组成。
关于可收容渲染相机的房间是如何避免穿墙现象现解释如下。
如前所述,穿墙现象是指用户视觉的一部分穿过墙体观察到虚拟场景中的另一个世界,而另一部分未穿过墙体而依然观察到虚拟场景中的当前世界。可以理解,在用户穿越过程中,即渲染相机通过虚拟通道在第一世界与第二世界之间移动,如果渲染相机始终被房间所收容,那么,对位于房间内的渲染相机而言,无论从哪个角度观察,用户视觉要么通过中空的虚拟通道直接观察到虚拟场景中的当前世界,要么通过透视材质组成的墙体观察到虚拟场景中的另一个世界,而不可能出现一部分穿过墙体,而另一部分未穿过墙体。
简言之,通过可收容渲染相机的房间取代了具有一定厚度的虚拟通道,由此既避免了穿墙问题,而且充分地保证了虚拟通道可以具有极薄的厚度。
步骤390,在虚拟场景中显示可收容渲染相机的房间。
也就是说,基于虚拟场景构建时的最初形态,显示虚拟通道、第一世界和第二世界之后,随着渲染相机在虚拟场景中的移动,还将显示为虚拟通道生成的可收容渲染相机的房间,由此,在解决了穿墙问题之后,无论渲染相机在虚拟场景中如何移动,都能够保证虚拟通道始终具有极薄的厚度。
通过如上所述的过程,虚拟场景中两个无限空间的世界即可基于房间模型实现,利用房间模型使得第一世界与第二世界采用相同的坐标系进行构建,有效地降低了图像渲染过程中的计算量,从而有效地提升了图像渲染性能。
此外,基于较高的图像渲染性能,不再受限于用户设备所配置的硬件,不仅提高了图像渲染的通用性和适用性,而且有利于用户设备中画面流畅率的提升。
请参阅图11,在一示例性实施例中,穿越中间态包括第一中间态和第二中间态。
如前所述,穿越中间态是指渲染相机的位置靠近虚拟通道。由此,针对渲染相机的位置所在的世界,进一步地将穿越中间态划分为第一中间态和第二中间态。
其中,第一中间态,是指渲染相机的位置靠近虚拟通道且位置位于第一世界。此时,渲染相机存在通过虚拟通道从第一世界移动至第二世界的趋势。
第二中间态,是指渲染相机的位置靠近虚拟通道且位置位于第二世界。此时,渲染相机存在通过虚拟通道从第二世界移动至第一世界的趋势。
相应地,步骤3717可以包括以下步骤:
步骤3717a,如果移动轨迹指示渲染相机经由虚拟通道从第一世界移动至第二世界,则检测到世界状态由第一中间态切换为第二中间态。
也就是说,当渲染相机经由虚拟通道从第一世界移动至第二世界,此时,渲染相机的位置靠近虚拟通道,但位置已经从位于第一世界移动至了第二世界,因此,世界状态相应地由第一中间态切换至第二中间态。
步骤3717c,如果移动轨迹指示渲染相机经由虚拟通道从第二世界移动至第一世界,则检测到世界状态由第二中间态切换为第一中间态。
同理,当渲染相机经由虚拟通道从第二世界移动至第一世界,此时,渲染相机的位置靠近虚拟通道,但位置已经从位于第二世界移动至了第一世界,因此,世界状态相应地由第二中间态切换至第一中间态。
在上述过程,实现了不同世界状态的检测,为后续判断是否为虚拟通道生成不同结构的房间提供了充分的依据。
下面针对不同世界状态,对不同结构的房间的生成过程进行具体说明。
在一示例性实施例中,如上所述的方法还可以包括以下步骤:
如果检测到世界状态为第一世界状态,在虚拟场景中继续显示虚拟通道。
也就是说,对于第一世界状态而言,仍然保持虚拟场景构建时最初形态的虚拟通道,即返回执行步骤330。
虚拟场景构建时最初形态的虚拟通道是由第一房间模型数据渲染形成的。如图12所示,第一房间模型数据所描述的虚拟通道701即为虚拟场景构建时的最初形态,具有极薄的厚度。其中,虚拟通道701由透视材质组成。
由此,当用户置身于此虚拟场景中时,用户视觉借由光线801、802观察到的是第一世界,例如虚拟世界,而借由光线803透过虚拟通道701观察到的是第二世界,例如真实世界。
请参阅图13,在一示例性实施例中,步骤373可以包括以下步骤:
步骤3731,如果检测到世界状态为穿越中间态中的第一中间态,则获取第二房间模型数据。
步骤3733,根据第二房间模型数据渲染形成墙体沿所述移动轨迹所指示移动方向外凸的房间,该墙体与虚拟通道围合而成的外凸区域用于收容渲染相机。
对于第一中间态而言,由于渲染相机存在通过虚拟通道从第一世界移动至第二世界的趋势,为了避免穿墙问题,在保证具有极薄厚度的虚拟通道前提下,需要为此虚拟通道生成不同结构的房间。
此房间是由第二房间模型数据生成的。如图14所示,第二房间模型数据所描述的房间由虚拟通道702和墙体703构建。其中,虚拟通道702为中空,墙体703由单层透视材质组成且呈矩形结构。
当然,根据应用场景的实际需要,墙体703的结构形状还可以是半圆形、三角形等其他形状,仅需要能够与虚拟通道702实现闭合即可,以便于借助墙体703与虚拟通道702围合而成的外凸区域收容渲染相机,本实施例并非对此构成限定。此处,外凸是针对移动轨迹所指示的移动方向而言,即7021。
由此,当用户置身于此虚拟场景中时,用户视觉借由光线804观察到的是第一世界,例如虚拟世界,而借由光线805、806透过虚拟通道702观察到的是第二世界,例如真实世界。
请参阅图15,在另一示例性实施例中,步骤373可以包括以下步骤:
步骤3732,如果检测到世界状态为穿越中间态中的第二中间态,则获取第三房间模型数据。
步骤3734,根据第三房间模型数据渲染形成相互嵌套的外房间和内房间,内房间的墙体沿移动轨迹所指示移动方向内凹,内房间的墙体与虚拟通道围合而成的内凹区域用于收容渲染相机。
对于第二中间态而言,由于渲染相机存在通过虚拟通道从第二世界移动至第一世界的趋势,为了避免穿墙问题,在保证具有极薄厚度的虚拟通道前提下,需要为此虚拟通道生成不同结构的房间。
此房间是由第三房间模型数据生成的。如图16所示,第三房间模型数据所描述的房间包括相互嵌套的外房间和内房间。其中,虚拟通道704为中空,墙体为双层,均由透视材质组成。
具体地,内房间由虚拟通道704和第一层墙体7051构建,外房间由虚拟通道704和第二层墙体7052构建。第一层墙体7051呈矩形结构,第二层墙体7052呈半圆形结构,均与虚拟通道704相连接。
同理,根据应用场景的实际需求,每层墙体的结构形状还可以是三角形、梯形等其他形状,仅需要能够与虚拟通道704实现闭合即可,以便于借助第一层墙体7051与虚拟通道704围合而成的内凹区域收容渲染相机,本实施例并非对此构成限定。此处,内凹是针对移动轨迹所指示的移动方向而言,即7041。
由此,当用户置身于此虚拟场景中时,用户视觉借由光线808、809观察到的是第二世界,例如真实世界,而借由光线807透过虚拟通道704观察到的是第一世界,例如虚拟世界。
请参阅图17,在另一示例性实施例中,如上所述的方法还可以包括以下步骤:
步骤410,如果检测到世界状态为第二世界状态,则获取第四房间模型数据。
步骤430,根据获取到的第四房间模型数据渲染形成包含第一部分墙体和第二部分墙体的房间。
其中,第一部分墙体和第二部分墙体位于虚拟通道所在平面的两侧,第二部分墙体与虚拟通道所在平面围合而成的房间区域用于收容渲染相机。
对于第二世界状态而言,由于渲染相机已经通过虚拟通道从第一世界移动至第二世界,为了使得用户所观察到的世界不发生错误,在保证具有极薄厚度的虚拟通道前提下,也需要为此虚拟通道生成不同结构的房间。
此房间由第四房间模型数据渲染形成。如图18所示,第四房间模型数据所描述的房间由虚拟通道706和墙体构建。其中,虚拟通道706为中空,墙体为单层透视材质组成。
进一步地,此墙体包括呈半圆形结构的第一部分墙体7071和第二部分墙体7072,第一部分墙体7071和第二部分墙体7072位于虚拟通道所在平面7061的两侧。
同理,根据应用场景的实际需求,每部分墙体的结构形状还可以是三角形、梯形等其他形状,仅需要能够与虚拟通道706实现闭合即可,以便于借助第一部分墙体7072与虚拟通道所在平面7061围合而成的房间区域7072收容渲染相机,本实施例并非对此构成限定。
由此,当用户置身于此虚拟场景中时,用户视觉借由光线811、812、813观察到的是第二世界,例如真实世界,而借由光线810透过虚拟通道观察到的是第一世界,例如虚拟世界。
在上述过程中,针对不同的世界状态获取对应的房间模型数据,由此生成不同结构的房间,不仅可以避免穿墙问题,而且实现了厚度极薄的虚拟通道,有效地避免了用户穿越过程中用户设备出现画面跳变现象,有利于提升用户体验。
请参阅图19,在一示例性实施例中,如上所述的方法还可以包括以下步骤:
步骤610,如果移动轨迹指示渲染相机移动至房间区域,则重新获取第四房间模型数据。
步骤630,根据重新获取到的第四房间模型数据为虚拟通道进行对称房间的重新渲染。
如图18所示,如果渲染相机移动至房间区域708,则认为渲染相机相当于发生了穿墙行为,然而,在此移动过程中,对于此房间而言,并未在渲染相机的移动轨迹上设有墙体,即不存在一定厚度的墙体,因此,实质上避免了穿墙问题。
容易理解,渲染相机移动至房间区域708之后,既有可能继续沿图示的竖直方向向下移动而离开房间,也有可能原路返回(图示的竖直方向向上)重新移动至房间内。对于后者,由于避免了穿墙问题,可以仍然保持房间不变,而对于前者,可能因构成房间区域708的第二部分墙体7072而引发穿墙问题,则需要使得房间的结构发生相应地变化。
具体地,首先监测渲染相机的移动轨迹,以此确定渲染相机移动至房间的房间区域。
然后,基于渲染相机移动至房间的房间区域,重新获取第四房间模型数据,并进行对称房间的重新渲染。
需要说明的是,虽然获取到的依然是第四房间模型数据,但由于是针对移动至房间区域的渲染相机所进行的重新渲染,房间的结构将有所变化,即与原房间相互对称。
如图20所示,重新渲染形成的房间与图18中的房间以虚拟通道所在平面7091为对称轴对称,那么,当渲染相机沿图示的数值方向向下移动时,由于此房间在渲染相机的移动轨迹上并未设有墙体,即不存在一定厚度的墙体,以此实质上避免了穿墙问题。
由此,当用户置身于此虚拟场景中时,用户视觉借由光线814、815、817观察到的仍然是第二世界,例如真实世界,而借由光线816透过虚拟通道观察到的则是第一世界,例如虚拟世界。
通过上述实施例的配合,充分保障了基于房间实现虚拟场景中两个无限空间的世界的构建,从而充分保证了图像渲染性能,保证了用户设备中画面流畅率。
此外,无论是针对虚拟通道在虚拟场景构建时的最初形态,还是针对中空的虚拟通道,都可以视为具有极薄的厚度,有效地避免了用户在穿越过程中观察到世界跳变的现象。
请参阅图21,在一示例性实施例中,步骤310可以包括以下步骤:
步骤311,根据第一房间模型数据生成虚拟通道。
步骤313,获取第一图像数据和第二图像数据分别生成第一世界和第二世界。
步骤315,将虚拟通道、第一世界、第二世界进行图像合并渲染,得到图像渲染结果。
步骤317,在虚拟场景中根据图像渲染结果显示虚拟通道、第一世界和第二世界。
应当理解,无论是渲染相机以自身为中心点进行360度旋转,或者,在虚拟场景中移动,用户视觉所观察到虚拟场景中的虚拟通道、第一世界、第二世界都将随之变化,那么,在图像合并渲染过程中,图像渲染结果也将相应地发生变化,进而使得虚拟场景中显示出不同的虚拟通道、第一世界、第二世界。
值得一提的是,虽然房间的结构跟随渲染相机在虚拟场景中移动时位置的变化而相应变化,但是基于房间所设有的墙体是由透视材质组成的,而虚拟通道则为中空的,故而,对于用户视觉而言,虚拟通道在上述渲染相机旋转或者移动过程中相对不变,即始终观察到由透视材质组成的虚拟通道,且具有极薄的厚度。
通过上述过程,实现了多层世界(第一世界、第二世界、房间)穿越的产品形态,不仅借由房间使得第一世界与第二世界构建于同一坐标系,以此降低图像渲染过程中的计算量,提高了图像渲染性能,而且利用房间的结构变化跟随渲染相机在虚拟场景中移动时位置的变化,巧妙地解决了穿墙问题,并且使得虚拟通道始终具有极薄的厚度,有效地解决了用户穿越过程中观察到世界跳变的问题,有利于提升用户体验。
下述为本发明装置实施例,可以用于执行本发明所涉及的多世界虚拟场景中的虚拟通道渲染方法。对于本发明装置实施例中未披露的细节,请参照本发明所涉及的多世界虚拟场景中的虚拟通道渲染方法的方法实施例。
请参阅图22,在一示例性实施例中,一种多世界虚拟场景中的虚拟通道渲染装置900包括但不限于:场景生成模块910、请求接收模块930、位置识别模块950、房间生成模块970和房间显示模块990。
其中,场景生成模块910用于生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动。
请求接收模块930用于接收触发所述渲染相机在所述虚拟场景中移动的控制请求。
位置识别模块950用于响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹。
房间生成模块970用于根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间。
房间显示模块990用于在所述虚拟场景中显示可收容所述渲染相机的房间。
需要说明的是,上述实施例所提供的多世界虚拟场景中的虚拟通道渲染装置在进行多世界虚拟场景中的虚拟通道渲染处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即多世界虚拟场景中的虚拟通道渲染装置的内部结构将划分为不同的功能模块,以完成以上描述的全部或者部分功能。
另外,上述实施例所提供的多世界虚拟场景中的虚拟通道渲染装置与多世界虚拟场景中的虚拟通道渲染方法的实施例属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
请参阅图23,在一示例性实施例中,一种多世界虚拟场景中的虚拟通道渲染装1000,包括处理器1001及存储器1002。
其中,存储器1002上存储有计算机可读指令,该计算机可读指令被处理器1001执行时实现上述各实施例中的多世界虚拟场景中的虚拟通道渲染方法。
在一示例性实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例中的多世界虚拟场景中的虚拟通道渲染方法。
上述内容,仅为本发明的较佳示例性实施例,并非用于限制本发明的实施方案,本领域普通技术人员根据本发明的主要构思和精神,可以十分方便地进行相应的变通或修改,故本发明的保护范围应以权利要求书所要求的保护范围为准。
Claims (13)
1.一种多世界虚拟场景中的虚拟通道渲染方法,其特征在于,包括:
生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动;
接收触发所述渲染相机在所述虚拟场景中移动的控制请求;
响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹;
根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间;
在所述虚拟场景中显示可收容所述渲染相机的房间;
其中,所述根据所述移动轨迹检测世界状态,包括:
根据所述移动轨迹确定所述渲染相机的位置、以及所述位置与所述虚拟通道之间的距离;
如果所述距离超过指定范围且所述位置位于所述第一世界,则检测到所述世界状态为第一世界状态;或
如果所述距离超过指定范围且所述位置位于所述第二世界,则检测到所述世界状态为第二世界状态;或
如果所述距离未超过指定范围,则检测到所述世界状态为穿越中间态。
2.如权利要求1所述的方法,其特征在于,所述接收触发所述渲染相机在所述虚拟场景中移动的控制请求,包括:
检测移动终端的移动状态;
按照检测到所述移动终端的移动状态生成所述控制请求,以触发所述渲染相机跟随所述移动终端的移动状态在所述虚拟场景中移动。
3.如权利要求1所述的方法,其特征在于,所述接收触发所述渲染相机在所述虚拟场景中移动的控制请求,包括:
根据所述虚拟场景中触发进行的移动操作生成所述控制请求,以触发所述渲染相机跟随所述移动操作在所述虚拟场景中移动。
4.如权利要求1所述的方法,其特征在于,所述穿越中间态包括第一中间态和第二中间态,所述检测到所述世界状态为穿越中间态,包括:
如果所述移动轨迹指示所述渲染相机经由所述虚拟通道从所述第一世界移动至所述第二世界,则检测到所述世界状态由所述第一中间态切换为所述第二中间态;或
如果所述移动轨迹指示所述渲染相机经由所述虚拟通道从所述第二世界移动至所述第一世界,则检测到所述世界状态由所述第二中间态切换为所述第一中间态。
5.如权利要求1或4所述的方法,其特征在于,所述如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间,包括:
如果检测到所述世界状态为所述穿越中间态中的第一中间态,则获取第二房间模型数据;
根据所述第二房间模型数据渲染形成墙体沿所述移动轨迹所指示移动方向外凸的房间,该墙体与所述虚拟通道围合而成的外凸区域用于收容所述渲染相机。
6.如权利要求1或4所述的方法,其特征在于,所述如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间,包括:
如果检测到所述世界状态为所述穿越中间态中的第二中间态,则获取第三房间模型数据;
根据所述第三房间模型数据渲染形成相互嵌套的外房间和内房间,所述内房间的墙体沿所述移动轨迹所指示移动方向内凹,所述内房间的墙体与所述虚拟通道围合而成的内凹区域用于收容所述渲染相机。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果检测到所述世界状态为所述第一世界状态,则在所述虚拟场景中继续显示所述虚拟通道。
8.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果检测到所述世界状态为所述第二世界状态,则获取第四房间模型数据;
根据获取到的第四房间模型数据渲染形成包含第一部分墙体和第二部分墙体的房间;
其中,所述第一部分墙体和所述第二部分墙体位于所述虚拟通道所在平面的两侧,所述第二部分墙体与所述虚拟通道所在平面围合而成的房间区域用于收容所述渲染相机。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
如果所述移动轨迹指示所述渲染相机移动至所述房间区域,则重新获取第四房间模型数据;
根据重新获取到的第四房间模型数据为所述虚拟通道进行对称房间的重新渲染。
10.如权利要求1所述的方法,其特征在于,所述生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,包括:
获取第一房间模型数据生成所述虚拟通道;
获取第一图像数据和第二图像数据分别生成所述第一世界和所述第二世界;
将所述虚拟通道、所述第一世界、所述第二世界进行图像合并渲染,得到图像渲染结果;
在所述虚拟场景中根据所述图像渲染结果显示所述虚拟通道、所述第一世界和所述第二世界。
11.一种多世界虚拟场景中的虚拟通道渲染装置,其特征在于,包括:
场景生成模块,用于生成用于显示虚拟通道、第一世界和第二世界的虚拟场景,所述虚拟通道可供渲染相机在所述第一世界和第二世界之间移动;
请求接收模块,用于接收触发所述渲染相机在所述虚拟场景中移动的控制请求;
位置识别模块,用于响应所述控制请求对所述渲染相机进行位置识别,得到所述渲染相机在所述虚拟场景中移动时的移动轨迹;
房间生成模块,用于根据所述移动轨迹检测世界状态,如果检测到所述世界状态为穿越中间态,则为所述虚拟通道生成可收容所述渲染相机的房间;
房间显示模块,用于在所述虚拟场景中显示可收容所述渲染相机的房间;
其中,所述房间生成模块包括:
位置确定单元,用于根据所述移动轨迹确定所述渲染相机的位置、以及所述位置与所述虚拟通道之间的距离;
第一检测单元,用于如果所述距离超过指定范围且所述位置位于所述第一世界,则检测到所述世界状态为第一世界状态;或
第二检测单元,用于如果所述距离超过指定范围且所述位置位于所述第二世界,则检测到所述世界状态为第二世界状态;或
第三检测单元,用于如果所述距离未超过指定范围,则检测到所述世界状态为穿越中间态。
12.一种多世界虚拟场景中的虚拟通道渲染装置,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至10中任一项所述的多世界虚拟场景中的虚拟通道渲染方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的多世界虚拟场景中的虚拟通道渲染方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810771992.6A CN110163977B (zh) | 2018-07-13 | 2018-07-13 | 多世界虚拟场景中的虚拟通道渲染方法及装置 |
PCT/CN2019/090470 WO2020010977A1 (zh) | 2018-07-13 | 2019-06-10 | 多世界虚拟场景中的虚拟通道渲染方法及装置 |
US17/016,663 US11263814B2 (en) | 2018-07-13 | 2020-09-10 | Method, apparatus, and storage medium for rendering virtual channel in multi-world virtual scene |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810771992.6A CN110163977B (zh) | 2018-07-13 | 2018-07-13 | 多世界虚拟场景中的虚拟通道渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110163977A CN110163977A (zh) | 2019-08-23 |
CN110163977B true CN110163977B (zh) | 2024-04-12 |
Family
ID=67645054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810771992.6A Active CN110163977B (zh) | 2018-07-13 | 2018-07-13 | 多世界虚拟场景中的虚拟通道渲染方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11263814B2 (zh) |
CN (1) | CN110163977B (zh) |
WO (1) | WO2020010977A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037314A (zh) * | 2020-08-31 | 2020-12-04 | 北京市商汤科技开发有限公司 | 图像显示方法、装置、显示设备及计算机可读存储介质 |
CN112891940B (zh) * | 2021-03-16 | 2024-01-09 | 天津亚克互动科技有限公司 | 图像数据处理方法及装置、存储介质、计算机设备 |
CN116342842B (zh) * | 2023-03-24 | 2024-01-23 | 摩尔线程智能科技(北京)有限责任公司 | 一种虚拟世界的数据传输系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196300A (zh) * | 2010-03-18 | 2011-09-21 | 国际商业机器公司 | 虚拟世界场景的图像的提供方法和设备及处理方法和设备 |
CN103390287A (zh) * | 2012-05-11 | 2013-11-13 | 索尼电脑娱乐欧洲有限公司 | 用于增强现实的装置和方法 |
CN105992986A (zh) * | 2014-01-23 | 2016-10-05 | 索尼公司 | 图像显示装置和图像显示方法 |
WO2018124280A1 (ja) * | 2016-12-28 | 2018-07-05 | 株式会社バンダイナムコエンターテインメント | シミュレーションシステム、画像処理方法及び情報記憶媒体 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4159491B2 (ja) * | 2004-02-23 | 2008-10-01 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
US20060132482A1 (en) * | 2004-11-12 | 2006-06-22 | Oh Byong M | Method for inter-scene transitions |
JP5829040B2 (ja) * | 2011-04-11 | 2015-12-09 | 任天堂株式会社 | ゲームシステム、ゲーム装置、ゲームプログラム、および画像生成方法 |
JP6649742B2 (ja) * | 2015-10-27 | 2020-02-19 | 株式会社コーエーテクモゲームス | 情報処理装置、動作制御方法及び動作制御プログラム |
US10395428B2 (en) * | 2016-06-13 | 2019-08-27 | Sony Interactive Entertainment Inc. | HMD transitions for focusing on specific content in virtual-reality environments |
US10134190B2 (en) * | 2016-06-14 | 2018-11-20 | Microsoft Technology Licensing, Llc | User-height-based rendering system for augmented reality objects |
US10275921B2 (en) * | 2016-09-30 | 2019-04-30 | Electronic Arts, Inc. | Computer architecture for animation of a model in a simulation |
CN107958480B (zh) * | 2017-11-23 | 2021-04-30 | 腾讯科技(上海)有限公司 | 图像渲染方法、装置及存储介质 |
CN108268138A (zh) * | 2018-01-29 | 2018-07-10 | 广州市动景计算机科技有限公司 | 增强现实的处理方法、装置及电子设备 |
US11013999B2 (en) * | 2018-06-04 | 2021-05-25 | Nintendo Co., Ltd. | Computer-readable non-transitory storage medium having stored game program, information processing system, information processing apparatus, and information processing method for generating a game image having at least an image of a virtual space and a map image |
-
2018
- 2018-07-13 CN CN201810771992.6A patent/CN110163977B/zh active Active
-
2019
- 2019-06-10 WO PCT/CN2019/090470 patent/WO2020010977A1/zh active Application Filing
-
2020
- 2020-09-10 US US17/016,663 patent/US11263814B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196300A (zh) * | 2010-03-18 | 2011-09-21 | 国际商业机器公司 | 虚拟世界场景的图像的提供方法和设备及处理方法和设备 |
CN103390287A (zh) * | 2012-05-11 | 2013-11-13 | 索尼电脑娱乐欧洲有限公司 | 用于增强现实的装置和方法 |
CN105992986A (zh) * | 2014-01-23 | 2016-10-05 | 索尼公司 | 图像显示装置和图像显示方法 |
WO2018124280A1 (ja) * | 2016-12-28 | 2018-07-05 | 株式会社バンダイナムコエンターテインメント | シミュレーションシステム、画像処理方法及び情報記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
CN110163977A (zh) | 2019-08-23 |
US11263814B2 (en) | 2022-03-01 |
WO2020010977A1 (zh) | 2020-01-16 |
US20200410757A1 (en) | 2020-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10948993B2 (en) | Picture-taking within virtual reality | |
US11798222B2 (en) | Virtual scene switching method and apparatus, terminal device, and storage medium | |
US11042294B2 (en) | Display device and method of displaying screen on said display device | |
US11263814B2 (en) | Method, apparatus, and storage medium for rendering virtual channel in multi-world virtual scene | |
CN112312111A (zh) | 虚拟图像的显示方法、装置、电子设备及存储介质 | |
US20240078703A1 (en) | Personalized scene image processing method, apparatus and storage medium | |
US20240040211A1 (en) | Methods, Systems, and Media For Presenting Interactive Elements Within Video Content | |
US20230328197A1 (en) | Display method and apparatus based on augmented reality, device, and storage medium | |
CN109189302B (zh) | Ar虚拟模型的控制方法及装置 | |
US11107184B2 (en) | Virtual object translation | |
CN112965780B (zh) | 图像显示方法、装置、设备及介质 | |
CN112017133B (zh) | 一种图像展示方法、装置及电子设备 | |
WO2022183887A1 (zh) | 视频编辑及播放方法、装置、设备、介质 | |
US11869195B2 (en) | Target object controlling method, apparatus, electronic device, and storage medium | |
WO2021103549A1 (zh) | 图像定位的操作显示方法及装置、电子设备和存储介质 | |
US20230290089A1 (en) | Dynamic Mixed Reality Content in Virtual Reality | |
EP3803805A1 (en) | Seamless injection of augmented three-dimensional imagery using a positionally encoded video stream | |
WO2020215789A1 (zh) | 虚拟画笔实现方法、装置和计算机可读存储介质 | |
US11217011B2 (en) | Providing semantic-augmented artificial-reality experience | |
CN109636917B (zh) | 三维模型的生成方法、装置、硬件装置 | |
CN116112744A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
WO2021073204A1 (zh) | 对象的显示方法、装置、电子设备及计算机可读存储介质 | |
CN109472873B (zh) | 三维模型的生成方法、装置、硬件装置 | |
US11948257B2 (en) | Systems and methods for augmented reality video generation | |
CN114359528A (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 |