CN112206535B - 虚拟对象的渲染显示方法、装置、终端及存储介质 - Google Patents
虚拟对象的渲染显示方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN112206535B CN112206535B CN202011220673.XA CN202011220673A CN112206535B CN 112206535 B CN112206535 B CN 112206535B CN 202011220673 A CN202011220673 A CN 202011220673A CN 112206535 B CN112206535 B CN 112206535B
- Authority
- CN
- China
- Prior art keywords
- data
- virtual object
- resource data
- virtual
- bulletin board
- 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 66
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000000694 effects Effects 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000005056 compaction Methods 0.000 claims abstract 4
- 230000009467 reduction Effects 0.000 claims description 15
- 238000009792 diffusion process Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 3
- 238000011946 reduction process Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims 2
- 238000005286 illumination Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 241000196324 Embryophyta Species 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 1
- 235000011613 Pinus brutia Nutrition 0.000 description 1
- 241000018646 Pinus brutia Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 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
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (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是本申请一个实施例提供的终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
本申请实施例提供了一种终端,该终端是具备数据计算、处理和存储能力的电子设备,该终端中运行有目标应用程序。该终端可以是智能手机、平板电脑、PC(PersonalComputer,个人计算机)、可穿戴设备等。可选地,该终端是具备触摸显示屏的移动终端设备,用户能够通过该触摸显示屏实现人机交互。该目标应用程序可以是游戏应用程序,如射击类游戏应用程序。当然,除了射击类游戏应用程序之外,还可以是MOBA(MultiplayerOnline Battle Arena,多人在线战术竞技)类游戏应用程序、多人枪战类生存游戏应用程序、大逃杀生存类游戏应用程序、LBS(Location Based Service,基于位置服务)类游戏应用程序等其他类型的游戏应用程序,本申请实施例对此不作限定。当然,在一些其他示例中,目标应用程序也可以是除游戏应用程序之外的其他应用程序,如社交应用程序、支付应用程序、视频应用程序、音乐应用程序、购物应用程序、新闻应用程序等任何提供有虚拟对象的渲染显示功能的应用程序,本申请实施例对此不作限定。本申请实施例提供的方法,各步骤的执行主体可以是该终端,如运行在该终端中的上述目标应用程序的客户端。
可选地,本申请实施例涉及目标应用程序中的植物。在一些实施例中,如图1所示,植物包括以下几种:
大型植被11:分布密度较低,体积较大有明显体量的植被。
小型植被12:分布密度较低,体积中等或偏小,体量较小的植被。
草类13:分布密度相对较高,贴近地面生长的植被。
本申请实施例主要以植物为大型植被的树木进行说明。下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图2,其示出了本申请一个实施例提供的虚拟对象的渲染显示方法的流程图。在本实施例中,以该方法应用于上文介绍的客户端中来举例说明。该方法可以包括如下几个步骤(201~204):
步骤201,确定虚拟对象在虚拟环境中的第一位置,以及虚拟相机在虚拟环境中的第二位置。
其中,虚拟相机用于模拟用户观察虚拟环境的视角。当需要显示虚拟对象时,确定虚拟对象对应的第一位置和虚拟相机对应的第二位置,能够得到虚拟相机与虚拟对象之间的距离,以及虚拟相机相对于虚拟对象方向。在一些实施例中,虚拟环境与世界坐标系相对静止,第一位置为虚拟对象在世界坐标系中的第一坐标,第二位置为虚拟相机在世界坐标系中的第二坐标,通过第一坐标和第二坐标,能够计算得到虚拟相机与虚拟对象之间的距离,以及虚拟相机相对于虚拟对象方向。
在一些实施例中,虚拟环境是目标应用程序(如游戏应用程序)的客户端在终端上运行时显示(或提供)的场景,该虚拟环境是指营造出的供虚拟对象进行显示的场景,如虚拟森林、虚拟岛屿、虚拟沙漠、虚拟地图等。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境,也可以是2.5维虚拟环境,或者是三维虚拟环境,本申请实施例对此不作限定。
虚拟对象是指虚拟环境中的虚拟元素,如虚拟树木、虚拟建筑、虚拟草垛、虚拟石块、虚拟地形(如虚拟平原、虚拟山坡等等)、虚拟天空等等。可选地,在游戏应用程序中,虚拟对象还可以是指用户帐号在游戏应用程序中控制的游戏角色,游戏角色可以是人物形态、动物形态、卡通形态或者其它形态,本申请实施例对此不作限定。虚拟对象可以三维形式展示,也可以二维形式展示,本申请实施例对此不作限定。可选地,当虚拟对象所处的虚拟环境为三维虚拟环境时,虚拟对象可以是基于三维技术创建的三维立体模型。虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
步骤202,基于第一位置和第二位置之间的距离,获取与距离相匹配的目标资源数据。
其中,目标资源数据是经数据精简处理后的资源数据,数据精简处理用于在不牺牲虚拟对象的显示效果的前提下,减少渲染显示虚拟对象所需的数据量。可选地,不牺牲虚拟对象的显示效果,是指虚拟对象的精细程度对显示效果的变化不明显。当确定第一位置和第二位置之间的距离之后,即可确定该距离对应的目标资源数据。在一些实施例中,不同的距离范围对应有不同的资源数据,资源数据是用于渲染并显示虚拟对象的数据,因而,在确定第一位置和第二位置之间的距离之后,即可确定该距离对应的目标资源数据。
在一些实施例中,本步骤202还包括:从虚拟对象的多组候选的资源数据中,选取与距离相匹配的目标资源数据;其中,多组候选的资源数据,用于提供虚拟对象对应于多个距离范围的显示效果。例如,当该距离较远时,虚拟对象的显示可以较为模糊,则该距离对应的目标资源数据可以较小;又例如,当该距离较近时,虚拟对象的显示需要较为清晰,则该距离对应的目标资源数据较大。
在一些实施例中,多组候选的资源数据包括:
高模资源数据,用于提供虚拟对象对应于第一距离范围的显示效果;
中模资源数据,用于提供虚拟对象对应于第二距离范围的显示效果;
低模资源数据,用于提供虚拟对象对应于第三距离范围的显示效果;
公告板资源数据,用于提供虚拟对象对应于第四距离范围的显示效果;
其中,第一距离范围内的距离小于第二距离范围内的距离,第二距离范围内的距离小于第三距离范围内的距离,且第三距离范围内的距离小于第四距离范围内的距离。目标应用程序预先存储有多组候选的资源数据,当确定第一位置和第二位置之间的距离属于哪个距离范围,即确定目标资源数据为该距离范围对应的资源数据。可选地,高模资源数据中虚拟对象的细节数据多于中模资源数据中虚拟对象的细节数据;中模资源数据中虚拟对象的细节数据多于低模资源数据中虚拟对象的细节数据;低模资源数据中虚拟对象的细节数据多于公告板资源数据中虚拟对象的细节数据。
在一个示例中,第一距离范围为0~10米,第二距离范围为10~30米,第三距离范围为30~100米,第四距离范围为大于100米;若第一位置和第二位置之间的距离为6米,则目标资源数据为高模资源数据,若第一位置和第二位置之间的距离为78米,则目标资源数据为高模资源数据,若第一位置和第二位置之间的距离为200米,则目标资源数据为公告板资源数据。
在一个示例中,如图3所示,虚拟对象为树木,显示效果31为高模资源数据对应的显示效果(即第一距离范围的显示效果),显示效果32为公告板资源数据对应的显示效果(即第四距离范围的显示效果)。显然,显示效果31中的树木比显示效果32的树木更清晰,显示效果更好。
步骤203,基于目标资源数据中的模型数据,在第一位置构建虚拟对象的三维模型。
目标资源数据中包括模型数据,模型数据用于构建虚拟对象的三维模型,虚拟对象的三维模型用于表示虚拟对象的形状,因而通过目标资源数据中的模型数据,可以在第一位置构建虚拟对象的三维模型。
在一些实施例中,模型数据包括几何数据和顶点数据,几何数据用于构建虚拟对象的三维模型,顶点数据用于确定虚拟对象的三维模型的顶点颜色;其中,几何数据是经过面片精简处理后的数据,面片精简处理用于减少三维模型的面片的数量;顶点数据是经过数据通道精简处理后的数据,数据通道精简处理用于减少三维模型的各个顶点包括的颜色通道。在一个示例中,虚拟对象为树木,如图4所示,树木的三维模型41由多个面片42组成。控制每一个树木的三维模型41的面片42的数量小于或等于1500个。可选地,每一个树木的三维模型41的面片42的数量为500~1200个。其中,体积较小的树木对应的面片数量较少,体积较大的树木对应的面片数量较多。在该实现方式中,分别对三维模型的顶点数据和几何数据进行精简,从而降低了渲染虚拟对象所需的成本。
在一些实施例中,三维模型的每一个面片仅包括一个UV坐标通道,也即确定一个面片的一个顶点在显示界面中对应的像素位置,即可确定该面片在显示界面中的位置。
在一些实施例中,如图5所示,虚拟对象为树木,三维模型的叶片部分51和树干52部分是通过重复映射得到的,叶片在每一次重复映射过程中,在距离被映射叶片的x个叶片区域的范围内进行重复映射,x为正数,x可以为1、2、3……
在一些实施例中,如图6所示,虚拟对象为树木,三维模型在制作过程中被标示有法线,三维模型的法线可以分为树叶部分的法线61和树干部分的法线62。其中,树叶部分的法线61在三维模型的制作过程中需要进行软化和球化,从而使得树叶部分显示的光照更柔和自然。可选地,法线可以通过3ds Max(3D Studio Max)软件中的Normal Softener(软化法线)插件进行软化处理。可选地,树干部分的法线62不进行软化处理。
在一些实施例中,顶点颜色包括R(Red,红色)、G(Green,绿色)、B(Blue,蓝色)、A(Alpha)4个通道。其中,R通道用于存储顶点的遮蔽值,遮蔽值用于给被遮挡的面片添加阴影,从而使得到的虚拟对象更真实;A通道存储的数据用于区分树叶部分和树干部分。G通道和B通道不存储数据,减少三维模型的数据量。可选地,如图7所示,在虚拟对象的制作过程中,R通道中的数据用于显示各个面片70的阴影;顶点对应的A通道的值为0时,三维模型的面片为白色,表示该面片为叶片部分71的面片;顶点对应的A通道的值为255时,三维模型的面片为黑色,表示该面片为树干部分72的面片。
步骤204,基于目标资源数据中的贴图数据,对三维模型进行渲染处理,得到并显示虚拟对象。
目标资源数据中还包括贴图数据,用于在三维模型的各个面上生成贴图,即对三维模型进行渲染处理,从而得到并在第一位置显示虚拟对象。其中,贴图用于展示虚拟对象表面的颜色和纹理。
在一些实施例中,贴图数据用于显示虚拟对象的三维模型的各个面片的贴图,贴图数据是经过数据量减小处理后的数据,数据量减小处理用于减小各个贴图的数据量。可选地,单张贴图的数据量小于或等于1kB(Kilobyte,千字节)。
可选地,贴图的RGB通道中存储的数据用于表示虚拟对象的漫反射颜色(Diffuse),贴图的PBR(Physically-Based Rendering,基于物理规律的渲染)通道中存储的数据用于表示虚拟对象的漫反射率(Albedo),如图8所示,贴图的A通道中存储的数据用于表示贴图81的透明度。在一些实施例中,在虚拟对象的制作过程中,可以将纹理相同或相近的贴图放在一起制作,以节省制作时间。如图9所示,虚拟对象是树木,将树叶部分91和树叶部分92放在一起进行贴图制作,将树干部分93和树干部分94放在一起进行贴图制作。
综上,本申请实施例提供的技术方案中,通过确定虚拟对象的第一位置,确定虚拟对象与虚拟相机之间的距离,从而确定该距离对应的目标资源数据,并基于目标资源数据渲染并显示得到的虚拟对象,由于目标资源数据经过数据精简处理,在保证虚拟对象的显示效果的前提下,能够减少渲染显示虚拟对象所需的数据量,从而减少渲染虚拟对象所需的存储和处理资源,降低渲染成本。
在一些实施例中,公告板资源数据,用于提供虚拟对象以公告板(Billboard)的形式进行显示的显示效果,公告板包括一个针对虚拟相机的平面;响应于虚拟相机从第二位置移动到第三位置,控制公告板按照虚拟相机的移动位置进行旋转,得到旋转后的公告板;其中,旋转后的公告板正对第三位置的虚拟相机。也即,公告板平面随着虚拟相机旋转,使得公告板的一个平面一直保持正对虚拟相机,与采用多个平面的公告板,确定虚拟相机的方位后仅显示公告板面对该方位的平面相比,本申请实施例在制作公告板时中仅需制作出一个面,且由于公告板是可旋转的,保证了虚拟相机在任何方位都能得到虚拟对象较好的公告板形式的显示效果,降低了渲染虚拟对象所需的成本。
以虚拟对象为树木为例,将如图10所示的面片110和贴图120结合,能够得到各个虚拟对象分别对应的公告板,其中,面片110的法线经过软化处理。在公告板的制作过程中,公告板的法线数据和贴图数据用于表示虚拟对象的光照情况。对公告板的法线和贴图进行处理,能够使得公告板更好地与虚拟环境中的环境光融合,从而使公告板的受光情况与高模(或中模或低模)保持一致或相近。如图11所示,公告板在来自左方直射光源111、前方直射光源112、右方直射光源113、后方直射光源114的照射下,公告板的受光情况分别为:公告板的左部较亮,公告板的右部较暗;公告板的前方较亮,公告板的后方较暗;公告板的右部较亮,公告板的左部较暗;公告板的后方较亮,公告板的前方较暗。
虚拟对象的目标资源数据为高模资源数据时,虚拟对象表面的光照的变化是通过改变三维模型的法线得到的。由于公告板的法线较少,无法通过改变法线得到与高模相近的光照效果。在一些实施例中,在公告板的制作过程中,在贴图的基础上还原漫反射色,得到公告板最终的光照结果。则,最终光照结果=公告板的漫反射数据×(直接光照数据+环境光照数据),其中,直接光照数据是指直接由光源发出的光照的数据,环境光照数据是指贴图的漫反射数据乘上环境光数据的结果,环境光数据为常数或由sh(sinh,双曲正弦)函数生成。如图12所示,将公告板的漫反射贴图121与公告板的光照图122结合,得到公告板最终的光照结果图123。
在一些实施例中,将公告板的法线进行软化处理,是指将公告板的法线包围的区域由长方体变为梯形,当光纤照射向该公告板的面片之后,该公告板的面片会发生明暗变化,法线的发散程度与法线在垂直方向上的扩散方向影响光照效果。
在一些实施例中,法线发散程度越大,球化程度越明显,公告板的明暗变化越剧烈。可选地,体积较小的虚拟对象的明暗变化程度小于体积较大的虚拟对象的明暗变化程度。在一个示例中,如图13所示,公告板131的面片132的法线的发散程度大于公告板133的面片134的法线的发散程度,公告板133的面片134的法线的发散程度大于公告板135的面片136的法线的发散程度;在受到相同直射光线的情况下,公告板131的明暗变化大于公告板133的明暗变化,公告板133的明暗变化大于公告板135的明暗变化。
在一些实施例中,法线在垂直方向上的扩散方向会影响整个公告板受光方向的变化趋势。在一个示例中,如图14所示,公告板141的面片142的法线在垂直方向上的扩散方向为沿面片142的对角线方向扩散,公告板143的面片144的法线在垂直方向上的扩散方向为向面片144的纵向扩散,公告板145的面片146的法线在垂直方向上的扩散方向为向面片146的横向扩散;在左斜上方45度的光源的照射下,公告板141为左斜上部较亮、右斜下部较暗,公告板143的上部较亮、下部较暗,公告板145的左部较亮、右部较暗。当虚拟对象为树木时,法线在垂直方向上的扩散方向与公告板展示的树木的形态存在关联性。例如,上图中面片142的法线在垂直方向上的扩散方向适合展示树冠接近球形的植物,面片144的法线在垂直方向上的扩散方向适合展示形状较为扁平的树木,面片146的法线在垂直方向上的扩散方向适合展示松树等瘦高的树木。
在一些实施例中,基于目标资源数据中的贴图数据,对三维模型进行渲染处理,得到并显示虚拟对象,包括如下步骤:
1、将贴图数据进行压缩处理,得到压缩后的贴图数据;
2、将三维模型和压缩后的贴图数据输入渲染引擎中进行渲染处理,得到并显示虚拟对象。
在渲染得到虚拟对象之前,先将各个贴图的贴图数据进行压缩处理,使得每一贴图的数据量进一步减小。可选地,各个贴图进行压缩处理后的数据量小于512b(Byte,字节)。基于压缩后的贴图数据进行渲染处理,能够减少渲染所需处理的数据量和处理时间,从而降低了渲染虚拟对象所需的成本。
如图15所示,虚拟对象为树木,虚拟对象的制作方法可以包括如下几个步骤(151~155):
步骤151,制作树木的高模数据。
其中,高模数据中三维模型的面片的数量经过精简。
步骤152,制作树木不同层级的模型。
其中,不同层级的模型的细节的数量不同,虚拟相机与树木之间的距离越近,对应层级的模型的细节的数量越多。
步骤153,制作树木的贴图。
其中,每一贴图的贴图数据为经过精简后的数据,如每一贴图的贴图数据小于1kb。
步骤154,制作受光后的公告板。
步骤155,对树木的公告板的法线进行软化处理。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图16,其示出了本申请一个实施例提供的虚拟对象的渲染显示装置的框图。该装置具有实现上述虚拟对象的渲染显示方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的终端,也可以设置在终端上。该装置1600可以包括:位置确定模块1610、数据获取模块1620、模型构建模块1630和对象显示模块1640。
所述位置确定模块1610,用于确定虚拟对象在虚拟环境中的第一位置,以及虚拟相机在所述虚拟环境中的第二位置,所述虚拟相机用于模拟用户观察所述虚拟环境的视角。
所述数据获取模块1620,用于基于所述第一位置和所述第二位置之间的距离,获取与所述距离相匹配的目标资源数据;其中,所述目标资源数据是经数据精简处理后的资源数据,所述数据精简处理用于在不牺牲所述虚拟对象的显示效果的前提下,减少渲染显示所述虚拟对象所需的数据量。
所述模型构建模块1630,用于基于所述目标资源数据中的模型数据,在所述第一位置构建所述虚拟对象的三维模型。
所述对象显示模块1640,用于基于所述目标资源数据中的贴图数据,对所述三维模型进行渲染处理,得到并显示所述虚拟对象。
综上所述,本申请实施例提供的技术方案中,通过确定虚拟对象的第一位置,确定虚拟对象与虚拟相机之间的距离,从而确定该距离对应的目标资源数据,并基于目标资源数据渲染并显示得到的虚拟对象,由于目标资源数据经过数据精简处理,在保证虚拟对象的显示效果的前提下,能够减少渲染显示虚拟对象所需的数据量,从而减少渲染虚拟对象所需的存储和处理资源,降低渲染成本。
在一些实施例中,所述数据获取模块1620,用于:
从所述虚拟对象的多组候选的资源数据中,选取与所述距离相匹配的目标资源数据;
其中,所述多组候选的资源数据,用于提供所述虚拟对象对应于多个距离范围的显示效果。
在一些实施例中,所述多组候选的资源数据包括:
高模资源数据,用于提供所述虚拟对象对应于第一距离范围的显示效果;
中模资源数据,用于提供所述虚拟对象对应于第二距离范围的显示效果;
低模资源数据,用于提供所述虚拟对象对应于第三距离范围的显示效果;
公告板资源数据,用于提供所述虚拟对象对应于第四距离范围的显示效果;
其中,所述第一距离范围内的距离小于所述第二距离范围内的距离,所述第二距离范围内的距离小于所述第三距离范围内的距离,且所述第三距离范围内的距离小于所述第四距离范围内的距离。
在一些实施例中,所述公告板资源数据,用于提供所述虚拟对象以公告板的形式进行显示的显示效果,所述公告板包括一个正对所述虚拟相机的平面;如图17所示,装置1600还包括:旋转控制模块1650。
所述旋转控制模块1650,用于响应于所述虚拟相机从所述第二位置移动到第三位置,控制所述公告板按照所述虚拟相机的移动位置进行旋转,得到旋转后的公告板;其中,所述旋转后的公告板正对所述第三位置的所述虚拟相机。
在一些实施例中,所述模型数据包括几何数据和顶点数据,所述几何数据用于构建所述虚拟对象的三维模型,所述顶点数据用于确定所述虚拟对象的三维模型的顶点颜色;其中,
所述几何数据是经过面片精简处理后的数据,所述面片精简处理用于减少所述三维模型的面片的数量;
所述顶点数据是经过数据通道精简处理后的数据,所述数据通道精简处理用于减少所述三维模型的各个顶点包括的颜色通道。
在一些实施例中,所述贴图数据用于显示所述虚拟对象的三维模型的各个面片的贴图,所述贴图数据是经过数据量减小处理后的数据,所述数据量减小处理用于减小各个贴图的数据量。
在一些实施例中,所述对象显示模块1640,用于:
将所述贴图数据进行压缩处理,得到压缩后的贴图数据;
将所述三维模型和所述压缩后的贴图数据输入渲染引擎中进行渲染处理,得到并显示所述虚拟对象。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图18,其示出了本申请一个实施例提供的终端1800的结构框图。该终端1800可以是诸如手机、平板电脑、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备、PC等电子设备。该终端用于实施上述实施例中提供的虚拟对象的渲染显示方法。具体来讲:
通常,终端1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一条指令、至少一段程序、代码集或指令集,且经配置以由一个或者一个以上处理器执行,以实现上述虚拟对象的渲染显示方法。
在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、显示屏1805、摄像头组件1806、音频电路1807、定位组件1808和电源1809中的至少一种。
本领域技术人员可以理解,图18中示出的结构并不构成对终端1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集在被处理器执行时以实现上述虚拟对象的渲染显示方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟对象的渲染显示方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种虚拟对象的渲染显示方法,其特征在于,所述方法包括:
确定虚拟对象在虚拟环境中的第一位置,以及虚拟相机在所述虚拟环境中的第二位置,所述虚拟相机用于模拟用户观察所述虚拟环境的视角,所述虚拟对象为树木;
基于所述第一位置和所述第二位置之间的距离,获取与所述距离相匹配的目标资源数据;其中,所述目标资源数据是经数据精简处理后的资源数据,所述数据精简处理用于在不牺牲所述虚拟对象的显示效果的前提下,减少渲染显示所述虚拟对象所需的数据量;在所述第一位置和所述第二位置之间的距离属于第四距离范围的情况下,所述目标资源数据为公告板资源数据,所述公告板资源数据用于提供所述虚拟对象以公告板的形式进行显示的显示效果,所述公告板包括一个正对所述虚拟相机的平面;其中,所述公告板在制作过程中被标示有法线,所述公告板的法线的扩散方向是根据所述树木的树冠形态确定的;
基于所述目标资源数据中的模型数据,在所述第一位置构建所述虚拟对象的三维模型;
基于所述目标资源数据中的贴图数据,对所述三维模型进行渲染处理,得到并显示所述虚拟对象;
在所述目标资源数据为所述公告板资源数据的情况下,响应于所述虚拟相机从所述第二位置移动到第三位置,控制所述公告板按照所述虚拟相机的移动位置进行旋转,得到旋转后的公告板;其中,所述旋转后的公告板正对所述第三位置的所述虚拟相机。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一位置和所述第二位置之间的距离,获取与所述距离相匹配的目标资源数据,包括:
从所述虚拟对象的多组候选的资源数据中,选取与所述距离相匹配的目标资源数据;
其中,所述多组候选的资源数据,用于提供所述虚拟对象对应于多个距离范围的显示效果。
3.根据权利要求2所述的方法,其特征在于,所述多组候选的资源数据包括:
高模资源数据,用于提供所述虚拟对象对应于第一距离范围的显示效果;
中模资源数据,用于提供所述虚拟对象对应于第二距离范围的显示效果;
低模资源数据,用于提供所述虚拟对象对应于第三距离范围的显示效果;
所述公告板资源数据,用于提供所述虚拟对象对应于所述第四距离范围的显示效果;
其中,所述第一距离范围内的距离小于所述第二距离范围内的距离,所述第二距离范围内的距离小于所述第三距离范围内的距离,且所述第三距离范围内的距离小于所述第四距离范围内的距离。
4.根据权利要求1所述的方法,其特征在于,所述模型数据包括几何数据和顶点数据,所述几何数据用于构建所述虚拟对象的三维模型,所述顶点数据用于确定所述虚拟对象的三维模型的顶点颜色;其中,
所述几何数据是经过面片精简处理后的数据,所述面片精简处理用于减少所述三维模型的面片的数量;
所述顶点数据是经过数据通道精简处理后的数据,所述数据通道精简处理用于减少所述三维模型的各个顶点包括的颜色通道。
5.根据权利要求1所述的方法,其特征在于,所述贴图数据用于显示所述虚拟对象的三维模型的各个面片的贴图,所述贴图数据是经过数据量减小处理后的数据,所述数据量减小处理用于减小各个贴图的数据量。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述目标资源数据中的贴图数据,对所述三维模型进行渲染处理,得到并显示所述虚拟对象,包括:
将所述贴图数据进行压缩处理,得到压缩后的贴图数据;
将所述三维模型和所述压缩后的贴图数据输入渲染引擎中进行渲染处理,得到并显示所述虚拟对象。
7.一种虚拟对象的渲染显示装置,其特征在于,所述装置包括:
位置确定模块,用于确定虚拟对象在虚拟环境中的第一位置,以及虚拟相机在所述虚拟环境中的第二位置,所述虚拟相机用于模拟用户观察所述虚拟环境的视角,所述虚拟对象为树木;
数据获取模块,用于基于所述第一位置和所述第二位置之间的距离,获取与所述距离相匹配的目标资源数据;其中,所述目标资源数据是经数据精简处理后的资源数据,所述数据精简处理用于在不牺牲所述虚拟对象的显示效果的前提下,减少渲染显示所述虚拟对象所需的数据量;在所述第一位置和所述第二位置之间的距离属于第四距离范围的情况下,所述目标资源数据为公告板资源数据,所述公告板资源数据用于提供所述虚拟对象以公告板的形式进行显示的显示效果,所述公告板包括一个正对所述虚拟相机的平面;其中,所述公告板在制作过程中被标示有法线,所述公告板的法线的扩散方向是根据所述树木的树冠形态确定的;
模型构建模块,用于基于所述目标资源数据中的模型数据,在所述第一位置构建所述虚拟对象的三维模型;
对象显示模块,用于基于所述目标资源数据中的贴图数据,对所述三维模型进行渲染处理,得到并显示所述虚拟对象;
旋转控制模块,用于在所述目标资源数据为所述公告板资源数据的情况下,响应于所述虚拟相机从所述第二位置移动到第三位置,控制所述公告板按照所述虚拟相机的移动位置进行旋转,得到旋转后的公告板;其中,所述旋转后的公告板正对所述第三位置的所述虚拟相机。
8.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述权利要求1至6任一项所述的虚拟对象的渲染显示方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述权利要求1至6任一项所述的虚拟对象的渲染显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011220673.XA CN112206535B (zh) | 2020-11-05 | 2020-11-05 | 虚拟对象的渲染显示方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011220673.XA CN112206535B (zh) | 2020-11-05 | 2020-11-05 | 虚拟对象的渲染显示方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112206535A CN112206535A (zh) | 2021-01-12 |
CN112206535B true CN112206535B (zh) | 2022-07-26 |
Family
ID=74058303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011220673.XA Active CN112206535B (zh) | 2020-11-05 | 2020-11-05 | 虚拟对象的渲染显示方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112206535B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906241B (zh) * | 2021-03-17 | 2023-07-04 | 青岛慧拓智能机器有限公司 | 矿区自动驾驶仿真模型构建方法、装置、介质及电子设备 |
CN113592997B (zh) * | 2021-07-30 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 基于虚拟场景的物体绘制方法、装置、设备及存储介质 |
CN113706683B (zh) * | 2021-08-06 | 2023-09-26 | 网易(杭州)网络有限公司 | 虚拟三维模型的阴影处理方法、阴影处理装置及电子装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930591A (zh) * | 2012-11-09 | 2013-02-13 | 沈阳创达技术交易市场有限公司 | 地表植物的快速渲染 |
CN103646413A (zh) * | 2013-10-30 | 2014-03-19 | 北京邮电大学 | 基于osg引擎的树木快速渲染技术 |
CN106296779B (zh) * | 2015-05-19 | 2019-04-23 | 深圳市腾讯计算机系统有限公司 | 一种三维模型渲染显示方法及系统 |
TWI755616B (zh) * | 2017-04-21 | 2022-02-21 | 美商時美媒體公司 | 用於編碼器導引自適應性品質演現的系統及方法 |
CN110288688B (zh) * | 2019-06-20 | 2023-07-14 | 网易(杭州)网络有限公司 | 虚拟植被的渲染方法、装置、存储介质与电子设备 |
CN111105491B (zh) * | 2019-11-25 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
-
2020
- 2020-11-05 CN CN202011220673.XA patent/CN112206535B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112206535A (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112206535B (zh) | 虚拟对象的渲染显示方法、装置、终端及存储介质 | |
CN112215934B (zh) | 游戏模型的渲染方法、装置、存储介质及电子装置 | |
CN108564646A (zh) | 对象的渲染方法和装置、存储介质、电子装置 | |
ES2660434T3 (es) | Sistema y procedimiento para proporcionar una canalización de gráficos mejorada | |
Kuang et al. | The research of virtual reality scene modeling based on unity 3D | |
CN114419240B (zh) | 光照渲染方法、装置、计算机设备和存储介质 | |
CN110874812A (zh) | 游戏中的场景图像绘制方法、装置及电子终端 | |
CN108043027B (zh) | 存储介质、电子装置、游戏画面的显示方法和装置 | |
CN104091363A (zh) | 一种基于屏幕空间实时的体积云计算方法 | |
CN113409465B (zh) | 毛发模型的生成方法、装置、存储介质与电子设备 | |
CN116385619B (zh) | 对象模型渲染方法、装置、计算机设备和存储介质 | |
CN112132936A (zh) | 画面渲染方法、装置、计算机设备及存储介质 | |
CN115082607B (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN115375822A (zh) | 云模型的渲染方法、装置、存储介质及电子装置 | |
CN115526976A (zh) | 虚拟场景渲染方法、装置、存储介质和电子设备 | |
CN118397160A (zh) | 一种用于油田站场逆向建站系统的自主化三维渲染引擎 | |
CN108230430A (zh) | 云层遮罩图的处理方法及装置 | |
CN113240787A (zh) | 阴影渲染方法、装置及电子设备 | |
US20230326129A1 (en) | Method and apparatus for storing visibility data of three-dimensional model, device, and storage medium | |
WO2024037116A9 (zh) | 三维模型的渲染方法、装置、电子设备及存储介质 | |
CN105023289A (zh) | 图形图像三维处理平台 | |
CN111882637A (zh) | 一种画面渲染方法、装置、设备和介质 | |
CN115761105A (zh) | 光照渲染方法、装置、电子设备及存储介质 | |
CN115063330A (zh) | 头发渲染方法、装置、电子设备及存储介质 | |
CN111462343B (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 |