CN115761123A - 三维模型处理方法、装置、电子设备以及存储介质 - Google Patents
三维模型处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN115761123A CN115761123A CN202211417273.7A CN202211417273A CN115761123A CN 115761123 A CN115761123 A CN 115761123A CN 202211417273 A CN202211417273 A CN 202211417273A CN 115761123 A CN115761123 A CN 115761123A
- Authority
- CN
- China
- Prior art keywords
- virtual
- dimensional model
- dimensional
- polygon
- obtaining
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 35
- 238000009877 rendering Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 15
- 230000009466 transformation Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 239000000126 substance Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000003190 augmentative effect Effects 0.000 abstract description 2
- 230000000007 visual effect Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种三维模型处理方法、装置、电子设备以及存储介质,涉及计算机技术领域,尤其涉及网络和算力技术、人工智能技术、虚拟现时、增强现实、元宇宙技术和计算机视觉等技术领域。具体实现方案为:根据与待渲染对象对应的第一三维模型和与第一三维模型对应的至少一个虚拟面,得到与至少一个虚拟面对应的深度图,其中,第一三维模型包括至少一个多边形面片,深度图中像素的像素值表征多边形面片与虚拟面之间的距离;根据与至少一个虚拟面对应的深度图,从至少一个多边形面片中确定至少一个可见多边形面片;根据至少一个可见多边形面片,得到第二三维模型。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及网络和算力技术、人工智能技术、虚拟现实、增强现实、元宇宙技术和计算机视觉等技术领域。具体地,涉及一种三维模型处理方法、装置、电子设备以及存储介质。
背景技术
随着计算机技术的发展,各个领域的技术也得到了发展,能够用于提供虚拟世界。例如,元宇宙技术、人工智能技术、显示技术和计算机视觉技术等。例如,元宇宙是以技术为基础,以开放为理念,同开发者和用户一起,打造一个身份认同、经济繁荣、跨越虚拟与现实和永久续存的多人互动虚拟世界。为了实现上述目标,需要向用户提供精细三维模型来保证用户的使用体验。
发明内容
本公开提供了一种三维模型处理方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种三维模型处理方法,包括:根据与待渲染对象对应的第一三维模型和与上述第一三维模型对应的至少一个虚拟面,得到与上述至少一个虚拟面对应的深度图,其中,上述第一三维模型包括至少一个多边形面片,上述深度图中像素的像素值表征上述多边形面片与上述虚拟面之间的距离;根据与上述至少一个虚拟面对应的深度图,从上述至少一个多边形面片中确定至少一个可见多边形面片;以及,根据上述至少一个可见多边形面片,得到第二三维模型。
根据本公开的另一方面,提供了一种三维模型处理装置,包括:第一获得模块,用于根据与待渲染对象对应的第一三维模型和与上述第一三维模型对应的至少一个虚拟面,得到与上述至少一个虚拟面对应的深度图,其中,上述第一三维模型包括至少一个多边形面片,上述深度图中像素的像素值表征上述多边形面片与上述虚拟面之间的距离;第一确定模块,用于根据与上述至少一个虚拟面对应的深度图,从上述至少一个多边形面片中确定至少一个可见多边形面片;以及,第二获得模块,用于根据上述至少一个可见多边形面片,得到第二三维模型。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如本公开上述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行如本公开上述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现如本公开上述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用三维模型处理方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的三维模型处理方法的流程图;
图3A示意性示出了根据本公开实施例的根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个主虚拟相机的示例示意图;
图3B示意性示出了根据本公开实施例的根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个辅助虚拟相机的示例示意图;
图4示意性示出了根据本公开实施例的响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的至少一个虚拟探针的示例示意图;
图5示意性示出了根据本公开实施例的根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离的示例示意图;
图6A示意性示出了根据本公开实施例的三维模型处理方法的原理示意图;
图6B示意性示出了根据本公开实施例的三维模型处理方法的处理效果的示例示意图;
图6C示意性示出了根据本公开另一实施例的三维模型处理方法的处理效果的示例示意图;
图7示意性示出了根据本公开实施例的三维模型处理装置的框图;以及
图8示意性示出了根据本公开实施例的适于实现三维模型处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在以待渲染对象为单位进行三维模型整体呈现的情况下,存在不可见结构被渲染引擎渲染的情况。例如,在待渲染对象是建筑物的情况下,不可见结构可以是建筑物内部结构。如果渲染引擎加载全部三维模型,则将会对内存造成较大的负担,导致过高的延迟,甚至会导致客户端的崩溃。
为此,本公开实施例提出了一种三维模型处理方案。例如,根据与待渲染对象对应的第一三维模型和与第一三维模型对应的至少一个虚拟面,得到与至少一个虚拟面对应的深度图。第一三维模型包括至少一个多边形面片。深度图中像素的像素值表征多边形面片与虚拟面之间的距离。根据与至少一个虚拟面对应的深度图,从至少一个多边形面片中确定至少一个可见多边形面片。根据至少一个可见多边形面片,得到第二三维模型。
根据本公开的实施例,通过根据与至少一个虚拟面对应的深度图,从第一三维模型包括的至少一个多边形面片中确定可见多边形面片,实现了准确确定可见多边形面片,提高了模型优化率。在此基础上,根据可见多边形面片,得到第二三维模型,实现了在保证第二三维模型在完整保留第一三维模型的外部视觉效果的基础上,简化了模型结构,由此降低了内存的资源消耗,降低了后续对第二三维模型进行渲染的载入耗时。
图1示意性示出了根据本公开实施例的可以应用三维模型处理方法及装置的示例性系统架构。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用三维模型处理方法及装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的三维模型处理方法及装置。
如图1所示,根据该实施例的系统架构100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型。例如,有线和无线通信链路等中的至少之一。终端设备可以包括第一终端设备101、第二终端设备102和第三终端设备103中的至少之一。
用户可以使用第一终端设备101、第二终端设备102和第三终端设备103中的至少之一通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102和第三终端设备103中的至少之一可以安装有各种通讯客户端应用。例如,知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和社交平台软件等中的至少之一。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备。例如,电子设备可以包括智能手机、平板电脑、膝上型便携计算机和台式计算机等中的至少之一。
服务器105可以是提供各种服务的服务器。例如,服务器105可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(Virtual Private Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。
需要说明的是,本发明实施例所提供的三维模型处理方法一般可以由第一终端设备101、第二终端设备102和第三终端设备103中的之一执行。相应地,本发明实施例所提供的三维模型处理装置也可以设置于第一终端设备101、第二终端设备102和第三终端设备103中的之一。
备选地,本发明实施例所提供的三维模型处理方法一般也可以由服务器105执行。相应地,本发明实施例所提供的三维模型处理装置一般可以设置于服务器105中。本发明实施例所提供的三维模型处理方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和服务器105中的至少之一通信的服务器或服务器集群执行。相应地,本发明实施例所提供的三维模型处理装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和服务器105中的至少之一通信的服务器或服务器集群中。
应该理解,图1中的第一终端设备、第二终端设备、第三终端设备网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一终端设备、第二终端设备、第三终端设备、网络和服务器。
应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的三维模型处理方法的流程图。
如图2所示,该方法200包括操作S210~S230。
在操作S210,根据与待渲染对象对应的第一三维模型和与第一三维模型对应的至少一个虚拟面,得到与至少一个虚拟面对应的深度图。
在操作S220,根据与至少一个虚拟面对应的深度图,从至少一个多边形面片中确定至少一个可见多边形面片。
在操作S230,根据至少一个可见多边形面片,得到第二三维模型。
根据本公开的实施例,第一三维模型可以包括至少一个多边形面片。深度图中像素的像素值可以表征多边形面片与虚拟面之间的距离。
根据本公开的实施例,待渲染对象可以指需要进行渲染的对象。待渲染对象可以包括以下至少之一:工业产品对象、娱乐产品对象、体育产品对象、生活产品对象、工作产品对象和学习产品对象等。例如,工业产品对象可以包括建筑物。娱乐产品对象可以包括虚拟对象。虚拟对象可以包括三维虚拟对象。
根据本公开的实施例,三维模型可以包括三维网格(即Mesh)模型。三维网格模型可以包括至少一个多边形面片。多边形面片可以包括三角形面片和非三角形面片中的至少之一。非三角形面片可以包括以下至少之一:四边形面片和五边形面片等。此外,可以对非三角形面片进行划分,得到多个三角形面片。多边形面片可以包括以下至少之一:多个顶点、至少一个边和至少一个面。边可以用于连接具有连接关系的两个顶点。顶点可以是三维点。多边形可以具有与该多边形对应的面。面可以用多个顶点和至少一个边中的至少之一来表征。顶点的属性信息可以包括位置信息。此外,顶点的属性信息还可以包括以下至少之一:纹理映射坐标、表面法向量和光照值等。可以根据实际业务需求确定多边形面片的类型,在此不作限定。
根据本公开的实施例,根据获取三维模型的信息的难易程度,三维模型可以包括简单模型结构和复杂模型结构。复杂模型结构可以指难以获得信息的三维模型的模型结构。
根据本公开的实施例,根据多边形面片的可见性,多边形面片可以包括以下之一:可见多边形面片和不可见多边形面片。可见性可以指从外部观察待渲染对象的可见程度。可见程度可以包括可见和不可见中的之一。可见多边形面片可以指在从外部观察待渲染对象的情况下可见的多边形面片。不可见多边形面片可以指在从外部观察待渲染对象的情况下不可见的多边形面片。例如,不可见多边形面片可以包括与待渲染对象的内部结构对应的多边形面片。
根据本公开的实施例,第一三维模型可以是与待渲染对象对应的三维模型。第一三维模型可以是对待渲染对象进行三维重建得到的三维模型。第二三维模型可以是第一三维模型中的部分。例如,第二三维模型可以是根据第一三维模型中的可见多边形面片确定的。
根据本公开的实施例,虚拟面可以指与虚拟视觉设备对应的映射面。映射面可以是虚拟视觉设备坐标系所在的面。虚拟视觉设备可以指能够获取第一三维模型的信息的设备。虚拟视觉设备可以包括虚拟相机。此外,虚拟视觉设备还可以包括虚拟探针。相应地,虚拟面可以包括与虚拟相机对应的面。虚拟面还可以包括与虚拟探针对应的面。虚拟相机和虚拟探针均可以用于获取第一三维模型的信息,两者的区别在于:虚拟相机和虚拟探针的视角范围不同。
根据本公开的实施例,虚拟面的尺寸可以根据与第一三维模型对应的模型的尺寸确定。第一三维模型可以是规则三维模型,也可以是非规则三维模型。与第一三维模型对应的模型可以指能够包围第一三维模型的预定形状的规则三维模型。例如,第一三维模型可以是立方体模型。备选地,第一三维模型可以是非规则三维模型,并且与第一三维模型对应的模型可以是立方体模型。
根据本公开的实施例,虚拟视觉设备可以具有与该虚拟视觉设备对应的虚拟面。虚拟视觉设备的参数信息和数目可以根据与第一三维模型对应的模型的参数信息确定,在此不作限定,能够使得至少一个虚拟视觉设备共同配合获获取到第一预定视角范围的第一三维模型的信息即可。参数信息可以包括位置信息和尺寸信息。第一预定视角范围可以根据实际业务需求进行配置,在此不作限定。例如,第一预定视角范围可以是360°范围。
根据本公开的实施例,虚拟面的尺寸信息可以根据与该虚拟面对应的虚拟视觉设备的尺寸信息确定。虚拟面的位置信息可以根据与该虚拟面对应的虚拟视觉设备的位置信息确定。虚拟视觉设备的尺寸信息可以根据与第一三维模型对应的模型的尺寸信息确定。虚拟视觉设备的位置信息可以根据与第一三维模型对应的模型的位置信息确定。
根据本公开的实施例,虚拟面具有与该虚拟面对应的深度图。深度图可以用于描述第一三维模型与虚拟面之间的距离。由于深度图是根据第一三维模型和与第一三维模型对应的虚拟面得到的,第一三维模型可以包括至少一个多边形面片,多边形面片可以包括至少一个第一三维点,因此,深度图中存在与多边形面片对应的图像区域。图像区域中的像素的像素值可以表征多边形面片中与像素对应的第一三维点与虚拟面之间的距离。由于虚拟面可以指虚拟视觉设备坐标系所在的映射面,因此,深度图可以用于描述第一三维模型与虚拟视觉设备之间的距离。图像区域中的像素的像素值可以表征多边形面片中与像素对应的第一三维点与虚拟视觉设备之间的距离。
根据本公开的实施例,可以获取与待渲染对象对应的第一三维模型。例如,可以响应于检测到针对待渲染对象的模型优化指令,根据模型优化指令确定与待渲染对象对应的第一三维模型。针对至少一个虚拟面中的虚拟面,可以基于虚拟面,对第一三维模型进行图形变换处理,得到与虚拟面对应的深度图。由此可以得到与至少一个虚拟面各自对应的深度图。
根据本公开的实施例,针对第一三维模型中的至少一个多边形面片中的多边形面片,可以根据与至少一个虚拟面对应的深度图,确定多边形面片是否是可见多边形面片,由此可以得到至少一个可见多边形面片。根据至少一个可见多边形面片,得到第二三维模型。
根据本公开的实施例,通过根据与至少一个虚拟面对应的深度图,从第一三维模型包括的至少一个多边形面片中确定可见多边形面片,实现了准确确定可见多边形面片,提高了模型优化率。在此基础上,根据可见多边形面片,得到第二三维模型,实现了在保证第二三维模型在完整保留第一三维模型的外部视觉效果的基础上,简化了模型结构,由此降低了内存的资源消耗,降低了后续对第二三维模型进行渲染的载入耗时。
第二三维模型中的多边形面片均是视觉上能够被看到的多边形面片,提高了模型优化率。
根据本公开的实施例,上述三维模型处理方法还可以包括如下操作。
对与待渲染对象对应的至少一个子三维模型进行合并,得到第一三维模型。
根据本公开的实施例,各个子三维模型可以是彼此独立的。子三维模型可以是待渲染对象的部分结构所对应的三维模型。可以对至少一个子模型进行拼接,得到第一三维模型。
根据本公开的实施例,通过对至少一个子三维模型进行合并,得到与待渲染对象对应的第一三维模型,降低了在保证外部视觉效果的基础上,为对第一三维模型进行模型优化的难度。
根据本公开的实施例,至少一个虚拟面可以包括至少一个虚拟平面。
根据本公开的实施例,上述三维模型处理方法还可以包括如下操作。
根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个虚拟相机。根据至少一个虚拟相机的第二参数信息,得到与至少一个虚拟相机对应的虚拟平面。
根据本公开的实施例,至少一个虚拟相机可以用于获取第一预定视角范围的第一三维模型的信息。
根据本公开的实施例,虚拟相机可以指平面相机。至少一个虚拟相机可以包括至少一个主虚拟相机。在确定第三预定视角范围小于第一预定视角范围的情况下,至少一个虚拟相机还可以包括至少一个辅助虚拟相机。至少一个辅助虚拟相机可以与至少一个主虚拟相机配合来获取第一预定视角范围的第一三维模型的信息。第三预定视角范围可以是与至少一个主虚拟相机对应的视角范围。主虚拟相机可以指能够获取第一三维模型的主要结构部分的信息的虚拟相机。辅助虚拟相机可以指能够获取主虚拟相机不能获取到的第一三维模型的信息和主虚拟相机获取到的第一三维模型的信息的准确性不满足预定准确性条件的虚拟相机。例如,主虚拟相机不能获取到的第一三维模型的信息可以包括第一三维模型的细节结构部分的信息。主虚拟相机不能获取到的第一三维模型的信息可以是由于主虚拟相机与第一三维模型的对应面的位置关系是平行关系和垂直关系中的之一导致的。
根据本公开的实施例,任意两个虚拟相机的视角范围可以相同,也可以不同。虚拟相机的数目和参数信息可以根据与第一三维模型对应的模型的参数信息来确定,在此不作限定,能够使得至少一个虚拟相机可以共同配合来实现获取第一预定视角范围的第一三维模型的信息即可。第一预定视角范围可以根据实际业务需求进行配置,在此不作限定。例如,第一预定视角范围可以是360°范围。
根据本公开的实施例,参数信息可以包括尺寸信息和位置信息。尺寸信息可以包括线段的长度。线段可以包括边和对角线中的至少之一。位置信息可以包括坐标信息。第一参数信息可以包括第一三维模型的位置信息和至少一个边的长度。第二参数信息可以包括虚拟相机的位置信息和尺寸信息。
根据本公开的实施例,可以根据第一三维模型的位置信息和尺寸信息,创建与第一三维模型对应的至少一个虚拟相机。例如,第一三维模型可以包括至少一个平面。至少一个平面可以包括至少一个预定平面。预定平面可以指第一三维模型中的可见平面。针对至少一个预定平面中的预定平面,可以根据与预定平面对应的位置信息和尺寸信息,创建与预定平面对应的虚拟相机。虚拟相机与该虚拟相机对应的预定平面之间的角度可以根据实际业务需要进行配置,在此不作限定。虚拟相机的尺寸信息可以是根据与该虚拟相机对应的预定平面对应的尺寸信息确定的。例如,虚拟相机的尺寸信息和与该虚拟相机对应的预定平面的尺寸信息相一致。备选地,虚拟相机的尺寸信息和与该虚拟相机对应的预定平面相关的尺寸信息相一致。
根据本公开的实施例,可以根据第一虚拟相机的位置信息和尺寸信息,创建与虚拟相机对应的虚拟平面。虚拟平面可以指虚拟相机坐标系所在平面。虚拟平面的尺寸信息可以是根据与该虚拟平面对应的虚拟相机的尺寸信息确定的。例如,虚拟平面的尺寸信息和与该虚拟平面对应的虚拟相机的尺寸信息相一致。
根据本公开的实施例,通过根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个虚拟相机,根据虚拟相机的第二参数信息,得到与虚拟相机对应的虚拟平面,为后续结合第一三维模型来生成深度图提供了基础。
下面以第一三维模型可以是立方体模型为例,参考图3A和图3B,结合具体实施例对根据本公开实施例所述的根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个虚拟相机做进一步说明。
图3A示意性示出了根据本公开实施例的根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个主虚拟相机的示例示意图。
如图3A所示,在300A中,第一三维模型301是立方体模型。第一三维模型301可以包括第一平面301_1、第二平面301_2、第三平面301_3、第四平面301_4、第五平面301_5和第六平面301_6。第一平面301_1和第三平面301_3相互平行。第二平面301_2和第四平面301_4相互平行。第五平面301_5和第六平面301_6相互平行。以用户从上向下看的视角,第四平面301_4是不可见平面。第一平面301_1、第二平面301_2、第三平面301_3、第五平面301_5和第六平面301_6均是预定平面。
根据与五个预定平面各自的第一参数信息,创建与五个预定平面各自对应的主虚拟相机。主虚拟相机与预定平面平行。主虚拟相机的尺寸信息与预定平面的尺寸信息相一致。例如,五个主虚拟相机302可以包括与第一平面301_1对应的第一主虚拟相机302_1、与第二平面301_2对应的第二主虚拟相机302_2、与第三平面301_3对应的第三主虚拟相机302_3、与第五平面301_5对应的第四主虚拟相机302_4和与第六平面301_6对应的第五主虚拟相机302_5。
第一主虚拟相机302_1、第二主虚拟相机302_2、第三主虚拟相机302_3、第四主虚拟相机302_4和第五主虚拟相机302_5可以共同配合来获取第一三维模型301在第三预定视角范围的信息。
在确定第三预定视角范围小于第一预定视角范围的情况下,至少一个虚拟相机还可以包括至少一个辅助虚拟相机。至少一个辅助虚拟相机可以与至少一个主虚拟相机配合来获取第一预定视角范围的第一三维模型的信息。
图3B示意性示出了根据本公开实施例的根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个辅助虚拟相机的示例示意图。
如图3B所示,在300B中,第一三维模型303是立方体模型。第一三维模型303可以包括第一平面303_1、第二平面303_2、第三平面303_3、第四平面303_4、第五平面303_5和第六平面303_6。第一平面303_1和第三平面303_3相互平行。第二平面303_2和第四平面303_4相互平行。第五平面303_5和第六平面303_6相互平行。以用户从上向下看的视角,第四平面303_4是不可见平面。第一平面303_1、第二平面303_2、第三平面303_3、第五平面303_5和第六平面303_6均是预定平面。
可以根据与第二平面303_2对应的第一参数信息,创建与第二平面303_2对应的四个辅助虚拟相机。四个虚拟相机304可以包括第一辅助虚拟相机304_1、第二辅助虚拟相机304_2、第三辅助虚拟相机304_3和第四辅助虚拟相机304_4。四个辅助虚拟相机可以设置于第二平面303_2的侧上方。四个辅助虚拟相机与第二平面303_2之间的角度可以根据第一三维模型303的体对角线之间的角度确定。例如,四个辅助虚拟相机与第二平面303_2之间的角度可以与第一三维模型303的体对角线之间的角度相一致。四个辅助虚拟相机的尺寸信息可以根据第一三维模型303的体对角线长度确定。例如,四个辅助虚拟相机的尺寸信息可以与第一三维模型303的体对角线长度相一致。
根据本公开的实施例,至少一个虚拟面还可以包括至少一个虚拟球面。
根据本公开的实施例,上述三维模型处理方法还可以包括如下操作。
响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的至少一个虚拟探针。根据至少一个虚拟探针的第四参数信息,得到与至少一个虚拟探针对应的虚拟球面。
根据本公开的实施例,虚拟探针可以用于获取第二预定视角范围的预定类型结构的信息。第二预定视角范围大于第一预定视角范围。第二预定视角范围可以根据实际业务需求进行配置,在此不作限定。例如,第二预定视角范围可以包括720°。
根据本公开的实施例,预定类型结构可以指获取到信息的难度系数大于或等于预定难度阈值的模型结构。获取信息的难度系数可以根据虚拟相机能否获取到该信息来确定。预定类型结构可以包括中空结构。例如,中空结构可以包括桥墩。
根据本公开的实施例,可以检测与待渲染对象对应的第一三维模型中是否存在预定类型结构。例如,可以根据漫水填充方法检测第一三维模型中是否存在预定类型结构。漫水填充方法可以是根据各个像素值之间的差值确定各个像素是否属于同一区域的方法。
根据本公开的实施例,在检测到与待渲染对象的第一三维模型中存在预定类型结构的情况下,可以根据预定类型结构的第三参数信息,确定至少一个虚拟探针各自的位置信息。根据至少一个虚拟探针各自的位置信息,创建与预定类型结构对应的至少一个虚拟探针。例如,可以响应于检测到与预定类型结构对应的位置选择操作,得到至少一个虚拟探针各自的位置信息。在检测到与待渲染对象的第一三维模型中不存预定类型结构的情况下,可以直接根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个虚拟相机。根据至少一个虚拟相机的第二参数信息,得到与至少一个虚拟相机对应的虚拟平面。在创建虚拟探针之后,可以根据虚拟探针的第四参数信息,创建与虚拟探针对应的虚拟球面。
根据本公开的实施例,可以响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的虚拟探针,根据虚拟探针的第四参数信息,得到与虚拟探针对应的虚拟球面,实现了在基于虚拟相机得到的深度图难以保留全部的可见多边形面片的情况下,用于辅助确定可见多边形面片,以保证能够准确确定可见多边形面片而不产生遗漏。
下面参考图4,结合具体实施例对根据本公开实施例所述的响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的至少一个虚拟探针做进一步说明。
图4示意性示出了根据本公开实施例的响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的至少一个虚拟探针的示例示意图。
如图4所示,在400中,响应于检测到第一三维模型401中存在预定结构类型401_1。预定类型结构401_1是中空结构。根据预定类型结构401_1的位置信息,确定虚拟探针402的位置信息。根据位置信息,创建与预定结构类型401_1对应的虚拟探针402。
根据本公开的实施例,操作S210可以包括如下操作。
基于与第一三维模型对应的至少一个虚拟面,对至少一个多边形面片进行图形变换处理,得到至少一个多边形面片与至少一个虚拟面之间的距离。根据至少一个多边形面片与至少一个虚拟面之间的距离,得到与至少一个虚拟面对应的深度图。
根据本公开的实施例,针对与第一三维模型对应的至少一个虚拟面中的虚拟面,针对至少一个多边形面片中的多边形面片,基于虚拟面,对多边形面片进行图形变换处理,得到多边形面片与虚拟面之间的距离。图形变换处理可以包括正变换和逆变换。正变换可以指三维空间与二维空间之间的变换。逆变换可以指二维空间与三维空间之间的变换。例如,可以基于虚拟面,对多边形面片进行正变换,得到与多边形面片对应的二维区域。可以基于虚拟面和第一三维模型,可以对与多边形面片对应的二维区域进行逆变换,得到三维区域。根据与多边形面片对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离。由于虚拟面可以指虚拟视觉设备坐标系所在的面,因此,可以根据与多边形面片对应的二维区域和三维区域,得到多边形面片与虚拟视觉设备之间的距离。虚拟视觉设备可以包括虚拟相机。此外,虚拟视觉设备还可以包括虚拟探针。
根据本公开的实施例,通过基于与第一三维模型对应的至少一个虚拟面,对至少一个多边形面片进行图形变换处理,得到至少一个多边形面片与至少一个虚拟面之间的距离,再根据至少一个多边形面片与至少一个虚拟面之间的距离,得到与至少一个虚拟面对应的深度图,实现了生成用于确定多边形面片是否是可见多边形面片的深度图,为后续确定可见多边形面片提供了依据。
根据本公开的实施例,基于与第一三维模型对应的至少一个虚拟面,对至少一个多边形面片进行图形变换处理,得到至少一个多边形面片与至少一个虚拟面之间的距离,可以包括如下操作。
将多边形面片投影至虚拟面,得到与虚拟面对应的二维区域。将二维区域投影至第一三维模型,得到与虚拟面对应的三维区域。根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离。
根据本公开的实施例,针对与第一三维模型对应的至少一个虚拟面中的虚拟面,针对至少一个多边形面片中的多边形面片,将多边形面片投影至虚拟面,得到与虚拟面对应的二维区域。将二维区域投影至第一三维模型,得到与虚拟面对应的三维区域。根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离。
根据本公开的实施例,至少一个虚拟面中的虚拟面,在虚拟面是虚拟平面的情况下,针对至少一个多边形面片中的多边形面片,可以基于平行投影变换,将多边形面片投影至虚拟面,得到与虚拟面对应的二维区域。在虚拟面是虚拟球面的情况下,针对至少一个多边形面片中的多边形面片,可以基于透视投影变换,将多边形面片投影至虚拟面,得到与虚拟面对应的二维区域。
根据本公开的实施例,多边形面片可以包括至少一个第一三维点。二维区域可以包括与至少一个第一三维点对应的二维点。三维区域可以包括与至少一个二维点对应的第二三维点。
根据本公开的实施例,将二维区域投影至第一三维模型,得到与虚拟面对应的三维区域,可以包括如下操作。
创建与二维点对应的射线。确定射线与第一三维模型之间的交点,得到与二维点对应的第二三维点。
根据本公开的实施例,射线可以垂直于与二维区域对应的虚拟面。
根据本公开的实施例,可以针对至少一个二维点中的二维点,可以创建以二维点为端点,垂直于虚拟面的射线。确定射线与第一三维模型之间的交点,得到与二维点对应的第二三维点。
根据本公开的实施例,根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离,可以包括如下操作。
根据二维点的位置信息和第二三维点的位置信息,得到第二三维点与虚拟面之间的距离。
根据本公开的实施例,可以确定二维点的位置信息和第二三维点的位置信息。根据二维点的位置信息和与二维点对应的第二三维点的位置信息,得到二维点和与二维点对应的第二三维点之间的距离。根据二维点和与二维点对应的第二三维点之间的距离,得到第二三维点与虚拟面之间的距离。例如,可以将二维点和与二维点对应的第二三维点之间的距离确定为第二三维点与虚拟面之间的距离。
下面参考图5,结合具体实施例对根据本公开实施例所述的根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离做进一步说明。
图5示意性示出了根据本公开实施例的根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离的示例示意图。
如图5所示,在500中,将第一三维模型501中的多边形面片投影至虚拟面502,得到与虚拟面对应的二维区域。二维区域可以包括多个二维点。例如,二维点503。针对二维点503,创建与二维点503对应的射线504。确定射线504与第一三维模型501之间的交点,得到与二维点503对应的第二三维点505。根据二维点503的位置信息和第二三维点505的位置信息,得到第二三维点505与虚拟面502之间的距离。
根据本公开的实施例,至少一个多边形面片可以包括M个。M可以是大于或等于1的整数。至少一个虚拟面可以包括N个。N可以是大于或等于1的整数。基于与第一三维模型对应的至少一个虚拟面,对至少一个多边形面片进行图形变换处理,可以包括重复执行以下操作,直至得到与M个多边形面片各自与N个虚拟面之间的距离。
可以将第m个多边形面片投影至第n个虚拟面,得到与第m个多边形面片中的至少一个第一三维点各自对应的二维点。针对至少一个二维点中的二维点,创建与二维点对应的射线。确定射线与第一三维模型的交点,得到与二维点对应的第二三维点。根据二维点的位置信息和与二维点对应的第二三维点的位置信息,确定二维点和与二维点对应的第二三维点之间的距离。根据二维点和与二维点对应的第二三维点之间的距离,得到深度图中与二维点对应的像素的像素值。在确定深度图中与二维点对应的像素的像素值小于该像素的当前像素值的情况下,将该像素的当前像素值更新为与二维点对应的像素值。在确定深度图中与二维点对应的像素的像素值大于或等于该像素的当前像素值的情况下,保持该像素的当前像素值不变。m可以是大于或等于1且小于或等于M的整数。n可以是大于或等于1且小于或等于N的整数。
根据本公开的实施例,深度图中的像素的初始像素值可以根据实际业务需求进行配置,在此不作限定。例如,初始像素值可以是最大像素值。
根据本公开的实施例,操作S220可以包括如下操作。
在根据深度图确定至少一个多边形面片中存在满足预定条件的多边形面片的情况下,将满足预定条件的多边形面片确定为可见多边形面片。
根据本公开的实施例,深度图中的像素的像素值可以与第一三维模型中的可见多边形面片的三维点相对应。深度图中的像素可以表征与可见多边形面片对应的像素值。预定条件可以指用于作为确定多边形面片是否是可见多边形面片的条件。针对与至少一个虚拟面对应的深度图中的深度图,如果深度图中存在与多边形面片对应的像素值,则可以确定多边形面片是满足预定条件的多边形面片。
根据本公开的实施例,上述三维模型处理方法还可以包括如下操作。
响应于深度图中存在与多边形面片对应的像素值,确定多边形面片是满足预定条件的多边形面片。
根据本公开的实施例,像素值可以小于预定像素值。预定像素值可以表征与不可见多边形面片对应的像素值。
根据本公开的实施例,预定像素值可以用于作为确定多边形面片是否是不可见多边形面片的依据之一。预定像素值可以根据实际业务需求进行配置,在此不作限定。
根据本公开的实施例,多边形面片可以包括与至少一个二维点各自对应的第一三维点。针对至少一个二维点中的二维点,在确定深度图中存在与二维点对应的像素值的情况下,可以确定与二维点对应的第一三维点是可见三维点。在确定多边形中的第一三维点均是可见三维点的情况下,可以确定深度图中存在与多边形面片对应的像素值。备选地,在确定多边形中的预定第一三维点是可见三维点的情况下,可以确定深度图中存在与多边形面片对应的像素值。由此可以确定多边形面片是可见多边形面片。
根据本公开的实施例,操作S230可以包括如下操作。
从至少一个可见多边形面片中确定不同的可见多边形面片。根据不同的可见多边形面片,得到第二三维模型。
根据本公开的实施例,针对至少一个深度图中的深度图,可以具有与该深度图对应的可见多边形面片和不具有与该深度图对应的可见多边形面片中的之一。根据至少一个深度图,可以确定与至少一个深度图对应的至少一个可见多边形面片。可以确定至少一个可见多边形面片中的不同的可见多边形面片。可以根据不同的可见多边形面片,得到第二三维模型。第二三维模型包括不同的可见多边形面片且不包括不可见多边形面片。
根据本公开的实施例,上述三维模型处理方法还可以包括如下操作。
渲染第二三维模型。
根据本公开的实施例,可以调用渲染例程,利用渲染例程对第二三维模型进行渲染。
根据本公开的实施例,由于第二三维模型包括的多边形面片均是可见多边形面片,因此,降低了内存的资源消耗,降低了对第二三维模型进行渲染的载入耗时。
下面参考图6A和图6B,结合具体实施例对根据本公开实施例所述的三维模型处理方法做进一步说明。
图6A示意性示出了根据本公开实施例的三维模型处理方法的原理示意图。
如图6A所示,在600A中,对与待渲染对象对应的至少一个子三维模型601进行合并,得到第一三维模型602。根据第一三维模型602和与第一三维模型602对应的至少一个虚拟面603,得到与至少一个虚拟面603对应的深度图604。根据与至少一个虚拟面603对应的深度图604,从第一三维模型602中的至少一个多边形面片中确定至少一个可见多边形面片605。从至少一个可见多边形面片605中确定不同的可见多边形面片。根据不同的可见多边形面片,得到第二三维模型606。
图6B示意性示出了根据本公开实施例的三维模型处理方法的处理效果的示例示意图。
如图6B所示,在600B中,利用本公开实施例所述的三维模型处理方法使用一个虚拟面对第一三维模型607进行模型优化,得到第二三维模型608。
通过比较第一三维模型607和第二三维模型608,可以得到第二三维模型608在完整保留了第一三维模型607在当前虚拟面方向的外部视觉效果的基础上,有效简化了模型结构,由此降低了内存负担,降低了渲染引擎的载入耗时和渲染负载。
图6C示意性示出了根据本公开另一实施例的三维模型处理方法的处理效果的示例示意图。
如图6C所示,在600C中,利用本公开实施例所述的三维模型处理方法对第一三维模型609进行模型优化,得到第二三维模型610。
通过比较第一三维模型609和第二三维模型610,可以得到第二三维模型610在完整保留了第一三维模型609的外部视觉效果的基础上,有效简化了模型结构,由此降低了内存负担,降低了渲染引擎的载入耗时和渲染负载。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗
以上仅是示例性实施例,但不限于此,还可以包括本领域已知的其他三维模型处理方法,只要能够实现降低内存的资源消耗,降低后续对三维模型进行渲染的载入耗时即可。
图7示意性示出了根据本公开实施例的三维模型处理装置的框图。
如图7所示,三维模型处理装置700可以包括第一获得模块710、第一确定模块720和第二获得模块730。
第一获得模块710,用于根据与待渲染对象对应的第一三维模型和与第一三维模型对应的至少一个虚拟面,得到与至少一个虚拟面对应的深度图。第一三维模型包括至少一个多边形面片,深度图中像素的像素值表征多边形面片与虚拟面之间的距离。
第一确定模块720,用于根据与至少一个虚拟面对应的深度图,从至少一个多边形面片中确定至少一个可见多边形面片。
第二获得模块730,用于根据至少一个可见多边形面片,得到第二三维模型。
根据本公开的实施例,第一获得模块710可以包括第一获得子模块和第二获得子模块。
第一获得子模块,用于基于与第一三维模型对应的至少一个虚拟面,对至少一个多边形面片进行图形变换处理,得到至少一个多边形面片与至少一个虚拟面之间的距离。
第二获得子模块,用于根据至少一个多边形面片与至少一个虚拟面之间的距离,得到与至少一个虚拟面对应的深度图。
根据本公开的实施例,第一获得子模块可以包括第一获得单元、第二获得单元和第三获得单元。
第一获得单元,用于将多边形面片投影至虚拟面,得到与虚拟面对应的二维区域。
第二获得单元,用于将二维区域投影至第一三维模型,得到与虚拟面对应的三维区域。
第三获得单元,用于根据与虚拟面对应的二维区域和三维区域,得到多边形面片与虚拟面之间的距离。
根据本公开的实施例,多边形面片包括至少一个第一三维点。二维区域包括与至少一个第一三维点对应的二维点。三维区域包括与至少一个二维点对应的第二三维点。
根据本公开的实施例,第二获得单元可以包括创建子单元和第一获得子单元。
创建子单元,用于创建与二维点对应的射线,其中,射线垂直于与二维区域对应的虚拟面。
第一获得子单元,用于确定射线与第一三维模型之间的交点,得到与二维点对应的第二三维点。
根据本公开的实施例,第三获得单元可以包括第二获得子单元。
第二获得子单元,用于根据二维点的位置信息和第二三维点的位置信息,得到第二三维点与虚拟面之间的距离。
根据本公开的实施例,第一确定模块可以包括第一确定子模块。
第一确定子模块,用于在根据深度图确定至少一个多边形面片中存在满足预定条件的多边形面片的情况下,将满足预定条件的多边形面片确定为可见多边形面片。
根据本公开的实施例,三维模型处理装置700还可以包括第二确定模块。
第二确定模块,用于响应于深度图中存在与多边形面片对应的像素值,确定多边形面片是满足预定条件的多边形面片。像素值小于预定像素值。预定像素值表征与不可见多边形面片对应的像素值。
根据本公开的实施例,第二获得模块可以包括第二确定子模块和第三获得子模块。
第二确定子模块,用于从至少一个可见多边形面片中确定不同的可见多边形面片。
第三获得子模块,用于根据不同的可见多边形面片,得到第二三维模型。
根据本公开的实施例,至少一个虚拟面包括至少一个虚拟平面。
根据本公开的实施例,上述三维模型处理装置700还可以包括第一创建模块和第三获得模块。
第一创建模块,用于根据与待渲染对象对应的第一三维模型的第一参数信息,创建与第一三维模型对应的至少一个虚拟相机。至少一个虚拟相机用于获取第一预定视角范围的第一三维模型的信息。
第三获得模块,用于根据至少一个虚拟相机的第二参数信息,得到与至少一个虚拟相机对应的虚拟平面。
根据本公开的实施例,至少一个虚拟面还包括至少一个虚拟球面。
根据本公开的实施例,上述三维模型处理装置700还可以包括第二创建模块和第四获得模块。
第二创建模块,用于响应于检测到与待渲染对象对应的第一三维模型中存在预定类型结构,根据预定类型结构的第三参数信息,创建与预定类型结构对应的至少一个虚拟探针。虚拟探针用于获取第二预定视角范围的预定类型结构的信息。第二预定视角范围大于第一预定视角范围。
第四获得模块,用于根据至少一个虚拟探针的第四参数信息,得到与至少一个虚拟探针对应的虚拟球面。
根据本公开的实施例,上述三维模型处理装置700还可以包括渲染模块。
渲染模块,用于渲染第二三维模型。
根据本公开的实施例,上述三维模型处理装置700还可以包括第五获得模块。
第五获得模块,用于对与待渲染对象对应的至少一个子三维模型进行合并,得到第一三维模型。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如上所述的方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上所述的方法。
图8示意性示出了根据本公开实施例的适于实现三维模型处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如,三维模型处理方法。例如,在一些实施例中,三维模型处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的三维模型处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行三维模型处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (27)
1.一种三维模型处理方法,包括:
根据与待渲染对象对应的第一三维模型和与所述第一三维模型对应的至少一个虚拟面,得到与所述至少一个虚拟面对应的深度图,其中,所述第一三维模型包括至少一个多边形面片,所述深度图中像素的像素值表征所述多边形面片与所述虚拟面之间的距离;
根据与所述至少一个虚拟面对应的深度图,从所述至少一个多边形面片中确定至少一个可见多边形面片;以及
根据所述至少一个可见多边形面片,得到第二三维模型。
2.根据权利要求1所述的方法,其中,所述根据与待渲染对象对应的第一三维模型和与所述第一三维模型对应的至少一个虚拟面,得到与所述至少一个虚拟面对应的深度图,包括:
基于与所述第一三维模型对应的至少一个虚拟面,对所述至少一个多边形面片进行图形变换处理,得到所述至少一个多边形面片与所述至少一个虚拟面之间的距离;以及
根据所述至少一个多边形面片与所述至少一个虚拟面之间的距离,得到与所述至少一个虚拟面对应的深度图。
3.根据权利要求2所述的方法,其中,所述基于与所述第一三维模型对应的至少一个虚拟面,对所述至少一个多边形面片进行图形变换处理,得到所述至少一个多边形面片与所述至少一个虚拟面之间的距离,包括:
将所述多边形面片投影至所述虚拟面,得到与所述虚拟面对应的二维区域;
将所述二维区域投影至所述第一三维模型,得到与所述虚拟面对应的三维区域;以及
根据与所述虚拟面对应的二维区域和三维区域,得到所述多边形面片与所述虚拟面之间的距离。
4.根据权利要求3所述的方法,其中,所述多边形面片包括至少一个第一三维点,所述二维区域包括与所述至少一个第一三维点对应的二维点,所述三维区域包括与至少一个所述二维点对应的第二三维点;
其中,所述将所述二维区域投影至所述第一三维模型,得到与所述虚拟面对应的三维区域,包括:
创建与所述二维点对应的射线,其中,所述射线垂直于与所述二维区域对应的虚拟面;以及
确定所述射线与所述第一三维模型之间的交点,得到与所述二维点对应的第二三维点。
5.根据权利要求4所述的方法,其中,所述根据与所述虚拟面对应的二维区域和三维区域,得到所述多边形面片与所述虚拟面之间的距离,包括:
根据所述二维点的位置信息和所述第二三维点的位置信息,得到所述第二三维点与所述虚拟面之间的距离。
6.根据权利要求1~5中任一项所述的方法,其中,所述根据与所述至少一个虚拟面对应的深度图,从所述至少一个多边形面片中确定至少一个可见多边形面片,包括:
在根据所述深度图确定所述至少一个多边形面片中存在满足预定条件的多边形面片的情况下,将所述满足预定条件的多边形面片确定为所述可见多边形面片。
7.根据权利要求6所述的方法,还包括:
响应于所述深度图中存在与所述多边形面片对应的像素值,确定所述多边形面片是满足所述预定条件的多边形面片,其中,所述像素值小于预定像素值,所述预定像素值表征与不可见多边形面片对应的像素值。
8.根据权利要求1~7中任一项所述的方法,其中,所述根据所述至少一个可见多边形面片,得到第二三维模型,包括:
从所述至少一个可见多边形面片中确定不同的所述可见多边形面片;以及
根据不同的所述可见多边形面片,得到所述第二三维模型。
9.根据权利要求1~8中任一项所述的方法,其中,所述至少一个虚拟面包括至少一个虚拟平面;
所述方法还包括:
根据与所述待渲染对象对应的第一三维模型的第一参数信息,创建与所述第一三维模型对应的至少一个虚拟相机,其中,所述至少一个虚拟相机用于获取第一预定视角范围的所述第一三维模型的信息;以及
根据所述至少一个虚拟相机的第二参数信息,得到与所述至少一个虚拟相机对应的虚拟平面。
10.根据权利要求9所述的方法,其中,所述至少一个虚拟面还包括至少一个虚拟球面;
所述方法还包括:
响应于检测到与所述待渲染对象对应的第一三维模型中存在预定类型结构,根据所述预定类型结构的第三参数信息,创建与所述预定类型结构对应的至少一个虚拟探针,其中,所述虚拟探针用于获取第二预定视角范围的所述预定类型结构的信息,所述第二预定视角范围大于所述第一预定视角范围;以及
根据所述至少一个虚拟探针的第四参数信息,得到与所述至少一个虚拟探针对应的虚拟球面。
11.根据权利要求1~10中任一项所述的方法,还包括:
渲染所述第二三维模型。
12.根据权利要求1~10中任一项所述的方法,还包括:
对与所述待渲染对象对应的至少一个子三维模型进行合并,得到所述第一三维模型。
13.一种三维模型处理装置,包括:
第一获得模块,用于根据与待渲染对象对应的第一三维模型和与所述第一三维模型对应的至少一个虚拟面,得到与所述至少一个虚拟面对应的深度图,其中,所述第一三维模型包括至少一个多边形面片,所述深度图中像素的像素值表征所述多边形面片与所述虚拟面之间的距离;
第一确定模块,用于根据与所述至少一个虚拟面对应的深度图,从所述至少一个多边形面片中确定至少一个可见多边形面片;以及
第二获得模块,用于根据所述至少一个可见多边形面片,得到第二三维模型。
14.根据权利要求13所述的装置,其中,所述第一获得模块,包括:
第一获得子模块,用于基于与所述第一三维模型对应的至少一个虚拟面,对所述至少一个多边形面片进行图形变换处理,得到所述至少一个多边形面片与所述至少一个虚拟面之间的距离;以及
第二获得子模块,用于根据所述至少一个多边形面片与所述至少一个虚拟面之间的距离,得到与所述至少一个虚拟面对应的深度图。
15.根据权利要求14所述的装置,其中,所述第一获得子模块,包括:
第一获得单元,用于将所述多边形面片投影至所述虚拟面,得到与所述虚拟面对应的二维区域;
第二获得单元,用于将所述二维区域投影至所述第一三维模型,得到与所述虚拟面对应的三维区域;以及
第三获得单元,用于根据与所述虚拟面对应的二维区域和三维区域,得到所述多边形面片与所述虚拟面之间的距离。
16.根据权利要求15所述的装置,其中,所述多边形面片包括至少一个第一三维点,所述二维区域包括与所述至少一个第一三维点对应的二维点,所述三维区域包括与至少一个所述二维点对应的第二三维点;
其中,所述第二获得单元,包括:
创建子单元,用于创建与所述二维点对应的射线,其中,所述射线垂直于与所述二维区域对应的虚拟面;以及
第一获得子单元,用于确定所述射线与所述第一三维模型之间的交点,得到与所述二维点对应的第二三维点。
17.根据权利要求16所述的装置,其中,所述第三获得单元,包括:
第二获得子单元,用于根据所述二维点的位置信息和所述第二三维点的位置信息,得到所述第二三维点与所述虚拟面之间的距离。
18.根据权利要求13~17中任一项所述的装置,其中,所述第一确定模块,包括:
第一确定子模块,用于在根据所述深度图确定所述至少一个多边形面片中存在满足预定条件的多边形面片的情况下,将所述满足预定条件的多边形面片确定为所述可见多边形面片。
19.根据权利要求18所述的装置,还包括:
第二确定模块,用于响应于所述深度图中存在与所述多边形面片对应的像素值,确定所述多边形面片是满足所述预定条件的多边形面片,其中,所述像素值小于预定像素值,所述预定像素值表征与不可见多边形面片对应的像素值。
20.根据权利要求13~19中任一项所述的装置,其中,所述第二获得模块,包括:
第二确定子模块,用于从所述至少一个可见多边形面片中确定不同的所述可见多边形面片;以及
第三获得子模块,用于根据不同的所述可见多边形面片,得到所述第二三维模型。
21.根据权利要求13~20中任一项所述的装置,其中,所述至少一个虚拟面包括至少一个虚拟平面;
所述装置还包括:
第一创建模块,用于根据与所述待渲染对象对应的第一三维模型的第一参数信息,创建与所述第一三维模型对应的至少一个虚拟相机,其中,所述至少一个虚拟相机用于获取第一预定视角范围的所述第一三维模型的信息;以及
第三获得模块,用于根据所述至少一个虚拟相机的第二参数信息,得到与所述至少一个虚拟相机对应的虚拟平面。
22.根据权利要求21所述的装置,其中,所述至少一个虚拟面还包括至少一个虚拟球面;
所述装置还包括:
第二创建模块,用于响应于检测到与所述待渲染对象对应的第一三维模型中存在预定类型结构,根据所述预定类型结构的第三参数信息,创建与所述预定类型结构对应的至少一个虚拟探针,其中,所述虚拟探针用于获取第二预定视角范围的所述预定类型结构的信息,所述第二预定视角范围大于所述第一预定视角范围;以及
第四获得模块,用于根据所述至少一个虚拟探针的第四参数信息,得到与所述至少一个虚拟探针对应的虚拟球面。
23.根据权利要求13~22中任一项所述的装置,还包括:
渲染模块,用于渲染所述第二三维模型。
24.根据权利要求13~23中任一项所述的装置,还包括:
第五获得模块,用于对与所述待渲染对象对应的至少一个子三维模型进行合并,得到所述第一三维模型。
25.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1~12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1~12中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1~12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211417273.7A CN115761123B (zh) | 2022-11-11 | 2022-11-11 | 三维模型处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211417273.7A CN115761123B (zh) | 2022-11-11 | 2022-11-11 | 三维模型处理方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115761123A true CN115761123A (zh) | 2023-03-07 |
CN115761123B CN115761123B (zh) | 2024-03-12 |
Family
ID=85370062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211417273.7A Active CN115761123B (zh) | 2022-11-11 | 2022-11-11 | 三维模型处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115761123B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09147136A (ja) * | 1995-11-16 | 1997-06-06 | Sony Corp | モデリングデータ作成装置および方法 |
CN107563088A (zh) * | 2017-09-14 | 2018-01-09 | 北京邮电大学 | 一种基于光线跟踪算法的光场显示设备仿真方法 |
CN109685891A (zh) * | 2018-12-28 | 2019-04-26 | 鸿视线科技(北京)有限公司 | 基于深度图像的建筑物三维建模与虚拟场景生成系统 |
US11176752B1 (en) * | 2020-03-31 | 2021-11-16 | Amazon Technologies, Inc. | Visualization of a three-dimensional (3D) model in augmented reality (AR) |
CN113781653A (zh) * | 2021-08-17 | 2021-12-10 | 北京百度网讯科技有限公司 | 对象模型生成方法、装置、电子设备及存储介质 |
CN114549719A (zh) * | 2022-02-23 | 2022-05-27 | 北京大甜绵白糖科技有限公司 | 渲染方法、装置、计算机设备及存储介质 |
CN114742970A (zh) * | 2022-04-02 | 2022-07-12 | 网易(杭州)网络有限公司 | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 |
CN114820906A (zh) * | 2022-06-24 | 2022-07-29 | 北京百度网讯科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN115205494A (zh) * | 2022-07-08 | 2022-10-18 | 深圳思谋信息科技有限公司 | 对象建模方法、装置、计算机设备和存储介质 |
-
2022
- 2022-11-11 CN CN202211417273.7A patent/CN115761123B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09147136A (ja) * | 1995-11-16 | 1997-06-06 | Sony Corp | モデリングデータ作成装置および方法 |
CN107563088A (zh) * | 2017-09-14 | 2018-01-09 | 北京邮电大学 | 一种基于光线跟踪算法的光场显示设备仿真方法 |
CN109685891A (zh) * | 2018-12-28 | 2019-04-26 | 鸿视线科技(北京)有限公司 | 基于深度图像的建筑物三维建模与虚拟场景生成系统 |
US11176752B1 (en) * | 2020-03-31 | 2021-11-16 | Amazon Technologies, Inc. | Visualization of a three-dimensional (3D) model in augmented reality (AR) |
CN113781653A (zh) * | 2021-08-17 | 2021-12-10 | 北京百度网讯科技有限公司 | 对象模型生成方法、装置、电子设备及存储介质 |
CN114549719A (zh) * | 2022-02-23 | 2022-05-27 | 北京大甜绵白糖科技有限公司 | 渲染方法、装置、计算机设备及存储介质 |
CN114742970A (zh) * | 2022-04-02 | 2022-07-12 | 网易(杭州)网络有限公司 | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 |
CN114820906A (zh) * | 2022-06-24 | 2022-07-29 | 北京百度网讯科技有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN115205494A (zh) * | 2022-07-08 | 2022-10-18 | 深圳思谋信息科技有限公司 | 对象建模方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115761123B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113077548B (zh) | 针对物体的碰撞检测方法、装置、设备和存储介质 | |
CN112529097B (zh) | 样本图像生成方法、装置以及电子设备 | |
CN115482325B (zh) | 画面渲染方法、装置、系统、设备及介质 | |
CN115578433A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20220198743A1 (en) | Method for generating location information, related apparatus and computer program product | |
CN114529647A (zh) | 对象渲染方法、设备、装置、电子设备及存储介质 | |
CN115965735B (zh) | 纹理贴图的生成方法和装置 | |
CN115578432B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115375847B (zh) | 材质恢复方法、三维模型的生成方法和模型的训练方法 | |
CN114549303B (zh) | 图像显示、处理方法、装置、设备和存储介质 | |
US20200183566A1 (en) | Hybrid image rendering system | |
CN115861510A (zh) | 对象渲染方法、装置、电子设备、存储介质及程序产品 | |
CN115761123B (zh) | 三维模型处理方法、装置、电子设备以及存储介质 | |
US20240153128A1 (en) | Method of detecting collision of objects, device, and storage medium | |
CN113190150B (zh) | 覆盖物的展示方法、设备和存储介质 | |
CN114529648A (zh) | 模型展示方法、设备、装置、电子设备及存储介质 | |
CN113362438A (zh) | 全景渲染的方法、装置、电子设备、介质及程序 | |
US10262631B1 (en) | Large scale highly detailed model review using augmented reality | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113096254B (zh) | 目标物渲染方法及装置、计算机设备和介质 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN115953553B (zh) | 虚拟形象生成方法、装置、电子设备以及存储介质 | |
CN113838201B (zh) | 模型适配方法、装置、电子设备及可读存储介质 | |
CN113051491B (zh) | 地图数据处理的方法、设备、存储介质及程序产品 | |
CN116012666B (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 |