CN117011487A - 图像渲染方法、装置、设备和介质 - Google Patents
图像渲染方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN117011487A CN117011487A CN202210549234.6A CN202210549234A CN117011487A CN 117011487 A CN117011487 A CN 117011487A CN 202210549234 A CN202210549234 A CN 202210549234A CN 117011487 A CN117011487 A CN 117011487A
- Authority
- CN
- China
- Prior art keywords
- model
- grid model
- patch
- original
- grid
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012545 processing Methods 0.000 claims description 88
- 238000013507 mapping Methods 0.000 claims description 83
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 21
- 230000009467 reduction Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 10
- 230000000694 effects Effects 0.000 abstract description 28
- 238000010586 diagram Methods 0.000 description 18
- 230000009466 transformation Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000001179 sorption measurement Methods 0.000 description 5
- 238000011946 reduction process Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000011410 subtraction method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- RKTYLMNFRDHKIL-UHFFFAOYSA-N copper;5,10,15,20-tetraphenylporphyrin-22,24-diide Chemical compound [Cu+2].C1=CC(C(=C2C=CC([N-]2)=C(C=2C=CC=CC=2)C=2C=CC(N=2)=C(C=2C=CC=CC=2)C2=CC=C3[N-]2)C=2C=CC=CC=2)=NC1=C3C1=CC=CC=C1 RKTYLMNFRDHKIL-UHFFFAOYSA-N 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
- G06T3/067—Reshaping or unfolding 3D tree structures onto 2D planes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种图像渲染方法、装置、设备和介质,属于图像渲染领域,更涉及游戏技术领域。所述方法包括:将原始对象网格模型展平后获得平面网格模型;原始对象网格模型是待渲染的虚拟对象原始的三维网格模型;根据平面网格模型的包围盒面片生成面片模型;对面片模型进行拓扑重建,得到重建后的网格模型;重建后的网格模型的面数少于原始对象网格模型的面数;基于重建后的网格模型,得到三维重建网格模型;三维重建网格模型用于渲染出虚拟对象。采用本方法能够提升图像渲染效果。
Description
技术领域
本申请涉及图像渲染技术,更涉及游戏技术领域,特别是涉及一种图像渲染方法、装置、设备和介质。
背景技术
在虚拟场景中,为了保证虚拟对象的渲染效果,用于渲染虚拟对象的模型大都包括很多的面数。比如,在游戏场景中,为了保证虚拟树木的渲染效果,用于渲染虚拟树木的模型大都包括很多的面数。较多的面数可以承载更多的模型细节,进而可以保证渲染出来的虚拟对象更加生动逼真。但是,模型的面数越多,其在进行渲染时就会占用越多的渲染资源。
传统技术中,通常是对模型进行直接减面。对模型进行直接减面,虽然减少了模型的面数,并可以在进行渲染时节省渲染资源。但是,直接减面会造成模型细节的严重缺失,导致渲染出来的虚拟对象不够生动逼真,从而导致图像渲染效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升图像渲染效果的图像渲染方法、装置、设备和介质。
第一方面,本申请提供了一种图像渲染方法,所述方法包括:
将原始对象网格模型展平后获得平面网格模型;所述原始对象网格模型是待渲染的虚拟对象原始的三维网格模型;
根据所述平面网格模型的包围盒面片生成面片模型;
对所述面片模型进行拓扑重建,得到重建后的网格模型;所述重建后的网格模型的面数少于所述原始对象网格模型的面数;
基于所述重建后的网格模型,得到三维重建网格模型;所述三维重建网格模型用于渲染出所述虚拟对象。
第二方面,本申请提供了一种图像渲染装置,所述装置包括:
转换模块,用于将原始对象网格模型展平后获得平面网格模型;所述原始对象网格模型是待渲染的虚拟对象原始的三维网格模型;
生成模块,用于根据所述平面网格模型的包围盒面片生成面片模型;
重建模块,用于对所述面片模型进行拓扑重建,得到重建后的网格模型;所述重建后的网格模型的面数少于所述原始对象网格模型的面数;
所述转换模块还用于基于所述重建后的网格模型,得到三维重建网格模型;所述三维重建网格模型用于渲染出所述虚拟对象。
在一个实施例中,所述转换模块还用于将位于世界坐标空间中原始模型位置的原始对象网格模型转换至所述世界坐标空间的模型处理平面,得到位于所述模型处理平面的展平后的平面网格模型;将所述重建后的网格模型转换至所述原始模型位置,得到位于所述原始模型位置的三维重建网格模型。
在一个实施例中,所述转换模块还用于根据位于世界坐标空间中原始模型位置的原始对象网格模型的模型贴图坐标信息,将所述原始对象网格模型展平,得到初始展平网格模型;将所述初始展平网格模型转换至所述世界坐标空间的模型处理平面,得到位于所述模型处理平面的展平后的平面网格模型。
在一个实施例中,所述生成模块还用于确定所述平面网格模型的包围盒;所述包围盒包括多个包围面;根据所述多个包围面各自对应的面积,从所述多个包围面中确定目标包围面,将所述目标包围面作为所述平面网格模型的包围盒面片。
在一个实施例中,所述生成模块还用于将所述平面网格模型的包围盒面片上的点吸附至所述平面网格模型上,得到初始面片模型;其中,所述初始面片模型的模型贴图坐标信息的取值范围包含所述平面网格模型的模型贴图坐标信息的取值范围;将所述初始面片模型赋予贴图属性,得到面片模型。
在一个实施例中,所述重建模块还用于删除所述面片模型的内部面;根据已删除内部面的面片模型上的各个顶点,对所述已删除内部面的面片模型进行内部面重新划分,得到重建后的网格模型。
在一个实施例中,所述转换模块还用于根据所述原始对象网格模型和所述平面网格模型之间的位置关系,确定转换矩阵;根据所述转换矩阵将所述重建后的网格模型转换至所述原始模型位置,得到位于所述原始模型位置的三维重建网格模型。
在一个实施例中,所述装置还包括:
渲染模块,用于对所述三维重建网格模型进行减面处理,得到减面网格模型;所述减面网格模型的面数少于所述三维重建网格模型的面数;所述减面网格模型用于渲染出所述虚拟对象。
在一个实施例中,所述装置还包括:
渲染模块,用于在针对所述虚拟对象的视点与所述虚拟对象之间的距离满足近距离条件的情况下,根据所述三维重建网格模型渲染出所述虚拟对象;在针对所述虚拟对象的视点与所述虚拟对象之间的距离满足远距离条件的情况下,根据所述原始对象网格模型对应的插片模型渲染出所述虚拟对象;所述插片模型的面数少于所述三维重建网格模型的面数。
在一个实施例中,所述生成模块还用于获取所述原始对象网格模型在多个方位的初始方位面片;将各个所述初始方位面片与所述原始对象网格模型进行尺寸匹配,得到所述多个方位的目标方位面片;将各个所述目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到所述原始对象网格模型对应的插片模型;其中,缩放排列处理后的各个所述目标方位面片的面片贴图坐标信息相互独立。
在一个实施例中,所述生成模块还用于分别将各个所述初始方位面片与所述原始对象网格模型的包围盒进行相交处理,得到多个相交方位面片;根据所述多个相交方位面片确定所述多个方位的目标方位面片。
在一个实施例中,所述原始对象网格模型对应的插片模型包括目标贴图;所述生成模块还用于根据所述原始对象网格模型的原始贴图和所述缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到第一插片贴图;将所述目标方位面片的法线进行反转,并根据反转后的方位面片进行贴图烘培,得到第二插片贴图;将所述第一插片贴图和所述第二插片贴图进行合并,得到目标贴图。
在一个实施例中,所述虚拟对象包括游戏场景中的虚拟树木;所述三维重建网格模型包括三维重建树木模型;所述三维重建树木模型用于在所述游戏场景中渲染出所述虚拟树木。
第三方面,本申请提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请各方法实施例中的步骤。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现本申请各方法实施例中的步骤。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请各方法实施例中的步骤。
上述图像渲染方法、装置、设备、介质和计算机程序产品,通过将原始对象网格模型展平后获得平面网格模型。根据平面网格模型的包围盒面片可以生成面片模型,其中,该面片模型对应的渲染信息的取值范围包含了原始对象网格模型对应的渲染信息的取值范围。通过对面片模型进行拓扑重建,可以得到重建后的网格模型,通过基于重建后的网格模型,可以得到面数少于原始对象网格模型的三维重建网格模型,进而根据三维重建网格模型可渲染出虚拟对象。因为该三维重建网格模型是根据上述面片模型拓扑重建得到的,故,三维重建网格模型对应的渲染信息的取值范围也包含了原始对象网格模型对应的渲染信息的取值范围。这样,由于重建后的网格模型的面数少于原始对象网格模型的面数,且三维重建网格模型的渲染信息相较于原始对象网格模型并没有减少,模型细节在减面过程中得以保留。因此,相较于传统的直接对模型进行减面的方式,本申请的图像渲染方法可以渲染更为生动逼真的虚拟对象,从而提升了图像渲染效果。
附图说明
图1为一个实施例中图像渲染方法的应用环境图;
图2为一个实施例中图像渲染方法的流程示意图;
图3为一个实施例中将初始展平网格模型的顶点转换为操作点的界面示意图;
图4为一个实施例中位于模型处理平面的展平后的平面网格模型的示意图;
图5为一个实施例中平面网格模型的包围盒面片示意图;
图6为一个实施例中面片模型示意图;
图7为一个实施例中平面网格模型和初始面片模型对比示意图;
图8为一个实施例中面片模型和重建后的网格模型比对示意图;
图9为一个实施例中转换矩阵获取界面示意图;
图10为一个实施例中三维重建网格模型和原始对象网格模型和位置偏移示意图;
图11为一个实施例中采用传统直接减面方式渲染的虚拟对象效果图;
图12为一个实施例中采用本申请重建模型减面方式渲染的虚拟对象效果图;
图13为另一个实施例中采用本申请重建模型减面方式渲染的虚拟对象效果图;
图14为又一个实施例中采用本申请重建模型减面方式渲染的虚拟对象效果图;
图15为又一个实施例中采用本申请重建模型减面方式渲染的虚拟对象效果图;
图16为又一个实施例中采用本申请重建模型减面方式渲染的虚拟对象效果图;
图17为一个实施例中根据插片模型渲染得到的虚拟对象显示效果示意图;
图18为一个实施例中初始方位面片生成示意图;
图19为一个实施例中初始方位面片与原始对象网格模型进行尺寸匹配的示意图;
图20为一个实施例中尺寸匹配的界面示意图;
图21为一个实施例中两个初始方位面片示意图;
图22为一个实施例中缩放排列处理后的面片贴图坐标信息的示意图;
图23为一个实施例中原始对象网格模型对应的插片模型示意图;
图24为另一个实施例中原始对象网格模型对应的插片模型示意图;
图25为一个实施例中对原始对象网格模型进行修改的界面操作示意图;
图26为另一个实施例中图像渲染方法的流程示意图;
图27为一个实施例中图像渲染装置的结构框图;
图28为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图像渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他服务器上。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端102可将原始对象网格模型展平后获得平面网格模型;原始对象网格模型是待渲染的虚拟对象原始的三维网格模型。终端102可根据平面网格模型的包围盒面片生成面片模型,并对面片模型进行拓扑重建,得到重建后的网格模型;重建后的网格模型的面数少于原始对象网格模型的面数。终端102可基于重建后的网格模型,得到三维重建网格模型,三维重建网格模型用于渲染出虚拟对象。
可以理解,终端102可以直接基于三维重建网格模型渲染出虚拟对象。终端102也可将得到的三维重建网格模型发送至服务器104进行存储。本实施例对此不做限定,可以理解,图1中的应用场景仅为示意说明,并不限定于此。
在一个实施例中,如图2所示,提供了一种图像渲染方法,本实施例以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤202,将原始对象网格模型展平后获得平面网格模型;原始对象网格模型是待渲染的虚拟对象原始的三维网格模型。
其中,虚拟对象是虚拟的实体对象。平面网格模型,是将原始对象网格模型展平后所得到的二维网格模型。
具体地,终端可获取原始对象网格模型,并对原始对象网格模型进行坐标转换,以将原始对象网格模型展平,得到平面网格模型。
在一个实施例中,虚拟对象包括虚拟植物、虚拟动物、虚拟人物和虚拟物体等中的至少一种。
在一个实施例中,终端可获取原始对象网格模型的模型贴图坐标信息,并根据模型贴图坐标信息对原始对象网格模型进行坐标转换,以将原始对象网格模型展平,得到平面网格模型。其中,贴图坐标信息,是用于记录三维的虚拟对象对应二维空间的一种二维坐标信息,用于给三维的虚拟对象赋予贴图。模型贴图坐标信息,是原始对象网格模型的贴图坐标信息。
步骤204,根据平面网格模型的包围盒面片生成面片模型。
其中,平面网格模型的包围盒,是用于包围平面网格模型的几何体。平面网格模型的包围盒面片,是平面网格模型的包围盒中与平面网格模型位于同一平面的包围面。可以理解,平面网格模型的包围盒包括多个包围面,可以从中选取用于且与平面网格模型位于同一平面的包围面,作为平面网格模型的包围盒面片。面片模型,是基于包围盒面片对平面网格模型进行处理后生成的二维模型。
需要说明的是,平面网格模型的包围盒,是与原始对象网格模型的模型贴图坐标信息所对应的包围盒。
具体地,终端可确定平面网格模型的包围盒,并根据平面网格模型的包围盒确定平面网格模型的包围盒面片。进而,终端可根据平面网格模型的包围盒面片生成面片模型。
在一个实施例中,终端可将平面网格模型的包围盒面片直接赋予贴图属性,得到面片模型。其中,贴图属性,是将平面网格模型的包围盒面片赋予贴图坐标信息的属性。
步骤206,对面片模型进行拓扑重建,得到重建后的网格模型;重建后的网格模型的面数少于原始对象网格模型的面数。
其中,面数是模型中面的数量,可以理解,重建后的网格模型的面数,是重建后的网格模型中面的数量,原始对象网格模型的面数,是原始对象网格模型中面的数量。可以理解,一个面对应于一个网格。网格是网格模型最基本的组成单位,网格是一种平面几何图形,比如三角形或四边形等。所以,重建后的网格模型的面数,也相当于重建后的网格模型中网格的数量,原始对象网格模型的面数,也相当于原始对象网格模型中网格的数量。
拓扑重建,是指将有形状的物体进行变换之后,还可以保持其轮廓不变的处理操作,可以理解,对面片模型进行拓扑重建,可以在保持面片模型轮廓不变的前提下,改变面片模型的模型结构,以减少面片模型的面数。
具体地,面片模型对应的面数相较于原始对象网格模型的面数并没有减少,因此,为了减少虚拟对象在渲染时所占用的渲染资源,终端可对面片模型进行拓扑重建,以得到面数少于原始对象网格模型的重建后的网格模型。可以理解,由于面片模型是根据平面网格模型的包围盒面片生成得到的,因此,重建后的网格模型可以在减少面数的同时,尽可能的保留原始对象网格模型的细节。
在一个实施例中,终端可以对面片模型中的内部面进行重新拓扑划分,得到重建后的网格模型。其中,面片模型中的内部面,是面片模型内部的面,即,面片模型内部的网格。
步骤208,基于重建后的网格模型,得到三维重建网格模型;三维重建网格模型用于渲染出虚拟对象。
其中,三维重建网格模型是重建的三维网格模型。
具体地,终端可将重建后的网格模型进行坐标转换,得到三维重建网格模型。终端可对三维重建网格模型进行渲染处理,得到虚拟对象。
在一个实施例中,终端可根据原始对象网格模型和平面网格模型,确定转换参数,并根据转换参数将重建后的网格模型进行坐标转换,得到三维重建网格模型。
上述图像渲染方法中,通过将原始对象网格模型展平后获得平面网格模型。根据平面网格模型的包围盒面片可以生成面片模型,其中,该面片模型对应的渲染信息的取值范围包含了原始对象网格模型对应的渲染信息的取值范围。通过对面片模型进行拓扑重建,可以得到重建后的网格模型,通过基于重建后的网格模型,可以得到面数少于原始对象网格模型的三维重建网格模型,进而根据三维重建网格模型可渲染出虚拟对象。因为该三维重建网格模型是根据上述面片模型拓扑重建得到的,故,三维重建网格模型对应的渲染信息的取值范围也包含了原始对象网格模型对应的渲染信息的取值范围。这样,由于重建后的网格模型的面数少于原始对象网格模型的面数,且三维重建网格模型的渲染信息相较于原始对象网格模型并没有减少,模型细节在减面过程中得以保留。因此,相较于传统的直接对模型进行减面的方式,本申请的图像渲染方法可以在对模型进行重建减面以节省渲染资源的同时,也可以最大限度地保留模型的细节,从而渲染更为生动逼真的虚拟对象,从而提升了图像渲染效果。
在一个实施例中,将原始对象网格模型展平后获得平面网格模型,包括:将位于世界坐标空间中原始模型位置的原始对象网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型。基于重建后的网格模型,得到三维重建网格模型,包括:将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
其中,原始模型位置,是原始对象网格模型在世界坐标空间中所处的原始位置。模型处理平面,是世界坐标空间的第一象限所在的平面。
具体地,终端可获取位于世界坐标空间中原始模型位置的原始对象网格模型,并对原始对象网格模型进行坐标转换,以将位于原始模型位置的原始对象网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型。终端可确定平面网格模型的包围盒,并根据平面网格模型的包围盒确定平面网格模型的包围盒面片。进而,终端可根据平面网格模型的包围盒面片生成面片模型。终端可对面片模型进行拓扑重建,以得到面数少于原始对象网格模型、且位于模型处理平面的重建后的网格模型。进而终端可将位于模型处理平面的重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。终端可对位于原始模型位置的三维重建网格模型进行渲染处理,得到虚拟对象。
上述实施例中,通过将位于世界坐标空间中原始模型位置的原始对象网格模型进行展平,并在世界空间坐标中进行坐标转换,以将位于原始模型位置的原始对象网格模型转换至世界坐标空间的模型处理平面,可以将三维的原始对象网格模型降维至二维平面进行模型处理,提升了模型处理的效率。
在一个实施例中,将位于世界坐标空间中原始模型位置的原始对象网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型,包括:根据位于世界坐标空间中原始模型位置的原始对象网格模型的模型贴图坐标信息,将原始对象网格模型展平,得到初始展平网格模型;将初始展平网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型。
其中,初始展平网格模型,是将原始对象网格模型进行展平后得到的网格模型。
具体地,终端可获取位于世界坐标空间中原始模型位置的原始对象网格模型的模型贴图坐标信息。由于模型贴图坐标信息是一种用于记录三维的虚拟对象对应二维空间的一种二维坐标信息,因此,终端可根据位于原始模型位置的原始对象网格模型的模型贴图坐标信息,将原始对象网格模型展平,得到位于原始模型位置的初始展平网格模型。终端可将位于原始模型位置的初始展平网格模型转换至模型处理平面的第一象限中,得到位于世界坐标空间的模型处理平面中第一象限的展平后的平面网格模型。
在一个实施例中,由于针对模型的操作是针对模型中的操作点实现的,可以理解,模型上的多个顶点可对应一个操作点,因此,如图3所示,可将初始展平网格模型中模型贴图坐标信息对应的顶点转换为点(即操作点),以便于后续对初始展平网格模型进行操作。
在一个实施例中,终端可根据位于原始模型位置的原始对象网格模型的模型贴图坐标信息,将原始对象网格模型展平,得到初始展平网格模型。进而,如图4所示,终端可将初始展平网格模型转换至模型处理平面,得到位于模型处理平面的展平后的平面网格模型401。可以理解,由于原始对象网格模型是根据原始对象网格模型的模型贴图坐标信息进行展平的,因此,展开后的平面网格模型401刚好可以位于模型处理平面中第一象限的0-1空间。
上述实施例中,通过原始对象网格模型的模型贴图坐标信息,可快速、准确地将原始对象网格模型展平,得到初始展平网格模型。进而通过将初始展平网格模型转换至模型处理平面,可以快速、准确地得到位于模型处理平面的展平后的平面网格模型。
在一个实施例中,方法还包括:确定平面网格模型的包围盒;包围盒包括多个包围面;根据多个包围面各自对应的面积,从多个包围面中确定目标包围面,将目标包围面作为平面网格模型的包围盒面片。
具体地,终端可确定平面网格模型的包围盒,平面网格模型的包围盒包括多个包围面。终端可根据平面网格模型的多个包围面各自对应的面积,从平面网格模型的多个包围面中确定出目标包围面,并将确定的目标包围面作为平面网格模型的包围盒面片。
在一个实施例中,终端可从平面网格模型的多个包围面中筛选出面积最大的包围面作为目标包围面,并将筛选的目标包围面作为平面网格模型的包围盒面片。
举例说明,如图5所示,若平面网格模型501的包围盒为四方体包围盒,则平面网格模型501的包围盒包括六个包围面。其中,由于平面网格模型501为展平至模型处理平面的二维模型,因此,该四方体包围盒的六个包围面中有四个包围面的面积为零,有两个包围面重叠。可以理解,重叠的包围面即六个包围面中面积最大的包围面。终端可将四方体包围盒的六个包围面中面积最大的包围面作为平面网格模型501的包围盒面片502。
上述实施例中,通过从平面网格模型的包围盒的多个包围面中,确定目标包围面,并将目标包围面作为平面网格模型的包围盒面片,可以使得包围盒面片与平面网格模型更加匹配,从而进一步提升虚拟对象的渲染效果。
在一个实施例中,根据平面网格模型的包围盒面片生成面片模型,包括:将平面网格模型的包围盒面片上的点吸附至平面网格模型上,得到初始面片模型;其中,初始面片模型的模型贴图坐标信息的取值范围包含平面网格模型的模型贴图坐标信息的取值范围;将初始面片模型赋予贴图属性,得到面片模型。
其中,初始面片模型,是将平面网格模型的包围盒面片上的点吸附至平面网格模型上所得到的、且未赋予贴图属性的面片模型。吸附,是指将包围盒面片上的第一顶点与平面网格模型中相应的第二顶点合并为一个点。第一顶点,即为包围盒面片上的顶点。第二顶点即为平面网格模型中的顶点。与第一顶点相应的第二顶点,是指平面网格模型中与该第一顶点距离最近的第二顶点。可以理解,吸附相当于将两个点合并为一个点的过程。
为便于理解,现结合图5和图8对吸附处理进行示意说明。参见图8,801即为将图5中的包围盒面片502上的第一顶点与平面网格模型501上相应的第二顶点合并后生成的面片模型。现以包围盒面片502上的顶点A进行示意,顶点A在平面网格模型501上距离最接近的顶点即为顶点a,将顶点A合并到顶点a上,即进行吸附处理,则能够形成面片模型801中虚线框示意的边,以此类推,针对包围盒面片502上每个顶点都进行上述吸附处理,就能得到面片模型801。
具体地,终端可将平面网格模型的包围盒面片上的点吸附至平面网格模型上,得到初始面片模型。可以理解,平面网格模型的包围盒面片由多条线段确定得到,终端可将该构成该包围盒面片的多条线段上的、且距离平面网格模型的顶点最近的点吸附至平面网格模型的相应顶点上,得到初始面片模型。进而,终端可将初始面片模型赋予贴图属性,得到面片模型。
在一个实施例中,如图6所示,平面网格模型601的包围盒可包括凸面体包围盒。终端可从平面网格模型601的凸面体包围盒的各个包围面中,确定平面网格模型601的包围盒面片。终端可将平面网格模型601的包围盒面片上的点吸附至平面网格模型上,得到位于模型处理平面的初始面片模型,并将位于模型处理平面的初始面片模型赋予贴图属性,得到位于模型处理平面的面片模型602。其中,图6中各个格子的数字和字母,用于表征平面网格模型601和针对平面网格模型601的面片模型602所在模型处理平面的位置。
在一个实施例中,从图7可知,初始面片模型702的模型贴图坐标信息的取值范围包括平面网格模型701的模型贴图坐标信息的取值范围。需要说明的是,初始面片模型702的位置实际上是位于平面网格模型701处,为了便于比对,将初始面片模型702进行移动至平面网格模型701的旁边。
上述实施例中,通过将平面网格模型的包围盒面片上的点吸附至平面网格模型上,可以得到与平面网格模型更加匹配的初始面片模型,从而进一步提升虚拟对象的渲染效果。通过将初始面片模型赋予贴图属性,可以快速得到面片模型,进而提升面片模型的生成效率。
在一个实施例中,对面片模型进行拓扑重建,得到重建后的网格模型,包括:删除面片模型的内部面;根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到重建后的网格模型。
其中,面片模型的内部面,是面片模型内部的网格。可以理解,删除面片模型的内部面,是指将面片模型中对面片模型的轮廓没有影响的顶点和边删除,只保留影响面片模型轮廓的网格的顶点。可以理解,删除部分顶点和边会导致面片模型内部的网格被删除,因而达到删除面片模型内部面的目的。
具体地,面片模型是一个二维模型,因此,终端可删除面片模型的内部面,并根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到至少一个内部面的重建后的网格模型。
在一个实施例中,如图8所示,终端可删除面片模型801的内部面,并根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到位于模型处理平面的重建后的网格模型802。从图8可知,重建后的网格模型802的面数少于面片模型801的面数。
上述实施例中,通过删除面片模型的内部面,并根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,以在最大限度保留模型细节的同时减少模型的面数,得到重建后的网格模型,进一步节省了后续对虚拟对象进行渲染的渲染资源。
在一个实施例中,将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型,包括:根据原始对象网格模型和平面网格模型之间的位置关系,确定转换矩阵;根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
其中,转换矩阵是用于将重建后的网格模型进行空间转换的矩阵。
具体地,由于原始模型位置也位于模型处理平面之内,因此,终端可根据原始对象网格模型和平面网格模型在模型处理平面内的位置关系,确定转换矩阵。进而,终端可根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
在一个实施例中,终端中部署有模型处理软件,模型处理软件中包括多个节点,各个节点的可对模型进行相应的处理。如图9所示,终端可通过模型处理软件中的转换节点,该转换节点包括平移、旋转和均匀缩放等方法。终端可基于转换节点中的各种方法,根据原始对象网格模型和平面网格模型之间的位置关系,输出转换矩阵。进而,终端可根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
在一个实施例中,如图10所示,根据三维重建网格模型进行渲染得到的虚拟对象1002,相较于根据原始对象网格模型进行渲染得到的虚拟对象1001实际上会存在一定的偏移,但是,这点偏移的误差较小,可以忽略不计。
上述实施例中,通过原始对象网格模型和平面网格模型之间的位置关系,可以准确地确定转换矩阵,进而根据转换矩阵可以更为准确地将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型,降低了模型转换所带来的位置偏差,提升了后续虚拟对象的渲染效果。
在一个实施例中,图像渲染方法还包括:对三维重建网格模型进行减面处理,得到减面网格模型;减面网格模型的面数少于三维重建网格模型的面数;减面网格模型用于渲染出虚拟对象。
其中,减面网格模型是对三维重建网格模型进行减面处理后得到的网格模型。可以理解,三维重建网格模型中包括多个网格,网格是网格模型最基本的组成单位,网格是一种平面几何图形,比如三角形或四边形等,一个网格相当于一个面。减面处理,是指减少网格模型中网格数量的处理。
具体地,为了进一步减少三维重建网格模型的面数,终端可对三维重建网格模型进行减面处理,得到减面网格模型。终端可对减面网格模型进行渲染处理,得到虚拟对象。
在一个实施例中,终端可将三维重建网格模型作为新的原始对象网格模型,重新执行将原始对象网格模型展平后获得平面网格模型及后续步骤,即,重新执行步骤202至208,以继续减少三维重建网格模型的面数,得到减面网格模型。进而,终端可对减面网格模型进行渲染处理,得到虚拟对象。
在一个实施例中,终端可对三维重建网格模型进行直接减面处理,以减少三维重建网格模型的面数,得到减面网格模型。进而,终端可对减面网格模型进行渲染处理,得到虚拟对象。
在一个实施例中,如图11所示,若采用传统直接减面方式对包含9个面的原始对象网格模型1101进行直接减面,可分别得到减面后的包含6个面的网格模型1102、减面后的包含4个面的网格模型1103、减面后的包含2个面的网格模型1103和减面后的包含1个面的网格模型1104。很明显,对原始对象网格模型1101进行直接减面可损失很多的模型细节,若基于减面后的网格模型进行渲染,可导致虚拟对象的渲染效果较差。
在一个实施例中,如图12所示,若采用本申请重建模型减面的方式对包含9个面的原始对象网格模型1201进行模型重建,得到包含6个面的三维重建网格模型1202。若想进一步节省渲染资源,终端可对重建得到的三维重建网格模型1202再进行减面,可分别得到包含4个面的网格模型1203、包含2个面的网格模型1204和包含1个面的网格模型1205。很明显,对原始对象网格模型1201进行重建减面,可最大限度地保留的模型细节,提升虚拟对象的渲染效果。同时,在重建得到的三维重建网格模型1202的基础上再进一步减面,可在最大限度地保留的模型细节的同时,进一步节省渲染资源。
在一个实施例中,如图13所示,采用本申请重建模型减面的方式对包含790个面的原始对象网格模型进行模型重建,可以得到包含141个面的三维重建网格模型。终端根据包含790个面的原始对象网格模型进行渲染,可得到虚拟对象1301。终端根据包含141个面的三维重建网格模型进行渲染,可得到虚拟对象1302。很明显,根据包含较少面数的三维重建网格模型进行渲染得到的虚拟对象1302与包含较多面数的原始对象网格模型进行渲染得到的虚拟对象1301外观相差不大,即,采用本申请的方法可以在减面的同时,可最大限度地保留模型细节,使得渲染出来的虚拟对象更加生动逼真。
在一个实施例中,如图14所示,若采用传统的直接减面的方式对包含21万个面的原始对象网格模型进行直接减面,可以得到包含2万个面的网格模型。终端根据包含21万个面的原始对象网格模型进行渲染,可得到虚拟对象1401。终端根据包含2万个面的直接减面后的网格模型进行渲染,可得到虚拟对象1402。对原始对象网格模型1401进行直接减面会损失很多的模型细节,若基于减面后的网格模型进行渲染,会导致虚拟对象1402的渲染效果较差。然而,若采用本申请重建模型减面的方式对包含21万个面的原始对象网格模型进行模型重建,可以得到包含1.5万个面的三维重建网格模型。终端根据包含1.5万个面的三维重建网格模型进行渲染,可得到虚拟对象1403。很明显,相较于传统直接减面的方式,本申请重建减面的方式可保留更多的模型细节,从而使得根据包含较少面数的三维重建网格模型进行渲染得到的虚拟对象1403与包含较多面数的原始对象网格模型进行渲染得到的虚拟对象1401外观相差不大,使得渲染出来的虚拟对象更加生动逼真。
图15是采用本申请重建模型减面的方式生成的六个层级的三维重建网格模型,即,第一个层级的三维重建网格模型1501、第二个层级的三维重建网格模型1502、第三个层级的三维重建网格模型1503、第四个层级的三维重建网格模型1504、第五个层级的三维重建网格模型1506和第六个层级的三维重建网格模型1506。其中,第一个层级的三维重建网格模型1501的面数最多,第六个层级的三维重建网格模型1506的面数最少。可以理解,终端可根据针对虚拟对象的视点与虚拟对象之间的距离,从六个层级的三维重建网格模型中选择相应的三维重建网格模型渲染出虚拟对象。可以理解,距离较近可保留较多的细节,距离较远可保留较少的细节。
在一个实施例中,如图16所示,采用本申请重建模型减面的方式生成的六个层级的三维重建网格模型,即,第一个层级的三维重建网格模型1601(面数为8053)、第二个层级的三维重建网格模型1602(面数为5599)、第三个层级的三维重建网格模型1603(面数为3175)、第四个层级的三维重建网格模型1604(面数为2283)、第五个层级的三维重建网格模型1606(面数为1650)和第六个层级的三维重建网格模型1606(面数为685)。可以理解,面数越多,可承载的模型细节就越多,终端可根据针对虚拟对象的视点与虚拟对象之间的距离,从六个层级的三维重建网格模型中选择相应的三维重建网格模型渲染出虚拟对象。可以理解,距离较近可保留较多的细节,距离较远可保留较少的细节。
在一个实施例中,若根据三维重建网格模型渲染出来的虚拟对象被裁切了一部分,导致虚拟对象完整度不高,此时,若想虚拟对象可被完整的渲染出来,终端可通过将原始对象网格模型的模型贴图坐标信息进行扩展,并基于扩展的模型贴图坐标信息进行模型重建,可得到新的三维重建网格模型,根据新的三维重建网格模型可渲染出完整的虚拟对象。
上述实施例中,通过对三维重建网格模型进行减面处理,可以直接得到减面网格模型,由于减面网格模型的面数少于三维重建网格模型的面数,因此,可进一步节省针对虚拟对象渲染的渲染资源。
在一个实施例中,图像渲染方法还包括:在针对虚拟对象的视点与虚拟对象之间的距离满足近距离条件的情况下,根据三维重建网格模型渲染出虚拟对象;在针对虚拟对象的视点与虚拟对象之间的距离满足远距离条件的情况下,根据原始对象网格模型对应的插片模型渲染出虚拟对象;插片模型的面数少于三维重建网格模型的面数。
其中,近距离条件,是针对虚拟对象的视点与虚拟对象相隔比较近的距离条件。远距离条件,是针对虚拟对象的视点与虚拟对象相隔比较远的距离条件。原始对象网格模型对应的插片模型,是一种贴图模型,原始对象网格模型对应的插片模型包括原始对象网格模型在多个方位下对应的贴图。
具体地,终端可确定针对虚拟对象的视点与虚拟对象之间的距离,在针对虚拟对象的视点与虚拟对象之间的距离满足近距离条件的情况下,终端可根据三维重建网格模型渲染出虚拟对象。在针对虚拟对象的视点与虚拟对象之间的距离满足远距离条件的情况下,终端可获取原始对象网格模型对应的插片模型,并根据原始对象网格模型对应的插片模型渲染出虚拟对象。
在一个实施例中,终端可确定针对虚拟对象的视点位于虚拟对象的方位,并根据确定的方位,使用插片模型中相应方位的贴图进行渲染处理,得到相应方位对应的虚拟对象。
在一个实施例中,近距离条件,包括针对虚拟对象的视点与虚拟对象之间的距离小于第一预设距离阈值、以及针对虚拟对象的视点与虚拟对象之间的距离位于预设距离范围之内中的至少一种。
在一个实施例中,远距离条件,包括针对虚拟对象的视点与虚拟对象之间的距离大于或等于预设距离阈值、以及针对虚拟对象的视点与虚拟对象之间的距离位于第二预设距离范围之内中的至少一种。其中,第二预设距离范围内的距离值大于第一预设距离范围内的距离值。
在一个实施例中,终端可对三维重建网格模型进行减面处理,得到位于原始模型位置的减面网格模型,减面网格模型的面数少于三维重建网格模型的面数。同时,终端可获取原始对象网格模型对应的插片模型。需要说明的是,插片模型的面数少于减面网格模型的面数。
在一个实施例中,在针对虚拟对象的视点与虚拟对象之间的距离小于或等于5米的情况下,终端可根据三维重建网格模型渲染出虚拟对象。在针对虚拟对象的视点与虚拟对象之间的距离大于5米且小于10米的情况下,终端可根据减面网格模型渲染出虚拟对象。在针对虚拟对象的视点与虚拟对象之间的距离大于或等于15米的情况下,终端可根据插片模型渲染出虚拟对象。
在一个实施例中,如图17所示,在针对虚拟对象的视点与虚拟对象之间的距离满足远距离条件的情况下,终端可根据原始对象网格模型对应的插片模型渲染出虚拟对象(比如,图17中的虚拟树木)。由于插片模型的面数少于三维重建网格模型的面数,因此,通过原始对象网格模型对应的插片模型渲染出虚拟对象,可以进一步节省渲染资源。
上述实施例中,在针对虚拟对象的视点与虚拟对象之间的距离较近的情况下,根据三维重建网格模型渲染出虚拟对象。在针对虚拟对象的视点与虚拟对象之间的距离较远的情况下,直接根据原始对象网格模型对应的插片模型渲染出虚拟对象。这样,通过在不同的距离情况下选择不同的模型对虚拟对象进行渲染,可以在最大限度地保留模型细节的同时,最大限度地节省针对虚拟对象的渲染资源。
在一个实施例中,图像渲染方法还包括插片模型生成步骤;插片模型生成步骤包括:获取原始对象网格模型在多个方位的初始方位面片;将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片;将各个目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型;其中,缩放排列处理后的各个目标方位面片的面片贴图坐标信息相互独立。
其中,初始方位面片,是未进行尺寸匹配的原始对象网格模型在多个方位分别对应的方位面片。可以理解,初始方位面片是将原始对象网格模型在各个方位对应的平面上进行投影得到的结果。目标方位面片,是已进行尺寸匹配的原始对象网格模型在多个方位分别对应的方位面片。可以理解,经过尺寸匹配得到的目标方位面片的尺寸小于初始方位面片的尺寸。面片贴图坐标信息,是目标方位面片的贴图坐标信息。
具体地,原始对象网格模型在不同的方位可对应不同的初始方位面片。终端可获取原始对象网格模型在多个方位的初始方位面片,并将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片。终端可获取各个目标方位面片的面片贴图坐标信息,并将各个目标方位面片的面片贴图坐标信息进行缩放排列处理。进而,终端可根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型。
在一个实施例中,终端可获取针对原始对象网格模型的尺寸信息,并根据针对原始对象网格模型的尺寸信息,将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片。
在一个实施例中,如图18中的(a)所示,终端可在原始对象网格模型中间放置一个球体1801,并在球体1801上均匀第分散面放置点,每一个面放置点代表一个方位。如图18中的(b)所示,终端可在各个面放置点上分别放置原始对象网格模型相应的面,得到原始对象网格模型在多个方位的初始方位面片1802。
在一个实施例中,如图19所示,终端可将初始方位面片1901与原始对象网格模型的包围盒进行尺寸匹配,得到尺寸匹配后的方位面片1902。终端可确定方位面片1902的包围盒,并基于方位面片1902的包围盒生成方位面片1903。进而,终端对方位面片1903进行尺寸缩放,得到目标方位面片1904。
在一个实施例中,终端中部署有模型处理软件,模型处理软件中包括多个节点,各个节点的可对模型进行相应的处理。如图20所示,终端可先通过模型处理软件中的一个尺寸匹配节点,以及利用预设的标准正方形,对初始方位面片进行尺寸缩放,得到初始缩放的方位面片。进而,终端可再通过模型处理软件中的另一个尺寸匹配节点,以及利用标准正方形原来的尺寸信息,对初始缩放的方位面片进行进一步的缩放处理,得到正方形的目标方位面片。可以理解,正方形的目标方位面片可以便于对其面片贴图坐标信息在0-1空间进行排列处理。
在一个实施例中,如图21所示,若虚拟对象为虚拟树木,则虚拟树木可包括树叶和树干。针对虚拟树木的树干,终端可通过两个相交的目标方位面片2101和2102表示。
在一个实施例中,如图22所示,终端可将各个目标方位面片的面片贴图坐标信息在0-1空间进行缩放排列处理,即,将各个目标方位面片的面片贴图坐标信息分别缩放排列至图22中的16个正方形中。进而,如图23所示,终端可根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型。其中,若虚拟对象为虚拟树木,则插片模型包括14个树叶的插片和2个树干的插片。
上述实施例中,通过将原始对象网格模型在多个方位的初始方位面片分别与原始对象网格模型进行尺寸匹配,可以得到多个方位的、且与原始对象网格模型大小匹配的目标方位面片。通过将各个目标方位面片的面片贴图坐标信息进行缩放排列处理,可以使得各个目标方位面片的面片贴图坐标信息相互独立,根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,可以使得生成的插片模型中针对各个方位的贴图不会重叠交叉在一起,提升了插片模型的可用性。
在一个实施例中,将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片,包括:分别将各个初始方位面片与原始对象网格模型的包围盒进行相交处理,得到多个相交方位面片;根据多个相交方位面片确定多个方位的目标方位面片。
其中,相交方位面片,是将初始方位面片与原始对象网格模型的包围盒进行相交处理所截取到的方位面片。
具体地,终端可分别将各个初始方位面片与原始对象网格模型的包围盒进行相交处理,得到多个相交方位面片。进而,终端可根据多个相交方位面片确定多个方位的目标方位面片。
在一个实施例中,终端可直接将多个相交方位面片作为多个方位的目标方位面片。
再参照上图19,终端可将初始方位面片1901与原始对象网格模型的包围盒进行相交,得到相交方位面片1902。终端可确定相交方位面片1902的包围盒,并基于相交方位面片1902的包围盒生成矩形的方位面片1903。进而,终端对矩形的方位面片1903进行尺寸缩放,得到正方形的目标方位面片1904。
在一个实施例中,由于相交方位面片不一定是正方形的,而面片贴图坐标信息所对应的贴图坐标区域是正方形的,因此,为了便于后续的针对面片贴图坐标信息的缩放排列处理,终端可分别将多个相交方位面片变换为正方形的方位面片,并将变换得到的正方形的方位面片作为多个方位的目标方位面片。
上述实施例中,通过分别将各个初始方位面片与原始对象网格模型的包围盒进行相交处理,可以得到多个与原始对象网格模型尺寸较为匹配的相交方位面片,进而根据多个相交方位面片可以确定多个方位的、且与原始对象网格模型尺寸较为匹配的目标方位面片,避免后续渲染出的虚拟对象的尺寸与原始的虚拟对象尺寸不匹配,从而进一步提升虚拟对象的渲染效果。
在一个实施例中,原始对象网格模型对应的插片模型包括目标贴图;根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型,包括:根据原始对象网格模型的原始贴图和缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到第一插片贴图;将目标方位面片的法线进行反转,并根据反转后的方位面片进行贴图烘培,得到第二插片贴图;将第一插片贴图和第二插片贴图进行合并,得到目标贴图。
其中,第一插片贴图,是根据原始对象网格模型的原始贴图和缩放排列处理后的面片贴图坐标信息直接进行贴图烘培所得到的插片贴图。第二插片贴图,是根据反转后的方位面片进行贴图烘培所得到的插片贴图。
具体地,终端可获取原始对象网格模型的原始贴图,并根据原始对象网格模型的原始贴图和缩放排列处理后的面片贴图坐标信息直接进行贴图烘培,得到第一插片贴图。进而,终端可将目标方位面片的法线进行反转,并根据反转后的方位面片再次进行贴图烘培,得到第二插片贴图。如图24所示,终端可将第一插片贴图和第二插片贴图进行合并,得到目标贴图。
上述实施例中,通过根据原始对象网格模型的原始贴图和缩放排列处理后的面片贴图坐标信息进行贴图烘培,可以得到第一插片贴图,将目标方位面片的法线进行反转,并根据反转后的方位面片进行贴图烘培,可以得到第二插片贴图,进而通过将第一插片贴图和第二插片贴图进行合并,可以得到目标贴图,这样可以避免后续渲染出来的虚拟对象的对象元素过于稀疏,进一步提升了虚拟对象渲染效果。
在一个实施例中,虚拟对象包括游戏场景中的虚拟树木;三维重建网格模型包括三维重建树木模型;三维重建树木模型用于在游戏场景中渲染出虚拟树木。
其中,虚拟树木是游戏场景中虚拟的树木。
在一个实施例中,原始对象网格模型包括原始树木网格模型。终端可将位于世界坐标空间中原始模型位置的原始树木网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型,其中,原始树木网格模型是待渲染的虚拟树木原始的三维网格模型。终端可根据平面网格模型的包围盒面片生成面片模型。对面片模型进行拓扑重建,得到位于模型处理平面的重建后的网格模型,其中,重建后的网格模型的面数少于原始树木网格模型的面数。终端可将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建树木模型。终端可根据三维重建树木模型进行渲染处理,得到虚拟树木。
上述实施例中,通过对三维重建树木模型进行渲染,可以得到游戏场景中的虚拟树木,提升了虚拟树木的渲染效果,使得虚拟树木在游戏场景中更为生动逼真。
在一个实施例中,终端中部署有模型处理软件,用户将原始对象网格模型导入至模型处理软件可对原始对象网格模型进行处理。如图25所示,模型处理软件中可包括三种针对原始对象网格模型的操作模式,即烘培最后一个层级、修改细节层次和追加最后一个层级。其中,烘培最后一个层级这一操作模式,可用于生成原始对象网格模型对应的插片模型。修改细节层次这一操作模式,可用于对导入的原始对象网格模型的各个层级进行修改(包括重建模型和UI重建的模型进行减面的处理)。追加最后一个层级这一操作模式,可用于将基于烘培最后一个层级生成得到的插片模型追加至原始对象网格模型的最后一级,或追加至基于修改细节层次生成得到的修改后的模型的最后一级。可以理解,本申请的模型处理软件可同时具备重建模型、减面和生成模型插片的功能,用户在对原始对象网格模型进行相关处理时,可在该模型处理软件中即可完成全部操作,无需在多个软件上频繁切换操作。
如图26所示,在一个实施例中,提供了一种图像渲染方法,应用于图1中的终端102。该方法具体包括以下步骤:
步骤2602,根据位于世界坐标空间中原始模型位置的原始对象网格模型的模型贴图坐标信息,将原始对象网格模型展平,得到初始展平网格模型;原始对象网格模型是待渲染的虚拟对象原始的三维网格模型。
步骤2604,将初始展平网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型。
步骤2606,确定平面网格模型的包围盒;包围盒包括多个包围面。
步骤2608,根据多个包围面各自对应的面积,从多个包围面中确定目标包围面,将目标包围面作为平面网格模型的包围盒面片。
步骤2610,将平面网格模型的包围盒面片上的点吸附至平面网格模型上,得到位于模型处理平面的初始面片模型;其中,初始面片模型的模型贴图坐标信息的取值范围包含平面网格模型的模型贴图坐标信息的取值范围。
步骤2612,将位于模型处理平面的初始面片模型赋予贴图属性,得到位于模型处理平面的面片模型。
步骤2614,删除面片模型的内部面,根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到位于模型处理平面的重建后的网格模型;重建后的网格模型的面数少于原始对象网格模型的面数。
步骤2616,根据原始对象网格模型和平面网格模型之间的位置关系,确定转换矩阵。
步骤2618,根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
步骤2620,对三维重建网格模型进行减面处理,得到位于原始模型位置的减面网格模型;减面网格模型的面数少于三维重建网格模型的面数。
步骤2622,在针对虚拟对象的视点与虚拟对象之间的距离满足近距离条件的情况下,根据减面网格模型渲染出虚拟对象。
步骤2624,在针对虚拟对象的视点与虚拟对象之间的距离满足远距离条件的情况下,获取原始对象网格模型在多个方位的初始方位面片。
步骤2626,将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片。
步骤2628,将各个目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型;其中,缩放排列处理后的各个目标方位面片的面片贴图坐标信息相互独立;插片模型的面数少于减面网格模型的面数。
步骤2630,根据原始对象网格模型对应的插片模型渲染出虚拟对象。
本申请还提供一种应用场景,该应用场景应用上述的图像渲染方法。具体地,该图像渲染方法可应用于游戏中虚拟树木生成的场景。终端可根据位于世界坐标空间中原始模型位置的原始树木网格模型的模型贴图坐标信息,将原始树木网格模型展平,得到初始展平网格模型;原始树木网格模型是待渲染的虚拟树木原始的三维网格模型。将初始展平网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型。
终端可确定平面网格模型的包围盒;包围盒包括多个包围面。根据多个包围面各自对应的面积,从多个包围面中确定目标包围面,将目标包围面作为平面网格模型的包围盒面片。将平面网格模型的包围盒面片上的点吸附至平面网格模型上,得到位于模型处理平面的初始面片模型;其中,初始面片模型的模型贴图坐标信息的取值范围包含平面网格模型的模型贴图坐标信息的取值范围。将位于模型处理平面的初始面片模型赋予贴图属性,得到位于模型处理平面的面片模型。
终端可删除面片模型的内部面。根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到位于模型处理平面的重建后的网格模型;重建后的网格模型的面数少于原始树木网格模型的面数。根据原始树木网格模型和平面网格模型之间的位置关系,确定转换矩阵。根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建树木模型。终端可对三维重建树木模型进行减面处理,得到位于原始模型位置的减面网格模型;减面网格模型的面数少于三维重建树木模型的面数。
在游戏玩家与虚拟树木之间的距离较近的情况下,终端可根据减面网格模型渲染出虚拟树木。在游戏玩家与虚拟树木之间的距离较远的情况下,终端可获取原始树木网格模型在多个方位的初始方位面片。将各个初始方位面片与原始树木网格模型进行尺寸匹配,得到多个方位的目标方位面片。将各个目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始树木网格模型对应的插片模型;其中,缩放排列处理后的各个目标方位面片的面片贴图坐标信息相互独立;插片模型的面数少于减面网格模型的面数。根据原始树木网格模型对应的插片模型渲染出虚拟树木。
本申请的图像渲染方法还可以应用于影视特效、可视化设计、VR(VirtualReality,虚拟现实)、工业仿真和数字文创等场景中。其中,数字文创具体可以包括渲染出来的建筑物或旅游景点等。可以理解,在影视特效、可视化设计、VR、虚拟对象和数字文创等场景中可涉及对虚拟对象的渲染。其中,虚拟对象可包括虚拟人物、虚拟动物、虚拟植物和虚拟物体等中的至少一种。对上述各个场景中虚拟对象的渲染可通过本申请的图像渲染方法实现。比如,在数字文创渲染场景中,可能会涉及到渲染具有文化代表意义的建筑物的情况,比如渲染博物馆或者历史建筑等。通过本申请的图像渲染方法可以提升对建筑物等的渲染效果,得到更为生动逼真的数字文创建筑物。又比如,在工业仿真场景中,可能会涉及到工业生产环境进行仿真渲染,比如,仿真工厂的生产车间、流水线或者生产设备等。通过本申请的图像渲染方法可以提升对工业仿真对象的渲染效果,得到更为准确、更具参考性的工业生产仿真环境。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照顺序依次显示,但是这些步骤并不是必然按照顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图27所示,提供了一种图像渲染装置2700,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
转换模块,用于将原始对象网格模型展平后获得平面网格模型;原始对象网格模型是待渲染的虚拟对象原始的三维网格模型。
生成模块,用于根据平面网格模型的包围盒面片生成面片模型。
重建模块,用于对面片模型进行拓扑重建,得到重建后的网格模型;重建后的网格模型的面数少于原始对象网格模型的面数。
转换模块还用于基于重建后的网格模型,得到三维重建网格模型;三维重建网格模型用于渲染出虚拟对象。
在一个实施例中,转换模块还用于将位于世界坐标空间中原始模型位置的原始对象网格模型转换至世界坐标空间的模型处理平面,得到位于模型处理平面的展平后的平面网格模型;将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
在一个实施例中,转换模块,用于根据位于原始模型位置的原始对象网格模型的模型贴图坐标信息,将原始对象网格模型展平,得到初始展平网格模型;将初始展平网格模型转换至模型处理平面,得到位于模型处理平面的展平后的平面网格模型。
在一个实施例中,生成模块还用于确定平面网格模型的包围盒;包围盒包括多个包围面;根据多个包围面各自对应的面积,从多个包围面中确定目标包围面,将目标包围面作为平面网格模型的包围盒面片。
在一个实施例中,生成模块还用于将平面网格模型的包围盒面片上的点吸附至平面网格模型上,得到初始面片模型;其中,初始面片模型的模型贴图坐标信息的取值范围包含平面网格模型的模型贴图坐标信息的取值范围;将初始面片模型赋予贴图属性,得到面片模型。
在一个实施例中,重建模块还用于删除面片模型的内部面;根据已删除内部面的面片模型上的各个顶点,对已删除内部面的面片模型进行内部面重新划分,得到重建后的网格模型。
在一个实施例中,转换模块还用于根据原始对象网格模型和平面网格模型之间的位置关系,确定转换矩阵;根据转换矩阵将重建后的网格模型转换至原始模型位置,得到位于原始模型位置的三维重建网格模型。
在一个实施例中,装置还包括:
渲染模块,用于对三维重建网格模型进行减面处理,得到减面网格模型;减面网格模型的面数少于三维重建网格模型的面数;减面网格模型用于渲染出虚拟对象。
在一个实施例中,装置还包括:
渲染模块,用于在针对虚拟对象的视点与虚拟对象之间的距离满足近距离条件的情况下,根据三维重建网格模型渲染出虚拟对象;在针对虚拟对象的视点与虚拟对象之间的距离满足远距离条件的情况下,根据原始对象网格模型对应的插片模型渲染出虚拟对象;插片模型的面数少于三维重建网格模型的面数。
在一个实施例中,生成模块还用于获取原始对象网格模型在多个方位的初始方位面片;将各个初始方位面片与原始对象网格模型进行尺寸匹配,得到多个方位的目标方位面片;将各个目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到原始对象网格模型对应的插片模型;其中,缩放排列处理后的各个目标方位面片的面片贴图坐标信息相互独立。
在一个实施例中,生成模块还用于分别将各个初始方位面片与原始对象网格模型的包围盒进行相交处理,得到多个相交方位面片;根据多个相交方位面片确定多个方位的目标方位面片。
在一个实施例中,原始对象网格模型对应的插片模型包括目标贴图;生成模块还用于根据原始对象网格模型的原始贴图和缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到第一插片贴图;将目标方位面片的法线进行反转,并根据反转后的方位面片进行贴图烘培,得到第二插片贴图;将第一插片贴图和第二插片贴图进行合并,得到目标贴图。
在一个实施例中,虚拟对象包括游戏场景中的虚拟树木;三维重建网格模型包括三维重建树木模型;三维重建树木模型用于在游戏场景中渲染出虚拟树木。
上述图像渲染装置,通过将原始对象网格模型展平后获得平面网格模型。根据平面网格模型的包围盒面片可以生成面片模型,其中,该面片模型对应的渲染信息的取值范围包含了原始对象网格模型对应的渲染信息的取值范围。通过对面片模型进行拓扑重建,可以得到重建后的网格模型,通过将重建后的网格模型转换至原始模型位置,可以得到面数少于原始对象网格模型的三维重建网格模型,进而根据三维重建网格模型可渲染出虚拟对象。因为该三维重建网格模型是根据上述面片模型拓扑重建得到的,故,三维重建网格模型对应的渲染信息的取值范围也包含了原始对象网格模型对应的渲染信息的取值范围。这样,由于重建后的网格模型的面数少于原始对象网格模型的面数,且三维重建网格模型的渲染信息相较于原始对象网格模型并没有减少,模型细节在减面过程中得以保留。因此,相较于传统的直接对模型进行减面的方式,本申请的图像渲染方法可以在对模型进行重建减面以节省渲染资源的同时,也可以最大限度地保留模型的细节,从而渲染更为生动逼真的虚拟对象,从而提升了图像渲染效果。
上述图像渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图28所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像渲染方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图28中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (17)
1.一种图像渲染方法,其特征在于,所述方法包括:
将原始对象网格模型展平后获得平面网格模型;所述原始对象网格模型是待渲染的虚拟对象原始的三维网格模型;
根据所述平面网格模型的包围盒面片生成面片模型;
对所述面片模型进行拓扑重建,得到重建后的网格模型;所述重建后的网格模型的面数少于所述原始对象网格模型的面数;
基于所述重建后的网格模型,得到三维重建网格模型;所述三维重建网格模型用于渲染出所述虚拟对象。
2.根据权利要求1所述的方法,其特征在于,所述将原始对象网格模型展平后获得平面网格模型,包括:
将位于世界坐标空间中原始模型位置的原始对象网格模型转换至所述世界坐标空间的模型处理平面,得到位于所述模型处理平面的展平后的平面网格模型;
所述基于所述重建后的网格模型,得到三维重建网格模型,包括:
将所述重建后的网格模型转换至所述原始模型位置,得到位于所述原始模型位置的三维重建网格模型。
3.根据权利要求2所述的方法,其特征在于,所述将位于世界坐标空间中原始模型位置的原始对象网格模型转换至所述世界坐标空间的模型处理平面,得到位于所述模型处理平面的展平后的平面网格模型,包括:
根据位于世界坐标空间中原始模型位置的原始对象网格模型的模型贴图坐标信息,将所述原始对象网格模型展平,得到初始展平网格模型;
将所述初始展平网格模型转换至所述世界坐标空间的模型处理平面,得到位于所述模型处理平面的展平后的平面网格模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述平面网格模型的包围盒;所述包围盒包括多个包围面;
根据所述多个包围面各自对应的面积,从所述多个包围面中确定目标包围面,将所述目标包围面作为所述平面网格模型的包围盒面片。
5.根据权利要求1所述的方法,其特征在于,所述根据所述平面网格模型的包围盒面片生成面片模型,包括:
将所述平面网格模型的包围盒面片上的点吸附至所述平面网格模型上,得到初始面片模型;其中,所述初始面片模型的模型贴图坐标信息的取值范围包含所述平面网格模型的模型贴图坐标信息的取值范围;
将所述初始面片模型赋予贴图属性,得到面片模型。
6.根据权利要求1所述的方法,其特征在于,所述对所述面片模型进行拓扑重建,得到重建后的网格模型,包括:
删除所述面片模型的内部面;
根据已删除内部面的面片模型上的各个顶点,对所述已删除内部面的面片模型进行内部面重新划分,得到重建后的网格模型。
7.根据权利要求2所述的方法,其特征在于,所述将所述重建后的网格模型转换至所述原始模型位置,得到位于所述原始模型位置的三维重建网格模型,包括:
根据所述原始对象网格模型和所述平面网格模型之间的位置关系,确定转换矩阵;
根据所述转换矩阵将所述重建后的网格模型转换至所述原始模型位置,得到位于所述原始模型位置的三维重建网格模型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述三维重建网格模型进行减面处理,得到减面网格模型;所述减面网格模型的面数少于所述三维重建网格模型的面数;所述减面网格模型用于渲染出所述虚拟对象。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在针对所述虚拟对象的视点与所述虚拟对象之间的距离满足近距离条件的情况下,根据所述三维重建网格模型渲染出所述虚拟对象;
在针对所述虚拟对象的视点与所述虚拟对象之间的距离满足远距离条件的情况下,根据所述原始对象网格模型对应的插片模型渲染出所述虚拟对象;所述插片模型的面数少于所述三维重建网格模型的面数。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括插片模型生成步骤;所述插片模型生成步骤包括:
获取所述原始对象网格模型在多个方位的初始方位面片;
将各个所述初始方位面片与所述原始对象网格模型进行尺寸匹配,得到所述多个方位的目标方位面片;
将各个所述目标方位面片的面片贴图坐标信息进行缩放排列处理,并根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到所述原始对象网格模型对应的插片模型;其中,缩放排列处理后的各个所述目标方位面片的面片贴图坐标信息相互独立。
11.根据权利要求10所述的方法,其特征在于,所述将各个所述初始方位面片与所述原始对象网格模型进行尺寸匹配,得到所述多个方位的目标方位面片,包括:
分别将各个所述初始方位面片与所述原始对象网格模型的包围盒进行相交处理,得到多个相交方位面片;
根据所述多个相交方位面片确定所述多个方位的目标方位面片。
12.根据权利要求10所述的方法,其特征在于,所述原始对象网格模型对应的插片模型包括目标贴图;所述根据缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到所述原始对象网格模型对应的插片模型,包括:
根据所述原始对象网格模型的原始贴图和所述缩放排列处理后的面片贴图坐标信息进行贴图烘培,得到第一插片贴图;
将所述目标方位面片的法线进行反转,并根据反转后的方位面片进行贴图烘培,得到第二插片贴图;
将所述第一插片贴图和所述第二插片贴图进行合并,得到目标贴图。
13.根据权利要求1至12任意一项所述的方法,其特征在于,所述虚拟对象包括游戏场景中的虚拟树木;所述三维重建网格模型包括三维重建树木模型;所述三维重建树木模型用于在所述游戏场景中渲染出所述虚拟树木。
14.一种图像渲染装置,其特征在于,所述装置包括:
转换模块,用于将原始对象网格模型展平后获得平面网格模型;所述原始对象网格模型是待渲染的虚拟对象原始的三维网格模型;
生成模块,用于根据所述平面网格模型的包围盒面片生成面片模型;
重建模块,用于对所述面片模型进行拓扑重建,得到重建后的网格模型;所述重建后的网格模型的面数少于所述原始对象网格模型的面数;
所述转换模块还用于基于所述重建后的网格模型,得到三维重建网格模型;所述三维重建网格模型用于渲染出所述虚拟对象。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549234.6A CN117011487A (zh) | 2022-05-20 | 2022-05-20 | 图像渲染方法、装置、设备和介质 |
PCT/CN2023/087215 WO2023221683A1 (zh) | 2022-05-20 | 2023-04-10 | 图像渲染方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210549234.6A CN117011487A (zh) | 2022-05-20 | 2022-05-20 | 图像渲染方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117011487A true CN117011487A (zh) | 2023-11-07 |
Family
ID=88567804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210549234.6A Pending CN117011487A (zh) | 2022-05-20 | 2022-05-20 | 图像渲染方法、装置、设备和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117011487A (zh) |
WO (1) | WO2023221683A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665800B1 (en) * | 2012-10-21 | 2017-05-30 | Google Inc. | Rendering virtual views of three-dimensional (3D) objects |
CN109215106B (zh) * | 2018-08-30 | 2023-01-03 | 东北大学 | 一种基于动态场景的实时光线追踪加速结构的方法 |
DE102019100011B4 (de) * | 2019-01-02 | 2022-10-06 | Gritworld GmbH | Verfahren zur 3D-Rekonstruktion eines Objekts |
CN112509106A (zh) * | 2020-11-17 | 2021-03-16 | 科大讯飞股份有限公司 | 文档图片展平方法、装置以及设备 |
CN113178014B (zh) * | 2021-05-27 | 2023-06-13 | 网易(杭州)网络有限公司 | 场景模型渲染方法、装置、电子设备和存储介质 |
-
2022
- 2022-05-20 CN CN202210549234.6A patent/CN117011487A/zh active Pending
-
2023
- 2023-04-10 WO PCT/CN2023/087215 patent/WO2023221683A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023221683A1 (zh) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104637089B (zh) | 三维模型数据处理方法和装置 | |
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN113628331B (zh) | 一种虚幻引擎中摄影测量模型的数据组织和调度方法 | |
JP7355926B2 (ja) | ライトプローブの生成方法、装置、コンピュータプログラム、及びコンピュータ装置 | |
WO2024067209A1 (zh) | 三维模型的展开方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
CN115984447B (zh) | 图像渲染方法、装置、设备和介质 | |
CN112749244A (zh) | 基于虚幻引擎的数字孪生城市空间坐标系实现方法、装置及存储介质 | |
CN113112581A (zh) | 三维模型的纹理贴图生成方法、装置、设备及存储介质 | |
CN116824092B (zh) | 三维模型生成方法、装置、计算机设备和存储介质 | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
US11995771B2 (en) | Automated weighting generation for three-dimensional models | |
CN115984506A (zh) | 建立模型的方法和相关装置 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
JP2020532022A (ja) | 全視角方向の球体ライトフィールドレンダリング方法 | |
CN115984440B (zh) | 对象渲染方法、装置、计算机设备和存储介质 | |
CN116385622B (zh) | 云图处理方法、装置、计算机及可读存储介质 | |
WO2023173828A1 (zh) | 场景元素处理方法、装置、设备和介质 | |
CN117011487A (zh) | 图像渲染方法、装置、设备和介质 | |
CN116977539A (zh) | 图像处理方法、装置、计算机设备、存储介质和程序产品 | |
US20240212282A1 (en) | Image rendering method and apparatus, device, and medium | |
CN112862981B (zh) | 用于呈现虚拟表示的方法和装置、计算机设备和存储介质 | |
TW202312100A (zh) | 網格生成方法、電子設備及電腦可讀儲存介質 | |
CN110689616B (zh) | 基于三维数字地球的输水渠道参数化建模方法 | |
Maximo et al. | Adaptive multi-chart and multiresolution mesh representation | |
CN115115800A (zh) | 一种bim模型简化方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40097780 Country of ref document: HK |