CN114863066A - 呈现物体真实遮挡关系的增强现实场景的生成方法及系统 - Google Patents
呈现物体真实遮挡关系的增强现实场景的生成方法及系统 Download PDFInfo
- Publication number
- CN114863066A CN114863066A CN202210429552.9A CN202210429552A CN114863066A CN 114863066 A CN114863066 A CN 114863066A CN 202210429552 A CN202210429552 A CN 202210429552A CN 114863066 A CN114863066 A CN 114863066A
- Authority
- CN
- China
- Prior art keywords
- pixel point
- scene
- point
- real
- depth value
- 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
Images
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/006—Mixed reality
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种呈现物体真实遮挡关系的AR场景的生成方法及系统,本申请实施例在预生成的AR场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,与真实物体的交点作为真实物体的第一像素点,与虚拟物体的交点作为虚拟物体的第二像素点;获取所述第一像素点的深度值及获取所述第二像素点的深度值;根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;基于所述第二像素点的材质属性值,在预生成的AR场景中渲染所述虚拟物体,生成AR场景。这样,实现了基于AR场景中的真实物体和虚拟物体之间的真实遮挡关系进行真实物体和虚拟物体之间的遮挡。
Description
技术领域
本申请涉及虚拟图像处理技术,特别涉及一种呈现物体真实遮挡关系的增强现实(AR)场景的生成方法及系统。
背景技术
随着计算机技术的快速发展,提出了AR技术,AR技术是将虚拟信息与真实场景有机融合的技术,将计算机生成的文字、图像、三维模型、音乐或视频等虚拟信息模拟仿真后,应用到真实场景中。
AR技术在现实中得到广泛的应用,比如可以在具有隔断墙及椅子等真实物体的真实室内场景中融合诸如衣柜或电视柜等虚拟物体,为用户提供具有真实物体及虚拟物体的室内AR场景。举一个例子说明,如图1所示,图1为现有技术提供的具有真实物体及虚拟物体的室内AR场景俯视示意图。通过入户门进入到该室内场景中,该室内场景中包括了客厅和卧室,客厅和卧室通过隔断墙隔断,并通过房间门通行;在卧室具有椅子。为了为用户提供该室内场景中的物体布置效果,需要在该室内场景的基础上生成该室内AR场景,假设该室内AR场景是用户在图1所示的观察点进行观察,得到的AR场景为:在客厅融合虚拟电视柜及在卧室融合虚拟衣柜。
在基于真实场景及要融合的虚拟物体设置AR场景时,通常预先设置虚拟物体遮挡真实场景中的真实物体,比如图1中的虚拟电视柜遮挡真实室内场景中的地面。但是,由于无论在何种情况下,所得到的AR场景都是由虚拟物体遮挡真实场景中的真实物体,而并不是基于虚拟物体与真实物体之间的真实遮挡关系进行遮挡设置,所以最终得到的AR场景中可能会出现虚拟物体与真实物体之间的遮挡关系混乱的问题。比如,在图1中,得到的AR场景中,由于默认设置虚拟衣柜遮挡真实的隔断墙,虚拟衣柜就会漂浮在真实的隔断墙上,这与期望得到的AR场景是不符的。
发明内容
有鉴于此,本申请实施例提供一种呈现物体真实遮挡关系的AR场景的生成方法,该方法能够基于AR场景中的真实物体和虚拟物体之间的真实遮挡关系进行真实物体和虚拟物体之间的遮挡。
本申请实施例还提供一种呈现物体真实遮挡关系的AR场景的生成系统,该系统能够基于AR场景中的真实物体和虚拟物体之间的真实遮挡关系进行真实物体和虚拟物体之间的遮挡。
本申请实施例是这样实现的:
一种呈现物体真实遮挡关系的增强现实场景的生成方法,所述方法包括:
在预生成的增强现实场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;
获取位于同一条所述视觉射线上的所述第一像素点的深度值及所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;
根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;
基于所述第二像素点的材质属性值,在预生成的增强现实场景中渲染所述虚拟物体,生成增强现实场景。
较佳地,所述视觉射线与所述真实物体的交点为所述真实物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近;
所述视觉射线所述虚拟物体的交点为所述虚拟物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近。
较佳地,所述确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值包括:
将所述第二像素点的深度值与所述第一像素点的深度值比较,如果所述第二像素点的深度值大于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为透明属性值,如果所述第二像素点的深度值小于或等于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为非透明属性值。
较佳地,所述获取所述第一像素点的深度值包括:
针对所述真实物体设置虚拟模型,将所述虚拟模型导入到预生成的增强现实场景中,以在增强现实场景中确定虚拟模型的位置信息;
基于导入的所述虚拟模型在增强现实场景中的位置信息,采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值,以所述虚拟模型的第三像素点作为所述真实物体对应的第一像素点;
将计算得到的所述第三像素点的深度值,作为所述真实物体上对应的所述第一像素点的深度值,其中,所述第三像素点的深度值为所述观察点与所述第三像素点的距离。
较佳地,所述采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值包括:
在预生成的增强现实场景中不渲染所述虚拟模型的主渲染通道,以使所述虚拟模型在生成的增强现实场景中隐形;
在预生成的增强现实场景中不渲染所述虚拟模型的深度渲染通道,及渲染自定义深度渲染通道,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值。
较佳地,所述在预生成的增强现实场景中渲染所述虚拟物体时,还包括:
在预生成的增强现实场景中渲染所述虚拟物体的主渲染通道,以使所述虚拟物体在生成的AR场景中显示;
在预生成的增强现实场景中渲染所述虚拟物体的深度渲染通道,以呈现所述虚拟物体在预生成的增强现实场景中的深度。
较佳地,所述方法还包括:
设置所述第二像素点的颜色属性值;
所述在预生成的增强现实场景中渲染所述虚拟物体时,还基于所述第二像素点的颜色属性值。
一种电子设备,包括:
处理器;
存储器,存储有程序,所述程序配置为在被所述处理器执行时实现上述任一项所述的呈现物体真实遮挡关系的AR场景的生成方法。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行上述任一项所述的呈现物体真实遮挡关系的增强现实场景的生成方法的步骤。
一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现上述中任一项所述的呈现物体真实遮挡关系的增强现实场景的生成方法的步骤。
如上所见,本申请实施例在预生成的AR场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;获取位于同一条所述视觉射线上的所述第一像素点的深度值及获取所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;基于所述第二像素点的材质属性值,在预生成的AR场景中渲染所述虚拟物体,生成AR场景。这样,在预生成的AR场景中基于真实物体与虚拟物体之间的深度值比较,就可以确定出虚拟物体或部分虚拟物体为被遮挡物,将被遮挡物的材质属性设置为透明属性值,并据此在预生成的AR场景中对被遮挡物进行渲染,使得被遮挡物隐形,从而实现了基于AR场景中的真实物体和虚拟物体之间的真实遮挡关系进行真实物体和虚拟物体之间的遮挡。
附图说明
图1为现有技术提供的具有真实物体及虚拟物体的室内AR场景俯视示意图;
图2为本申请实施例提供的一种呈现物体真实遮挡关系的AR场景的生成方法流程图;
图3为本申请实施例对该AR场景中的真实物体绘制该AR场景中对应的虚拟模型的过程示意图;
图4为本申请实施例提供的确定被遮挡物并设置被遮挡物的材质属性值的方法流程图;
图5为本申请实施例提供的在AR场景中渲染虚拟物体的过程示意图;
图6为本申请实施例提供的一种呈现物体真实遮挡关系的AR场景的生成系统结构示意图;
图7为本申请实施例的另一个实施例所提供的一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本申请的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
从背景技术可以看出,所生成的AR场景中可能存在真实物体与虚拟物体之间的遮挡关系混乱,诸如图1中应该被遮挡的虚拟柜子,由于默认设置遮挡作为真实物体的隔断墙,呈现出其漂浮在隔断墙上的场景,从而使得生成的AR场景与用户期望的真实场景不符。为了克服上述问题,使得所生成的AR场景与用户期望的真实场景相符,就需要确认要生成AR场景中的真实物体与虚拟物体之间的真实遮挡关系,根据所述真实遮挡关系对其中作为被遮挡物的虚拟物体或部分虚拟物体的材质属性值设置为透明属性值,并据此渲染虚拟物体,使得作为被遮挡物的虚拟物体在AR场景中隐形。
因此,本申请实施例在预生成的AR场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;获取位于同一条所述视觉射线上的所述第一像素点的深度值及获取所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;基于所述第二像素点的材质属性值,在预生成的AR场景中渲染所述虚拟物体,生成AR场景。
这样,在预生成的AR场景中基于真实物体与虚拟物体之间的深度值比较,就可以确定出虚拟物体或部分虚拟物体为被遮挡物,将被遮挡物的材质属性值设置为透明属性值,并据此在预生成的AR场景中对被遮挡物进行渲染,使得被遮挡物在生成的AR场景中隐形。
图2为本申请实施例提供的一种呈现物体真实遮挡关系的AR场景的生成方法流程图,其具体步骤包括:
步骤201、在预生成AR场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;
步骤202、获取位于同一条所述视觉射线上的所述第一像素点的深度值及获取所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;
步骤203、根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;
步骤204、基于所述第二像素点的材质属性值,在预生成的AR场景中渲染所述虚拟物体,生成AR场景。
在该方法中,预生成的AR场景中包括了真实物体及要融合的虚拟物体,以及真实物体的位置信息及要融合的虚拟物体的位置信息,但是,对真实物体及虚拟物体之间的真实遮挡关系还未设置并渲染在预生成的AR场景中。
AR场景是真实场景与虚拟物体融合得到的,其以三维图像的方式提供给用户。因此,对于同一真实环境,当用户的观察点不同时,其呈现给用户的AR场景也是不同的,预生成的AR场景与观察点是密切相关的。当针对所设置的某观察点,以三维图像的方式将AR场景提供给用户时,AR场景中的真实物体以及虚拟物体分别由不同的多个三维像素点组成并呈现。
在AR场景中的不同物体上的像素点的深度值与该AR场景的观察点相关,具体是所述像素点与该AR场景的观察点之间的距离值。
在AR场景中,为了确定出哪一个物体或哪一个部分物体为被遮挡物,就需要将遮挡物与被遮挡物之间的深度值进行比较,深度值大的就确定为被遮挡物。但是,由于在AR场景中,可能存在真实物体与虚拟物体之间的遮挡关系混乱的原因是默认虚拟物体遮挡真实物体,所以在比较时就比较预生成的AR场景中的真实物体与虚拟物体之间的深度值即可。
在预生成的AR场景中基于真实物体与虚拟物体之间的深度值比较时,具体是对真实物体的像素点与在虚拟物体上对应的像素点之间的深度值进行比较,这一对对应的像素点之间是具有遮挡关系的且该遮挡关系是与该AR场景的观察点有关,对于真实物体和虚拟物体上有很多的对应像素点对的存在。因此,该方法采用步骤201的过程确定出该AR场景中的真实物体和虚拟物体上的多个对应像素点对,后续一一对确定的对应像素点对之间的深度值进行判断。
在该方法中,对于某一条视觉射线,如果响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点,但是响应于所述视觉射线与所述虚拟物体不存在交点,也就是所述视觉射线与所述虚拟物体之间不存在交点的情况时,则不会存在遮挡关系的设置问题,在AR场景中直接显示所述第一像素点即可。
在该方法中,对于某一条视觉射线,如果响应于所述视觉射线与真实物体不存在交点,也就是所述视觉射线与所述真实物体之间不存在交点,但是响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点的情况时,则也不会存在遮挡关系的设置问题,直接在AR场景中根据所述第二像素点的材质属性值设置的非透明属性值,渲染所述第二像素点即可(在AR场景中直接显示了所述第二像素点)。
在该方法中,对于某一条视觉射线,与所述真实物体之间的交点,实际上就是所述视觉射线与所述真实物体表面之间的交点,数量为一个,且该交点与所述观察点之间的距离最近。对于某一条视觉射线,与所述虚拟物体之间的交点,实际上就是所述视觉射线与所述虚拟物体表面之间的交点,数量为一个,该该交点与所述观察点之间的距离最近。
在该方法中,视觉射线是特定的射线,是以观察点为端点,在AR场景中投射到虚拟物体或真实物体的表面的射线,通常一条视觉射线与虚拟物体或真实物体之间仅仅有一个交点,该交点与所述观察点之间的距离最近。而对于诸如衣柜等的虚拟物体的背后表面,则由于无法被看到,所以也不存在交点。在这种情况下,在AR场景中渲染虚拟物体时,都不会渲染该虚拟物体的背后表面的,因此,该虚拟物体的背后表面的像素点的属性不需要被设置。
在AR场景中的真实物体的三维图像是在观察点拍摄真实场景得到的三维图像层,其并不在AR场景中对真实物体进行渲染,因此如果采用直接测量等方式获取得到该AR场景中的真实物体上各个第一像素点的深度值,则得到的深度值结果不准确,无法准确从该AR场景中直接获取该真实物体上的第一像素点的深度值。因此,本申请实施例为了准确从该AR场景中获取该真实物体上的第一像素点的深度值,采用了如下方式:
针对所述真实物体设置虚拟模型,将所述虚拟模型导入到预生成的AR场景中,以在AR场景中确定虚拟模型的位置信息;
基于导入的所述虚拟模型在增强现实场景中的位置信息,采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值,以所述虚拟模型的第三像素点作为所述真实物体对应的第一像素点;
将计算得到的所述第三像素点的深度值,作为所述真实物体上对应的所述第一像素点的深度值,其中,所述第三像素点的深度值为所述观察点与所述第三像素点的距离。
也就是说,通过导入方式,在预生成的AR场景中绘制与真实物体位置相同且与真实物体结构相同的虚拟模型,从而确定了虚拟模型在AR场景中的位置信息。通过渲染方式,基于导入的所述虚拟模型在增强现实场景中的位置信息,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,并计算得到所述第三像素点的深度信息。在渲染时,当观察点不同时,视觉射线也会不同,通过确定的视觉射线与虚拟模型之间的交点,来确定所述虚拟模型的第三像素点。在这里,在AR场景中,由于观察点可以游走而导致视觉射线的变化,所以在渲染时才确定所述虚拟模型的第三像素点,并计算得到所述第三像素点的深度值,而导入虚拟模型在AR场景中的位置,不会随着观察点的变化而变化,所以一次导入即可。
当将虚拟模型导入到AR场景中,AR场景中就包括了虚拟模型上的各个点的位置信息,但是,虚拟模型上的各个点是否作为视觉射线与所述虚拟模型的交点,从而确定第三像素点,则是在渲染过程中确定的,后续计算所确定的第三像素点与观察点之间的距离,赋值给所述第三像素点的深度值。
在渲染时,将该虚拟模型隐形在该AR场景中且保留该虚拟模型中的各个点的位置信息,后续直接计算得到该虚拟模型上的第三像素点的深度值,就可以作为在真实物体所对应的第一像素点的深度值。在这里,该AR场景中的真实物体的第一像素点的位置信息与虚拟模型的对应的第三像素点的位置信息相同。
具体地说,在预生成的AR场景中采用渲染方式渲染所述真实物体的虚拟模型是采用多通道渲染技术进行的。多通道渲染技术是采用不同的渲染通道对一个三维物体的不同呈现方面(诸如颜色或/和深度等)进行渲染。比如,采用主渲染通道(Main Pass)缓存所述三维物体中的像素点对应的RGB值,以及采用深度渲染通道(Depth Pass)缓存所述三维物体中的像素点对应的深度值(形成立体图)等等。在渲染三维物体时,则采用多个通道进行依次渲染,在AR场景中就可以准确呈现所述三维物体了。在该方法中,为了获得准确的所述第一像素点的深度值,在针对所述真实物体设置虚拟模型,导入到预生成的AR场景后,采用的渲染过程实际上就是计算第三像素点的深度值,并将所计算的第三像素点的深度值缓存在了所述虚拟模型的自定义深度渲染通道(CustomDepth Pass)中了,以便呈现。
具体地说,所述采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值中包括:
在预生成的AR场景中不渲染所述虚拟模型的主渲染通道,以使所述虚拟模型在生成的AR场景中隐形;
在预生成的AR场景中不渲染所述虚拟模型的深度渲染通道,及渲染自定义深度渲染通道,以计算得到所述第三像素点的深度值。
在该方法中,所述在预生成的AR场景中渲染所述虚拟物体时,还包括:
在预生成的AR场景中渲染所述虚拟物体的主渲染通道,以使所述虚拟物体在生成的AR场景中显示;
在预生成的AR场景中渲染所述虚拟物体的深度渲染通道,以呈现所述虚拟物体在预生成的AR场景中的深度值。
这样,预生成的AR场景中的所述虚拟物体是通过不同的渲染通道进行渲染得到的,所以就可以确定所述虚拟物体的各个第二像素点的深度值,及显示所述虚拟物体。更进一步地,在预生成的AR场景中渲染得到的虚拟物体的各个第二像素点的材质属性值进行了透明属性值或非透明属性值的赋值,能够在后续生成的AR场景中呈现出虚拟物体的材质:其中被遮挡的第二像素点呈现了透明材质,而未被遮挡的第二像素点呈现了非透明材质。这样,就可以在生成的AR场景中呈现出真实物体与虚拟物体之间的真实遮挡关系。
在该方法的步骤203中,所述确定所述第一像素点及所述第二像素点的真实遮挡关系包括:
将所述第二像素点的深度值与所述第一像素点的深度值比较,如果所述第二像素点的深度值大于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为透明属性值,如果所述第二像素点的深度值小于或等于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为非透明属性值。
采用上述方式最终在AR场景中确定出虚拟物体中的各个第二像素点是被遮挡的,还是遮挡的,并据此设置相应的材质属性值。在预生成的AR场景中渲染该虚拟物体时应用各个第二像素点所设置的材质属性值,从而在最终生成的AR场景中呈现出虚拟物体与真实物体之间的真实遮挡关系。这样,最终得到了AR场景。在采用上述方式进行比较时,如果等于,则认为是第二像素点遮挡了第一像素点,这是因为根据申请人已知的技术采用的方式默认的就是第二像素点遮挡第一像素点,这样设置,在后续渲染第二像素点时改动较小。当然,也可以当如果等于,则认为是第一像素点遮挡第二像素点,然后执行后续渲染过程,这里不限制。
在本申请实施例中,该方法还包括:
设置所述第二像素点的颜色属性值;
所述在预生成的AR场景中渲染所述虚拟物体时,还基于所述第二像素点的颜色属性值。
这样,在后续生成AR场景时,当所述虚拟物体是遮挡物时,也可以呈现出所设置的颜色。
采用本申请实施例实现了基于AR场景中的真实物体和虚拟物体之间的真实遮挡关系进行真实物体和虚拟物体之间的遮挡。但是本申请实施例也需要满足以下条件:首先,AR场景中的真实物体必须预先设置好,且对于AR场景中的每个真实物体都需要通过渲染方式创建对应的隐形在AR场景中的虚拟模型,该虚拟模型在渲染时可以设置该虚拟模型上的各个第三像素点的深度值;其次,在AR场景生成之后,即对其中的虚拟物体渲染完成后,其中的真实物体及虚拟物体就不能再变化或移动,一旦其中的真实物体及虚拟物体移动或变化,则会导致真实物体与虚拟物体之间的遮挡关系出错;最后,在AR场景生成后,AR场景中的作为被遮挡物的虚拟物体或部分虚拟物体,其材质属性值被赋值为透明属性值,在渲染并呈现在AR场景中时,会导致被遮挡物的诸如金属度或粗糙度等质感无法呈现。
以下以图1为例,对本申请实施例提供的方案详细说明。
本申请实施例要生成如图1所示的AR场景,该AR场景的观察点为图1中的标识眼睛所在的位置,该AR场景中包括了诸如隔断墙及椅子的真实物体,及诸如衣柜和电视柜的虚拟物体。
第一个步骤,针对预生成的该AR场景中的诸如隔断墙及椅子的真实物体,绘制在该AR场景中对应的虚拟模型,使得所绘制的该虚拟模型在该AR场景中隐形及该虚拟模型上的各个第三像素点设置深度值。
在本步骤中,绘制采用了多通道的渲染方式实现。
图3为本申请实施例对该AR场景中的真实物体绘制该AR场景中对应的虚拟模型的过程示意图,其具体过程包括:针对所述真实物体创建虚拟模型;通过渲染方式将所述虚拟模型导入到AR场景中;通过渲染方式将所述虚拟模型隐形在该AR场景中。
当采用渲染方式将所述虚拟模型导入到该AR场景并实现其隐形,具体包括:
在该AR场景中不渲染所述虚拟模型的主渲染通道,以使所述虚拟模型在该AR场景中隐形;在该AR场景中不渲染所述虚拟模型的深度渲染通道,及渲染自定义深度渲染通道,以设置所述第三像素点的深度值。也就是说,通过对所述虚拟模型的自定义深度渲染通道的渲染,就可以将各个第三像素点的深度值进行设置。
第二个步骤,对基于该AR场景中的真实物体与虚拟物体之间的深度值比较,确定出哪一个物体或哪一个部分物体为被遮挡物,将被遮挡物的材质属性值设置为透明属性值。
如图4所示,图4为本申请实施例提供的确定被遮挡物并设置被遮挡物的材质属性值的方法流程图,其具体步骤包括:
步骤401、确定虚拟物体的第二像素点的位置信息;
在本步骤中,虚拟物体为衣柜或电视柜,虚拟物体的第二像素点的位置信息是在该AR场景中采用三维的贴图纹理(UV)坐标表示;
步骤402、基于虚拟物体的第二像素点的位置信息获取该第二像素点的深度信息;
在本步骤中,在该AR场景中都是通过渲染方式将虚拟物体呈现,而虚拟物体上的各个第二像素点的深度值会对应各个第二像素点的位置信息缓存在深度渲染通道的深度缓冲区内(在渲染深度渲染通道时使用),采用UV获取命令就可以提取得到第二像素点的深度信息;
步骤403、确定真实物体的第一像素点的位置信息;
步骤404、基于真实物体的第一像素点的位置信息获取该第一像素点的深度信息;
在本步骤中,该第一像素点与步骤401的该第二像素点之间有遮挡关系,该第一像素点的深度信息是基于其虚拟模型上的对应第三像素点(与该第一像素点的位置信息相同)的深度信息确定的;
在本步骤中,在确定其虚拟模型上的对应第三像素点的深度信息时,由于在该AR场景中对该虚拟模型渲染,而虚拟物体上的各个第三像素点的深度值会对应各个第三像素点的位置信息缓存在自定义深度渲染通道中的自定义深度缓冲区内(在渲染自定义深度渲染通道时使用),所以采用UV获取命令就可以提取得到其虚拟模型上的第三像素点的深度信息;
步骤405、判断第二像素点的深度值是否大于第一像素点的深度值,如果大于,则执行步骤406;如果小于或等于,则执行步骤407;
步骤406、将所述第二像素点的材质属性值中的透明度值设置为0;
在本步骤中,将所述第二像素点的材质属性值设置为0表示的含义为:将所述第二像素点的材质属性值设置为透明属性;
步骤407、将所述第二像素点的材质属性值中的透明度值设置为1;
在本步骤中,将所述第二像素点的材质属性值设置为1表示的含义为:将所述第二像素点的材质属性值设置为非透明属性。
在该方法中,对于第二像素点,还设置颜色属性值,具体可以基于要设置的虚拟物体的颜色值,进行相应的设置,其颜色值采用红绿蓝(RGB)值进行表示。这样,在后续的渲染第二像素点的步骤时,可以对该第二像素点的颜色进行渲染并呈现颜色。
第三个步骤,基于所述第二像素点的材质属性值,在预生成的该AR场景中渲染所述虚拟物体。
为了在最后生成的AR场景中呈现虚拟物体,就需要在预生成的AR场景中对组成虚拟物体的第二像素点进行渲染。如图5所示,图5为本申请实施例提供的在AR场景中渲染虚拟物体的过程示意图,具体包括:在预生成的该AR场景中渲染所述虚拟物体的主渲染通道,以使所述虚拟物体在生成的AR场景中显示;在预生成的该AR场景中渲染所述虚拟物体的深度渲染通道,以确定所述虚拟物体在生成的AR场景中的深度值;在预生成的该AR场景中基于所述虚拟物体上的各个第二像素点的材质属性值,渲染虚拟物体,以使得在生成的AR场景中,虚拟物体中的遮挡部分具有遮挡能力的材质及被遮挡部分具有透明材质。更进一步地,在预生成的该AR场景中基于所述虚拟物体上的各个第二像素点的颜色属性值,渲染虚拟物体,以使得在生成的AR场景中,虚拟物体中的遮挡部分具有颜色值。
本申请实施例的一个实施例中,还提供了一种呈现物体真实遮挡关系的AR场景的生成系统。图6为本申请实施例提供的一种呈现物体真实遮挡关系的AR场景的生成系统结构示意图,包括:确定单元、深度值获取单元、判定设置单元及渲染单元,其中,
确定单元,用于在预生成AR场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;
深度值获取单元,用于获取位于同一条所述视觉射线上的所述第一像素点的深度值及所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;
判定设置单元,用于根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;
渲染单元,用于基于所述第二像素点的材质属性值,在预生成的AR场景中渲染所述虚拟物体,生成AR场景。
在该系统中,所述确定单元,还用于所述视觉射线与所述真实物体的交点为所述真实物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近;所述视觉射线所述虚拟物体的交点为所述虚拟物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近。
在该系统中,所述判定设置单元,还用于针对所述真实物体设置虚拟模型,通过渲染方式将所述虚拟模型导入到预生成的AR场景中;基于导入的所述虚拟模型,确定得到所述第三像素点的深度值,所述虚拟模型的第三像素点是所述每条视觉射线与虚拟模型的交点;将确定得到的所述第三像素点的深度值,作为所述真实物体上对应的所述第一像素点的深度值,其中,所述第三像素点的深度值为所述观察点与所述第三像素点的距离。
在该系统中,所述判定设置单元,还用于所述通过渲染方式将所述虚拟模型导入到预生成的AR场景中包括:在预生成的AR场景中不渲染所述虚拟模型的主渲染通道,以使所述虚拟模型在生成的AR场景中隐形;在预生成的AR场景中不渲染所述虚拟模型的深度渲染通道,及渲染自定义深度渲染通道,以设置所述第三像素点的深度值。
在该系统中,所述渲染单元,还用于在预生成的AR场景中渲染所述虚拟物体时,还包括:在预生成的AR场景中渲染所述虚拟物体的主渲染通道,以使所述虚拟物体在生成的AR场景中显示;在预生成的AR场景中渲染所述虚拟物体的深度渲染通道,以呈现所述虚拟物体在预生成的AR场景中的深度值。
在该系统中,所述判定设置单元,还用于将所述第二像素点的深度值与所述第一像素点的深度值比较,如果所述第二像素点的深度值大于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为透明属性值,如果所述第二像素点的深度值小于或等于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为非透明属性值。
在该系统中,所述判定设置单元,还用于设置所述第二像素点的颜色属性值;
所述渲染单元,还用于所述在预生成的AR场景中渲染所述虚拟物体时,还基于所述第二像素点的颜色属性值。
在本申请的另一个实施例中,包括一种电子设备,包括:处理器;存储器,存储有程序,所述程序配置为在被所述处理器执行时实现上述任一项所述的呈现物体真实遮挡关系的AR场景的生成方法。
在本申请的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时引发所述处理器执行前述实施例中的一种呈现物体真实遮挡关系的AR场景的生成方法。图7为本申请的另一个实施例所提供的一种电子设备的示意图。如图7所示,本申请另一实施例还提供一种电子设备,其可以包括处理器701,其中,处理器701用于执行上述一种呈现物体真实遮挡关系的AR场景的生成方法的步骤。从图7中还可以看出,上述实施例提供的电子设备还包括非瞬时计算机可读存储介质702,该非瞬时计算机可读存储介质702上存储有计算机程序,该计算机程序被处理器701运行时执行上述一种呈现物体真实遮挡关系的AR场景的生成方法的步骤。
具体地,该非瞬时计算机可读存储介质702能够为通用的存储介质,如移动磁盘、硬盘、FLASH、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、或便携式紧凑磁盘只读存储器(CD-ROM)等,该非瞬时计算机可读存储介质702上的计算机程序被处理器701运行时,能够引发处理器701执行上述的一种呈现物体真实遮挡关系的AR场景的生成方法的各个步骤。
实际应用中,所述的非瞬时计算机可读存储介质702可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,能够执行上述的一种呈现物体真实遮挡关系的AR场景的生成方法中的各个步骤。
本申请的再一实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述的一种呈现物体真实遮挡关系的AR场景的生成方法中的各个步骤。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本申请的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种呈现物体真实遮挡关系的增强现实场景的生成方法,其特征在于,所述方法包括:
在预生成的增强现实场景中,将以观察点为端点的多条射线作为多条视觉射线,针对每条视觉射线,响应于所述视觉射线与真实物体存在交点,以所述视觉射线与所述真实物体的交点作为所述真实物体的第一像素点;响应于所述视觉射线与所述虚拟物体存在交点,以所述视觉射线与所述虚拟物体的交点作为第二像素点;
获取位于同一条所述视觉射线上的所述第一像素点的深度值及所述第二像素点的深度值,其中,所述第一像素点的深度值为所述观察点与所述第一像素点的距离,所述第二像素点的深度值为所述观察点与所述第二像素点的距离;
根据所述第一像素点的深度值与所述第二像素点的深度值,确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值;
基于所述第二像素点的材质属性值,在预生成的增强现实场景中渲染所述虚拟物体,生成增强现实场景。
2.如权利要求1所述的方法,其特征在于,所述视觉射线与所述真实物体的交点为所述真实物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近;
所述视觉射线所述虚拟物体的交点为所述虚拟物体的表面与所述视觉射线之间的一个交点,且距离所述观察点最近。
3.如权利要求1所述的方法,其特征在于,所述确定所述第一像素点及所述第二像素点的真实遮挡关系,根据所述真实遮挡关系设置所述第二像素点的材质属性值包括:
将所述第二像素点的深度值与所述第一像素点的深度值比较,如果所述第二像素点的深度值大于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为透明属性值,如果所述第二像素点的深度值小于或等于所述第一像素点的深度值,将所述第二像素点的材质属性值设置为非透明属性值。
4.如权利要求1所述的方法,其特征在于,所述获取所述第一像素点的深度值包括:
针对所述真实物体设置虚拟模型,将所述虚拟模型导入到预生成的增强现实场景中,以在增强现实场景中确定虚拟模型的位置信息;
基于导入的所述虚拟模型在增强现实场景中的位置信息,采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值,以所述虚拟模型的第三像素点作为所述真实物体对应的第一像素点;
将计算得到的所述第三像素点的深度值,作为所述真实物体上对应的所述第一像素点的深度值,其中,所述第三像素点的深度值为所述观察点与所述第三像素点的距离。
5.如权利要求4所述的方法,其特征在于,所述采用渲染方式,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值包括:
在预生成的增强现实场景中不渲染所述虚拟模型的主渲染通道,以使所述虚拟模型在生成的增强现实场景中隐形;
在预生成的增强现实场景中不渲染所述虚拟模型的深度渲染通道,及渲染自定义深度渲染通道,以所述视觉射线与所述虚拟模型的交点作为所述虚拟模型的第三像素点,计算得到所述第三像素点的深度值。
6.如权利要求1所述的方法,其特征在于,所述在预生成的增强现实场景中渲染所述虚拟物体时,还包括:
在预生成的增强现实场景中渲染所述虚拟物体的主渲染通道,以使所述虚拟物体在生成的AR场景中显示;
在预生成的增强现实场景中渲染所述虚拟物体的深度渲染通道,以呈现所述虚拟物体在预生成的增强现实场景中的深度。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
设置所述第二像素点的颜色属性值;
所述在预生成的增强现实场景中渲染所述虚拟物体时,还基于所述第二像素点的颜色属性值。
8.一种电子设备,其特征在于,包括:
处理器;
存储器,存储有程序,所述程序配置为在被所述处理器执行时实现如权利要求1至7中任一项所述的呈现物体真实遮挡关系的AR场景的生成方法。
9.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至7中任一项所述的呈现物体真实遮挡关系的增强现实场景的生成方法的步骤。
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现如权利要求1至7中任一项所述的呈现物体真实遮挡关系的增强现实场景的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210429552.9A CN114863066A (zh) | 2022-04-22 | 2022-04-22 | 呈现物体真实遮挡关系的增强现实场景的生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210429552.9A CN114863066A (zh) | 2022-04-22 | 2022-04-22 | 呈现物体真实遮挡关系的增强现实场景的生成方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114863066A true CN114863066A (zh) | 2022-08-05 |
Family
ID=82633851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210429552.9A Pending CN114863066A (zh) | 2022-04-22 | 2022-04-22 | 呈现物体真实遮挡关系的增强现实场景的生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114863066A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883607A (zh) * | 2023-09-06 | 2023-10-13 | 四川物通科技有限公司 | 基于辐射传输的虚拟现实场景生成系统 |
-
2022
- 2022-04-22 CN CN202210429552.9A patent/CN114863066A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883607A (zh) * | 2023-09-06 | 2023-10-13 | 四川物通科技有限公司 | 基于辐射传输的虚拟现实场景生成系统 |
CN116883607B (zh) * | 2023-09-06 | 2023-12-05 | 四川物通科技有限公司 | 基于辐射传输的虚拟现实场景生成系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050210B (zh) | 执行操作的方法、视频处理系统及非瞬态计算机可读介质 | |
EP3798801A1 (en) | Image processing method and apparatus, storage medium, and computer device | |
Kalkofen et al. | Comprehensible visualization for augmented reality | |
JP5933931B2 (ja) | 設定メニューを表示する方法及び対応するデバイス | |
US20160198097A1 (en) | System and method for inserting objects into an image or sequence of images | |
US9877010B2 (en) | Camera tracker target user interface for plane detection and object creation | |
CN108895981A (zh) | 一种三维测量方法、装置、服务器和存储介质 | |
US9208577B2 (en) | 3D tracked point visualization using color and perspective size | |
KR101920035B1 (ko) | 가상 객체를 이용한 증강현실 콘텐츠 제공 방법 및 이를 위한 장치 | |
US20170154467A1 (en) | Processing method and device for playing video | |
WO2021052392A1 (zh) | 三维场景的渲染方法、装置及电子设备 | |
CN110072141B (zh) | 一种媒体处理方法、装置、设备和存储介质 | |
US11562545B2 (en) | Method and device for providing augmented reality, and computer program | |
US20230281912A1 (en) | Method and system for generating a target image from plural multi-plane images | |
Baričević et al. | User-perspective augmented reality magic lens from gradients | |
CN109964254A (zh) | 用于在虚拟视图中渲染对象的方法和系统 | |
CN114863066A (zh) | 呈现物体真实遮挡关系的增强现实场景的生成方法及系统 | |
KR20160068186A (ko) | 증강 현실 컨텐츠 제공 장치 및 방법 | |
KR102009400B1 (ko) | 실감형 영상 콘텐츠 제공 방법 및 이를 이용한 서버 | |
EP3872769A1 (en) | Method, device and medium for providing an augmented-reality visualization | |
JP6898264B2 (ja) | 合成装置、方法及びプログラム | |
US20170214880A1 (en) | Method for helping a person to select a furnishing covering surface | |
Knödel et al. | Interactive generation and modification of cutaway illustrations for polygonal models | |
CN113552942A (zh) | 一种基于光照强度显示虚拟对象的方法及设备 | |
EP2975850A1 (en) | Method for correcting motion estimation between at least two frames of a video sequence, corresponding device, computer program and non-transitory computer-readable medium |
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 |