CN111632376B - 一种虚拟模型的显示方法、装置、电子设备及存储介质 - Google Patents

一种虚拟模型的显示方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111632376B
CN111632376B CN202010478734.6A CN202010478734A CN111632376B CN 111632376 B CN111632376 B CN 111632376B CN 202010478734 A CN202010478734 A CN 202010478734A CN 111632376 B CN111632376 B CN 111632376B
Authority
CN
China
Prior art keywords
model
target
grid
target sub
virtual model
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
Application number
CN202010478734.6A
Other languages
English (en)
Other versions
CN111632376A (zh
Inventor
马克思米兰·罗兹勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010478734.6A priority Critical patent/CN111632376B/zh
Publication of CN111632376A publication Critical patent/CN111632376A/zh
Application granted granted Critical
Publication of CN111632376B publication Critical patent/CN111632376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

本申请涉及一种虚拟模型的显示方法、装置、电子设备及存储介质。本申请根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,由于得到的简化模型与虚拟模型在形状和体积上会有差别,可以基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并对得到的目标模型进行显示,这样,不但可以对虚拟模型进行简化,同时还可以保证显示质量。

Description

一种虚拟模型的显示方法、装置、电子设备及存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种虚拟模型的显示方法、装置、电子设备及存储介质。
背景技术
在游戏世界里虚拟模型是非常重要的组成部分,所以,逼真的虚拟模型绘制效果在游戏场景模拟中也起着非常重要的作用,其中,虚拟模型可以为虚拟模型、物品模型、人物模型。绘制的初始3D虚拟模型中包含大量的细节信息,而这种高度细节化的3D虚拟模型不适合实时渲染,会给美术制作和实时渲染流程带来许多技术问题。
为了有效地实时渲染各种各样的虚拟模型,必须简化3D虚拟模型,但如何适当简化虚拟模型,同时尽量保持其绘制和显示质量,是目前亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例至少提供一种虚拟模型的显示方法、装置、电子设备及存储介质,在对虚拟模型进行简化的同时,还可以保证显示质量。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种虚拟模型的显示方法,所述显示方法包括:
根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示所述目标模型。
在一种可能的实施方式中,所述基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型,包括:
针对所述简化模型中的第一目标子网格,确定出所述虚拟模型中与所述第一目标子网格位置相同的第二目标子网格;
基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿;
对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型。
在一种可能的实施方式中,所述对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型,包括:
对所述简化模型中的每个所述第一目标子网格的表面积进行补偿,得到目标模型。
在一种可能的实施方式中,针对所述简化模型中的第一目标子网格,确定出所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格,包括:
计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;
从所述虚拟模型中的第二目标子网格中,确定表面法线与所述虚拟模型的中心点之间的第二距离满足预设条件的第二目标子网格,并将满足所述预设条件的第二目标子网格作为所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;
其中,所述预设条件为所述第二距离与所述第一距离之间的绝对差值小于或等于预设阈值。
在一种可能的实施方式中,根据以下步骤确定所述简化模型的中心点:
统计所述简化模型中第一目标子网格的数量;
根据所述简化模型中各个第一目标子网格的中心点的平面坐标和所述数量,确定所述简化模型的中心点的平面坐标,以及根据所述简化模型中各个第一目标子网格的表面法线和所述数量,确定所述简化模型的中心点的表面法线;
根据所述简化模型的中心点的平面坐标和表面法线,确定所述简化模型的中心点。
在一种可能的实施方式中,所述基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿,包括:
计算所述第二目标子网格的表面积与所述第一目标子网格的表面积之间的比值,并根据所述比值,确定第一调整因子;
基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置调整所述第一目标子网格对应的顶点的位置,以对所述第一目标子网格的表面积进行补偿。
在一种可能的实施方式中,所述基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量;
将所述第一向量与所述第一调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,所述基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量,以及所述第一目标子网格的中心点与所述简化模型的中心点之间的第三距离;
根据所述第三距离,确定第二调整因子;
将所述第一向量与所述第一调整因子、所述第二调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,所述显示方法还包括根据以下步骤确定所述虚拟模型当前的位置:
获取所述虚拟模型与所述虚拟摄像机之间的目标距离;
根据所述目标距离,确定所述虚拟模型当前的位置。
在一种可能的实施方式中,所述显示方法还包括根据以下步骤创建所述虚拟模型:
创建模型主干对应的3D路径曲线,并沿所述3D路径曲线插入轮廓线,生成3D轮廓模型;
使用预设的纹理,在所述3D轮廓模型中的每个像素上创建网格表面,生成所述虚拟模型。
在一种可能的实施方式中,所述根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型,包括:
从所述虚拟模型中的多个顶点中,确定表征所述目标模型的特征的目标顶点;
从所述虚拟模型中的多个顶点中,删除除所述目标顶点之外的其他顶点;
根据所述目标顶点,以及所述目标顶点对应的子网格,得到与所述目标距离匹配的层级对应的简化模型。
在一种可能的实施方式中,所述目标模型的特征包括以下特征中的至少一种:
轮廓特征、纹理特征、光线特征。
第二方面,本申请实施例还提供一种虚拟模型的显示装置,所述显示装置包括:
第一生成模块,用于根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
第二生成模块,用于基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示模块,用于显示所述目标模型。
在一种可能的实施方式中,所述第二生成模块包括:
第一确定单元,用于针对所述简化模型中的第一目标子网格,确定出所述虚拟模型中与所述第一目标子网格位置相同的第二目标子网格;
补偿单元,用于基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿;
第一生成单元,用于对所述简化模型中的所述第一目标子网格的表面积进行补偿后,得到目标模型。
在一种可能的实施方式中,所述第一生成单元还用于根据以下步骤对所述简化模型每个所述第一目标子网格的表面积进行补偿,得到目标模型。
在一种可能的实施方式中,所述第一确定单元,用于根据以下步骤确定出第二目标子网格:
计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;
从所述虚拟模型中的第二目标子网格中,确定表面法线与所述虚拟模型的中心点之间的第二距离满足预设条件的第二目标子网格,并将满足所述预设条件的第二目标子网格作为所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;
其中,所述预设条件为所述第二距离与所述第一距离之间的绝对差值小于或等于预设阈值。
在一种可能的实施方式中,所述第一确定单元,还用于根据以下步骤确定所述简化模型的中心点:
统计所述简化模型中第一目标子网格的数量;
根据所述简化模型中各个第一目标子网格的中心点的平面坐标和所述数量,确定所述简化模型的中心点的平面坐标,以及根据所述简化模型中各个第一目标子网格的表面法线和所述数量,确定所述简化模型的中心点的表面法线;
根据所述简化模型的中心点的平面坐标和表面法线,确定所述简化模型的中心点。
在一种可能的实施方式中,所述补偿单元包括:
计算子单元,用于计算所述第二目标子网格的表面积与所述第一目标子网格的表面积之间的比值,并根据所述比值,确定第一调整因子;
调整子单元,用于基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置调整所述第一目标子网格对应的顶点的位置,以对所述第一目标子网格的表面积进行补偿。
在一种可能的实施方式中,所述调整子单元,用于根据以下步骤调整所述第一目标子网格对应的顶点的位置:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量;
将所述第一向量与所述第一调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,所述调整子单元,还用于根据以下步骤调整所述第一目标子网格对应的顶点的位置:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量,以及所述第一目标子网格的中心点与所述简化模型的中心点之间的第三距离;
根据所述第三距离,确定第二调整因子;
将所述第一向量与所述第一调整因子、所述第二调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,所述显示装置还包括确定模块;所述确定模块,用于根据以下步骤确定所述虚拟模型当前的位置:
获取所述虚拟模型与所述虚拟摄像机之间的目标距离;
根据所述目标距离,确定所述虚拟模型当前的位置。
在一种可能的实施方式中,所述显示装置还包括创建模块;所述创建模块,用于根据以下步骤创建所述虚拟模型:
创建模型主干对应的3D路径曲线,并沿所述3D路径曲线插入轮廓线,生成3D轮廓模型;
使用预设的纹理,在所述3D轮廓模型中的每个像素上创建网格表面,生成所述虚拟模型。
在一种可能的实施方式中,所述第一生成模块包括:
第二确定单元,用于从所述虚拟模型中的多个顶点中,确定表征所述目标模型的特征的目标顶点;
删除单元,用于从所述虚拟模型中的多个顶点中,删除除所述目标顶点之外的其他顶点;
第二生成单元,用于根据所述目标顶点,以及所述目标顶点对应的子网格,得到与所述目标距离匹配的层级对应的简化模型。
在一种可能的实施方式中,所述目标模型的特征包括以下特征中的至少一种:
轮廓特征、纹理特征、光线特征。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的虚拟模型的显示方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的虚拟模型的显示方法的步骤。
本申请实施例提供的虚拟模型的显示方法、装置、电子设备及存储介质,根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,可以在对虚拟模型进行精简的同时,并基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并将得到的目标模型进行显示,与现有技术中利用减少算法对虚拟模型进行简化,但简化后的简化模型的整体轮廓和密度会大幅度发生变化,即,简化模型与虚拟模型之间的体积差别非常明显相比,本申请通过对简化模型的体积进行补偿,进而,对补偿后得到的目标模型进行显示,这样,可以使最终显示的目标模型与虚拟模型的体积无明显差别,可以在实现适当地对虚拟模型进行简化的同时,还可以保证显示质量。
进一步,本申请实施例提供的虚拟模型的显示方法,通过将简化模型的第一目标子网格与虚拟模型中的第二目标子网格进行比较,并对简化模型中的第一目标子网格的表面积进行补偿,可以实现对简化模型的体积进行补偿,进而,得到目标模型,可以实现在对虚拟模型进行简化的同时,保证显示质量。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种虚拟模型的显示方法的流程图;
图2示出了本申请实施例所提供的另一种虚拟模型的显示方法的流程图;
图3示出了本申请实施例所提供的一种虚拟模型的显示装置的功能模块图之一;
图4示出了图3中的第二生成模块的功能模块图;
图5示出了图4中的补偿单元的功能模块图;
图6示出了本申请实施例所提供的一种虚拟模型的显示装置的功能模块图之二;
图7示出了图3中的第一生成模块的功能模块图;
图8示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加任一个或多个其他操作,也可以从流程图中移除任一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“虚拟模型的显示”,给出以下实施方式,对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
本申请实施例下述方法、装置、电子设备或计算机可读存储介质可以应用于任何需要进行虚拟模型的显示的场景,本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的虚拟模型的显示方法、装置、电子设备及存储介质的方案均在本申请保护范围内。
值得注意的是,在本申请提出之前,通常,利用减少算法对虚拟模型进行简化,但简化后的简化模型的整体轮廓和模型密度会大幅度发生变化,即,简化模型与虚拟模型之间的体积差别非常明显,只能实现对虚拟模型的简化,但绘制和显示质量不高。
针对上述问题,本申请实施例根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,由于得到的简化模型与虚拟模型在形状和体积上会有差别,可以基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并对得到的目标模型进行显示,这样,不但可以对虚拟模型进行简化,同时还可以保证显示质量。
为便于对本申请进行理解,下面结合具体实施例对本申请提供的技术方案进行详细说明。
图1为本申请实施例所提供的一种虚拟模型的显示方法的流程图。如图1所示,本申请实施例提供的虚拟模型的显示方法,包括以下步骤:
S101:根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型。
在具体实施中,在确定出游戏场景画面中的虚拟模型当前的位置后,可以对虚拟模型进行细节层次处理,进而,可以得到与当前位置相匹配的层级对应的简化模型,即,得到适当细节显示的简化模型,这里,当前位置与虚拟摄像机越近,要求最终显示的目标模型细节越丰富,即需要显示的目标模型的细节越多;当前位置与虚拟摄像机越远,说明最终显示的目标模型细节要求不高,即需要显示的目标模型的细节不多。通过选择相应的细节进行显示,可以避免因绘制那些意义相对不大的细节而造成的时间浪费,同时可以有效地协调画面连续性与模型分辨率的关系,而且,通过对虚拟模型进行简化,得到的简化模型可以实现实时渲染,可以便于进行美术制作流程。
这里,虚拟模型可以为游戏场景中的虚拟模型、物品模型、人物模型等,虚拟模型为预先绘制好的包含大量模型细节信息的模型,可以理解为是3维物体表面的数学表现,其中,虚拟模型可以为森林植被模型、草甸植被模型、树木模型等。
需要说明的是,细节层次(Level of Detail,LOD)技术,是一种通过将远距离的3D模型替换为简化版本模型来降低3D模型复杂性的技术,主体思想是当物体覆盖屏幕较小区域时,可以使用该物体描述较粗的模型,而且LOD技术给出了任一用于可见面判定算法的几何层次模型,以便对复杂场景进行快速绘制,对于虚拟现实中场景的生成对实时性要求很高的场景,LOD技术是一种有效的图形生成加速方法。
进一步地,对如何确定游戏场景画面中虚拟模型当前的位置进行阐述,具体地,根据以下步骤确定所述虚拟模型当前的位置:
获取所述虚拟模型与所述虚拟摄像机之间的目标距离;根据所述目标距离,确定所述虚拟模型当前的位置。
在具体实施中,先获取游戏场景画面中虚拟模型与虚拟摄像机之间的目标距离,目标距离可以表征出虚拟模型与虚拟摄像机的视角之间距离的远近,进而,通过目标距离,可以确定虚拟模型在游戏场景画面中的当前位置,进而,根据虚拟模型当前的位置,来确定对虚拟物模型显示细节的要求,以对虚拟模型进行处理,得到最终适合在游戏场景画面中进行显示的与虚拟模型对应的目标模型。其中,目标距离是游戏画面设计者设定的,这样,通过目标距离可以知晓虚拟模型在游戏场景中显示的是远景还是近景,不同距离下,对虚拟模型进行层次处理的程度不同,得到的简化模型的简化程度不同。
需要说明的是,在游戏世界的场景模拟中,需要对3D虚拟模型进行显示,来达到游戏场景的显示效果,在对虚拟模型进行显示时,根据虚拟模型与虚拟摄像机之间的目标距离,来确定最终显示的目标模型的细节程度,具体地,当虚拟摄像机距离虚拟模型较近时,要求进行显示的目标模型的细节要丰富一些;当虚拟摄像机距离虚拟模型较远时,可以适当放宽对目标模型的细节显示的要求。
对于本申请,根据虚拟模型与虚拟摄像机之间的目标距离,来确定对目标模型显示细节的要求,进而,通过LOD技术对虚拟模型进行细节层次处理,得到与目标距离匹配的层级对应的简化模型,进而,通过简化模型,得到最终显示在游戏场景画面中的目标模型。
S102:基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型。
在具体实施中,在根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到与虚拟模型当前的位置匹配的层级对应的简化模型后,由于简化模型的整体轮廓和模型密度相比虚拟模型会发生变化,即,简化模型与虚拟模型之间的体积和形状会有所差别,因此,需要将简化模型和虚拟模型进行比较,并根据比较结果,对简化模型的体积进行补偿,得到目标模型,这样,可以使最终显示的目标模型与虚拟模型的体积无明显差别,可以在实现适当地对虚拟模型进行简化的同时,还可以保持其绘制和显示质量。
需要说明的是,通常,通过LOD技术对虚拟模型处理得到的简化模型,由于没有将虚拟模型的整体体积和形状进行考虑,对于已经是由许多简单子网格组成的实时优化虚拟模型,通过LOD技术在删除掉虚拟模型中的不重要的顶点后,会影响整体轮廓和模型密度,导致简化模型与虚拟模型之间的体积差别非常明显,也会使得各级简化模型之间的差别也非常明显,各级简化模型之间的过渡也很不自然。本申请针对简化模型存在的问题,通过对简化模型的体积进行补偿,得到目标模型,可以尽可能保留虚拟模型的轮廓和体积,可以实现在对虚拟模型进行简化的同时,保持其绘制和显示质量,进而可以获得更好的视觉体验。
进一步地,下面对通过虚拟模型对简化模型的体积进行补偿,得到目标模型的实施过程进行阐述,其实现原理为通过将简化模型的第一目标子网格与虚拟模型中的第二目标子网格进行比较,并对简化模型中的第一目标子网格的表面积进行补偿,可以实现对简化模型的体积进行补偿,这里,简化模型的表面积和简化模型的体积之间成正相关关系,可以通过对简化模型的表面积进行补偿,来实现对简化模型的体积的补偿,进而,得到目标模型,也即,步骤S102中基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型,包括以下步骤:
步骤a:针对所述简化模型中的第一目标子网格,确定出所述虚拟模型中与所述第一目标子网格位置相同的第二目标子网格。
在具体实施中,可以通过对简化模型中的各个第一目标子网格进行调整,来实现对简化模型的体积进行补偿,具体地,针对简化模型中的每个第一目标子网格,确定出虚拟模型中与该第一目标子网格位置相同的第二目标子网格,采用同样的方式,确定出简化模型中的各个第一目标子网格对应的虚拟模型中的第二目标子网格。
其中,简化模型的表面覆盖有多个第一目标子网格,虚拟模型的表面上覆盖有多个第二目标子网格,每个子网格为多边形结构,每个子网格包括多个顶点。
需要说明的是,本申请只针对简化模型中的第一目标子网格进行调整,不增加新的子网格,即,在不引入新顶点的情况下补偿轮廓和模型密度的损失,具体地,将简化模型中的各个第一目标子网格与虚拟模型中对应的第二目标子网格进行比较,并对简化模型中的各个第一目标子网格进行调整,这样,可以避免明显的偏差,即,可以避免补偿后的简化模型与虚拟模型之间的形体差异。
进一步地,下面对确定与第一目标子网格对应的第二字网格的过程进行阐述,也即,步骤a中针对所述简化模型中的第一目标子网格,确定出所述虚拟模型中与所述第一目标子网格位置相同的第二目标子网格,包括以下步骤:
计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;从所述虚拟模型中的第二目标子网格中,确定表面法线与所述虚拟模型的中心点之间的第二距离满足预设条件的第二目标子网格,并将满足所述预设条件的第二目标子网格作为所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;其中,所述预设条件为所述第二距离与所述第一距离之间的绝对差值小于或等于预设阈值。
在具体实施中,针对简化模型中的每个第一目标子网格,可以先计算该第一目标子网格的表面法线与简化模型的中心点之间的第一距离,进而,根据第一距离,从虚拟模型中找到任一个第二目标子网格,该第二目标子网格到虚拟模型的中心点的第二距离与第一距离之间的绝对差值小于或等于预设阈值,这里,第一距离和第二距离都为向量,并不是简单的长度,即,第一距离和第二距离带有方向,所以,可以根据上述方式找到简化模型中每个第一目标子网格对应的第二目标子网格,其中,第二目标子网格为虚拟模型的子网格。
其中,表面法线可以理解为任一个子网格表面的法线;三角面是由一组三个顶点形成的任一个3D面;子网格是虚拟模型中顶点和三角面的数据集合。
这里,在对虚拟模型进行细节层次处理得到的简化模型,可以获知简化模型的各个第一目标子网格的表面法线和中心点,但不能直接获取到简化模型的中心点,所以需要计算得到简化模型的中心点,也即,根据以下步骤确定所述简化模型的中心点:
统计所述简化模型中第一目标子网格的数量;根据所述简化模型中各个第一目标子网格的中心点的平面坐标和所述数量,确定所述简化模型的中心点的平面坐标,以及根据所述简化模型中各个第一目标子网格的表面法线和所述数量,确定所述简化模型的中心点的表面法线;根据所述简化模型的中心点的平面坐标和表面法线,确定所述简化模型的中心点。
在具体实施中,可以先统计出简化模型中第一目标子网格的数量,并获取简化模型中各个第一目标子网格的中心点的平面坐标,进而,将各个第一目标子网格的中心坐标相加后除以该数量,得到简化模型的中心点的平面坐标,以及,获取简化模型中各个第一目标子网格的表面发现,进而,将各个第一目标子网格的表面法线相加后除以该数量,得到简化模型的中心点的表面法线,最后,可以根据简化模型的中心点的平面坐标和表面法线,确定简化模型的中心点。
这里,可以采用与计算简化模型的中心点相同的方法,来计算虚拟模型的中心点,根据以下步骤确定虚拟模型的中心点:
统计所述虚拟模型中第二目标子网格的数量;根据所述虚拟模型中各个第二目标子网格的中心点的平面坐标和所述数量,确定所述虚拟模型的中心点的平面坐标,以及根据所述虚拟模型中各个第二目标子网格的表面法线和所述数量,确定所述虚拟模型的中心点的表面法线;根据所述虚拟模型的中心点的平面坐标和表面法线,确定所述虚拟模型的中心点。
步骤b:基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿。
在具体实施中,在确定简化版模型中第一目标子网格对应的第二目标子网格后,这里,第二目标子网格为虚拟模型中的子网格,将第一目标子网格和对应的第二目标子网格进行比较,进而,对第一目标子网格的表面积进行补偿。
进一步地,对第一目标子网格的表面积进行补偿的实施过程进行说明,也即,步骤b中基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿,包括以下步骤:
步骤b1:计算所述第二目标子网格的表面积与所述第一目标子网格的表面积之间的比值,并根据所述比值,确定第一调整因子。
在具体实施中,可以根据第一目标子网格对应的第二目标子网格的表面积,来对该第一目标子网格的表面积进行调整,即,补偿简化模型中第一目标子网格的表面积,具体地,计算第一目标子网格对应的第二目标子网格的表面积与该第一目标子网格的表面积之间的比值,这里,可以将该比值直接作为调整该第一目标子网格的表面积的第一调整因子,也可以将该比值乘以任一个常数后得到的数值,作为调整该第一目标子网格的表面积的第一调整因子,其中,该常数可以根据实际需要进行设置。
步骤b2:基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置调整所述第一目标子网格对应的顶点的位置,以对所述第一目标子网格的表面积进行补偿。
在具体实施中,在确定简化模型中的第一目标子网格的第一调整因子后,可以利用该调整因子通过调整该第一目标子网格中每个顶点的位置,来实现增加该第一目标子网格的表面积,即对该第一目标子网格的表面积进行补偿。这里,基于第一目标子网格对应的第二目标子网格的表面积与该第一目标子网格表面积之间的比例关系,可以计算一个第一调整因数来调整该第一目标子网格的表面积。
进一步地,下面对通过计算出的简化模型的每个第一目标子网格对应的第一调整因子,来调整该第一目标子网格中顶点的位置的过程进行阐述,也即,步骤b2中基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括以下步骤:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量;将所述第一向量与所述第一调整因子相乘,得到第二向量;根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在具体实施中,针对简化模型中的任一第一目标子网格中的每个顶点,确定该第一目标子网格中的该顶点到该第一目标子网格的中心点之间的第一向量,可以将该第一向量与第一调整因子相乘,得到第二向量,进而将该第二向量来调整该顶点的位置,扩大该顶点到该第一目标子网格的中心点之间的向量的长度,进而,使该第一目标子网格的表面积得到补偿。这里,所有顶点的调整操作都是相对于第一目标子网格中心的,这样可以使顶点的位置偏移更加简单。
进一步地,由于简化模型相比虚拟模型由于复杂度降低,所以简化模型的中心部分可能出现孔洞,模型密度在中心部分的变化尤为明显,所以除了根据简化模型中第一目标子网格对应的第二目标子网格,来扩大该第一目标子网格的表面积之外,还可以根据简化模型中各个第一目标子网格距离简化模型中心的距离,来调整各个第一目标子网格的表面积的调整幅度,即可以根据第一目标子网格到简化模型中心点的距离来缩放该第一目标子网格,这样,基于该距离来缩放可改善简化模型中心附近的效果,来填补简化版模型中心的孔洞。这里,步骤b2中基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括以下步骤:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量,以及所述第一目标子网格的中心点与所述简化模型的中心点之间的第三距离;根据所述第三距离,确定第二调整因子;将所述第一向量与所述第一调整因子、所述第二调整因子相乘,得到第二向量;根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在具体实施中,针对简化模型中的任一第一目标子网格中的每个顶点,先确定该顶点到该第一目标子网格的中心点之间的第一向量,以及,计算该第一目标子网格的中心点与简化模型的中心点之间的第三距离,即,确定出该第一目标子网格在简化模型中距离中心点的距离,进而,根据第三距离,来确定第二调整因子,这里,第三距离越大,说明该第一目标子网格与简化模型的边缘越接近,对于边缘处的第一目标子网格对中心部分的孔洞影响较小,可以选取相对较小的数值作为第二调整因子;第三距离越小,说明该第一目标子网格与简化模型的中心越接近,对于中心附近处的第一目标子网格对中心部分的孔洞影响较大,可以选取相对较大的数值作为第二调整因子。在确定出调整该第一目标子网格中的该顶点的第一调整因子和第二调整因子后,将该第一目标子网格中的该顶点到该第一目标子网格的中心点之间的第一向量与第一调整因子、第二调整因子相乘,得到调整后的该顶点到该第一目标子网格的中心点之间的第二向量。
步骤c:对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型。
在具体实施中,针对简化模型中的第一目标子网格,确定出虚拟模型中与第一目标子网格对应的第二目标子网格,进而,根据第一目标子网格对应的第二目标子网格,对第一目标子网格的表面积进行补偿,采用上述同样的方式,对简化模型中的第一目标子网格的表面积都进行补偿后,可以实现对简化模型的体积进行补偿,进而,得到目标模型。
这里,可以对简化模型中的部分第一目标子网格的表面积均进行补偿,也可以对简化模型中的全部第一目标子网格的表面积进行补偿,这样,补偿效果更佳。也即,步骤c中对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型,包括以下步骤:
对所述简化模型中的每个所述第一目标子网格的表面积进行补偿,得到目标模型。
S103:显示所述目标模型。
在具体实施中,在对简化模型的体积进行补偿后,可以将补偿后的简化模型进行渲染后作为目标模型进行显示,这样,可以实现在对虚拟模型进行简化的同时,使补偿后的简化模型的形体与虚拟模型的形体保持一致,而且,可以将与当前位置匹配的目标模型进行显示,可以保证绘制和显示质量,进而可以获得更好的视觉体验。
在本申请实施例中,根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,由于得到的简化模型与虚拟模型在形状和体积上会有差别,可以基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并对得到的目标模型进行显示,这样,不但可以对虚拟模型进行简化,同时还可以保证显示质量。
图2为本申请实施例所提供的一种虚拟模型的显示方法的流程图。如图2所示,本申请实施例提供的虚拟模型的显示方法,包括以下步骤:
S201:根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型。
在具体实施中,可以从模型库中直接获取虚拟模型,也可以先创建虚拟模型,下面对虚拟模型的创建过程进行阐述:
创建模型主干对应的3D路径曲线,并沿所述3D路径曲线插入轮廓线,生成3D轮廓模型;使用预设的纹理,在所述3D轮廓模型中的每个像素上创建网格表面,生成所述虚拟模型。
在具体实施中,在创建初始的虚拟模型时,先需要创建模型主干对应的3D路径曲线,进而,沿着3D路径曲线插入模型的轮廓线,这样,可以生成3D轮廓模型,进一步地,获取预先设置的模型纹理,逐个在3D轮廓模型中像素上创建网格表面,至此,生成虚拟模型。
这里,以虚拟模型为树木模型为例,对树木模型的创建过程进行举例说明,首先,先定义树干和树枝的3D路径曲线,然后使用诸如扫描或放样的表面生成算法将它们转换为3D模型,具体地,该表面生成算法会沿3D路径曲线插入轮廓线来创建3D模型。进一步地,可以通过使用带有纹理逐像素定义的叶子和小树枝的简单网格表面,而不是网格几何体,来渲染树冠茂密的叶子,这种优化减少了3D模型的顶点和三角面数量,具体地,表面网格的创建依赖于可以在整个树冠上重复使用的纹理,纹理可以存储大量树叶的高频颜色和光照信息。其中,可以通过定义树皮的高频细节,以及包含较小树枝、树叶甚至花朵或果实的树叶纹理,具体地,可以使用程序化内容创建工具依靠现实世界的扫描数据、照片在2D创作软件中绘制图像来创建纹理,也可以通过称为纹理烘焙的过程将高度细节化的3D参考模型投影到优化的树叶网格上。
S202:从所述虚拟模型中的多个顶点中,确定表征所述目标模型的特征的目标顶点;从所述虚拟模型中的多个顶点中,删除除所述目标顶点之外的其他顶点;根据所述目标顶点,以及所述目标顶点对应的子网格,得到与所述目标距离匹配的层级对应的简化模型。
在具体实施中,可以通过LOD技术对虚拟模型进行处理,得到简化模型,具体地,可以先获取虚拟模型中的各个顶点的顶点信息,顶点信息包括法线信息、纹理信息、网格属性信息等,因而,可以通过各个顶点的顶点信息,可以从虚拟模型中的多个顶点中,确定出表征目标模型的特征的目标顶点,进而,从虚拟模型中的多个顶点中,删除除了目标顶点之外的其他顶点,只保留虚拟模型中的目标顶点,根据剩余的目标顶点,调整虚拟模型的子网格,以得到与目标距离匹配的层级对应的简化模型。
需要说明的是,虚拟模型的一个子网格原来包括6个顶点,在删除一些顶点后,该子网格包括4个顶点,故,该子网格的形状和面积都会发生变化;而且删除顶点后的虚拟模型中的子网格的数量也会有所减少。
其中,目标模型的特征包括以下特征中的至少一种:轮廓特征、纹理特征、光线特征。
这里,通过删除不会影响虚拟模型的特定特征的顶点来降低虚拟模型的复杂性,其中,特定特征为可以表现虚拟模型中植物的突出特征,特定特征包括轮廓特征、纹理特征、光线特征。
需要说明的是,LOD技术是一种用于实时渲染大量对象的优化技术,一个LOD层级是虚拟模型的简化版本,可在距离虚拟摄像机较远时,代替虚拟模型进行显示,随着屏幕上远距离的物体尺寸变小,它们之间的差别几乎看不出来,即距离相机较远的3D模型在屏幕上的显示更小,并且可以用较少的细节进行渲染,而不会带来明显的差异,故,在这种情况下,需要用简化模型代替虚拟模型进行显示。通常,游戏利用多级LOD,以使每级LOD之间的过渡更为平滑,同时也大大降低了远距离模型的复杂性。
S203:基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型。
S204:显示所述目标模型。
其中,步骤S201、S203、S204的描述可以参见步骤S101、S102、S103的描述,并且能够达到相同的技术效果,在此,不再进行阐述。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供的虚拟模型的显示方法对应的虚拟模型的显示装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的虚拟模型的显示方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图3至图7所示,图3示出了本申请实施例所提供的一种虚拟模型的显示装置300的功能模块图之一;图4示出了图3中的第二生成模块320的功能模块图;图5示出了图4中的补偿单元322的功能模块图;图6示出了本申请实施例所提供的一种虚拟模型的显示装置300的功能模块图之二;图7示出了图3中的第一生成模块310的功能模块图。
如图3所示,虚拟模型的显示装置300包括:
第一生成模块310,用于根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
第二生成模块320,用于基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示模块330,用于显示所述目标模型。
在一种可能的实施方式中,如图4所示,所述第二生成模块320包括:
第一确定单元321,用于针对所述简化模型中的第一子网格,确定出所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;
补偿单元322,用于基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿;
第一生成单元323,用于对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型。
在一种可能的实施方式中,如图4所示,所述第一生成单元323还用于:
对所述简化模型中的每个所述第一目标子网格的表面积进行补偿,得到目标模型。
在一种可能的实施方式中,如图4所示,所述第一确定单元321,用于根据以下步骤确定出第二目标子网格:
计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;
从所述虚拟模型中的第二目标子网格中,确定表面法线与所述虚拟模型的中心点之间的第二距离满足预设条件的第二目标子网格,并将满足所述预设条件的第二目标子网格作为所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;
其中,所述预设条件为所述第二距离与所述第一距离之间的绝对差值小于或等于预设阈值。
在一种可能的实施方式中,如图4所示,所述第一确定单元321,还用于根据以下步骤确定所述简化模型的中心点:
统计所述简化模型中第一目标子网格的数量;
根据所述简化模型中各个第一目标子网格的中心点的平面坐标和所述数量,确定所述简化模型的中心点的平面坐标,以及根据所述简化模型中各个第一目标子网格的表面法线和所述数量,确定所述简化模型的中心点的表面法线;
根据所述简化模型的中心点的平面坐标和表面法线,确定所述简化模型的中心点。
在一种可能的实施方式中,如图5所示,所述补偿单元322包括:
计算子单元3221,用于计算所述第二目标子网格的表面积与所述第一目标子网格的表面积之间的比值,并根据所述比值,确定第一调整因子;
调整子单元3222,用于基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置调整所述第一目标子网格对应的顶点的位置,以对所述第一目标子网格的表面积进行补偿。
在一种可能的实施方式中,如图5所示,所述调整子单元3222,用于根据以下步骤调整所述第一目标子网格对应的顶点的位置:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量;
将所述第一向量与所述第一调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,如图5所示,所述调整子单元3222,还用于根据以下步骤调整所述第一目标子网格对应的顶点的位置:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量,以及所述第一目标子网格的中心点与所述简化模型的中心点之间的第三距离;
根据所述第三距离,确定第二调整因子;
将所述第一向量与所述第一调整因子、所述第二调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
调整所述第一目标子网格对应的顶点的位置在一种可能的实施方式中,如图6所示,所述虚拟模型的显示装置300还包括确定模块340;所述确定模块340,用于根据以下步骤确定所述虚拟模型当前的位置:
获取所述虚拟模型与所述虚拟摄像机之间的目标距离;
根据所述目标距离,确定所述虚拟模型当前的位置。
调整所述第一目标子网格对应的顶点的位置。
在一种可能的实施方式中,如图6所示,所述虚拟模型的显示装置300还包括创建模块350;所述创建模块350,用于根据以下步骤创建所述虚拟模型:
创建模型主干对应的3D路径曲线,并沿所述3D路径曲线插入轮廓线,生成3D轮廓模型;
使用预设的纹理,在所述3D轮廓模型中的每个像素上创建网格表面,生成所述虚拟模型。
在一种可能的实施方式中,如图7所示,所述第一生成模块310包括:
第二确定单元311,用于从所述虚拟模型中的多个顶点中,确定表征所述目标模型的特征的目标顶点;
删除单元312,用于从所述虚拟模型中的多个顶点中,删除除所述目标顶点之外的其他顶点;
第二生成单元313,用于根据所述目标顶点,以及所述目标顶点对应的子网格,得到与所述目标距离匹配的层级对应的简化模型。
在一种可能的实施方式中,所述目标模型的特征包括以下特征中的至少一种:
轮廓特征、纹理特征、光线特征。
在本申请实施例中,根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,由于得到的简化模型与虚拟模型在形状和体积上会有差别,可以基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并对得到的目标模型进行显示,这样,不但可以对虚拟模型进行简化,同时还可以保证显示质量。
基于同一申请构思,参见图8所示,为本申请实施例提供的一种电子设备800的结构示意图,包括:处理器810、存储器820和总线830,所述存储器820存储有所述处理器810可执行的机器可读指令,当电子设备800运行时,所述处理器810与所述存储器820之间通过所述总线830进行通信,所述机器可读指令被所述处理器810运行时执行如上述实施例中任一所述的虚拟模型的显示方法的步骤。
具体地,所述机器可读指令被所述处理器810执行时可以执行如下处理:
根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示所述目标模型。
本申请实施例中,根据虚拟模型当前的位置,对虚拟模型进行细节层次处理,得到虚拟模型的简化模型,由于得到的简化模型与虚拟模型在形状和体积上会有差别,可以基于虚拟模型对简化模型的体积进行补偿,得到目标模型,并对得到的目标模型进行显示,这样,不但可以对虚拟模型进行简化,同时还可以保证显示质量。
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的虚拟模型的显示方法的步骤。
具体地,所述存储介质能够为通用的存储介质,如移动磁盘、硬盘等,所述存储介质上的计算机程序被运行时,能够执行上述虚拟模型的显示方法,通过将补偿后的简化模型进行渲染后作为目标模型进行显示,这样,不但可以适当地对虚拟模型进行简化,同时还可以保持显示质量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另任一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于任一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在任一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在任一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在任一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在任一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种虚拟模型的显示方法,其特征在于,通过终端设备提供图形用户界面,所述图形用户界面包括通过虚拟摄像机捕获的游戏场景画面,所述游戏场景画面中包括虚拟模型,所述显示方法包括:
根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示所述目标模型;
其中,基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型,包括:针对所述简化模型中的第一目标子网格,计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;根据所述第一距离从所述虚拟模型中确定与所述第一目标子网格位置对应的第二目标子网格;基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿;对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型。
2.根据权利要求1所述的显示方法,其特征在于,所述对所述简化模型中的所述第一目标子网格的表面积进行补偿,得到目标模型,包括:
对所述简化模型中的每个所述第一目标子网格的表面积进行补偿,得到目标模型。
3.根据权利要求1所述的显示方法,其特征在于,所述根据所述第一距离从所述虚拟模型中确定与所述第一目标子网格位置对应的第二目标子网格,包括:
从所述虚拟模型中的第二目标子网格中,确定表面法线与所述虚拟模型的中心点之间的第二距离满足预设条件的第二目标子网格,并将满足所述预设条件的第二目标子网格作为所述虚拟模型中与所述第一目标子网格位置对应的第二目标子网格;
其中,所述预设条件为所述第二距离与所述第一距离之间的绝对差值小于或等于预设阈值。
4.根据权利要求3所述的显示方法,其特征在于,根据以下步骤确定所述简化模型的中心点:
统计所述简化模型中第一目标子网格的数量;
根据所述简化模型中各个第一目标子网格的中心点的平面坐标和所述数量,确定所述简化模型的中心点的平面坐标,以及根据所述简化模型中各个第一目标子网格的表面法线和所述数量,确定所述简化模型的中心点的表面法线;
根据所述简化模型的中心点的平面坐标和表面法线,确定所述简化模型的中心点。
5.根据权利要求1所述的显示方法,其特征在于,所述基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿,包括:
计算所述第二目标子网格的表面积与所述第一目标子网格的表面积之间的比值,并根据所述比值,确定第一调整因子;
基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,以对所述第一目标子网格的表面积进行补偿。
6.根据权利要求5所述的显示方法,其特征在于,所述基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量;
将所述第一向量与所述第一调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
7.根据权利要求5所述的显示方法,其特征在于,所述基于所述第一目标子网格对应的第一调整因子,调整所述第一目标子网格对应的顶点的位置,包括:
确定所述第一目标子网格对应的顶点到所述第一目标子网格的中心点之间的第一向量,以及所述第一目标子网格的中心点与所述简化模型的中心点之间的第三距离;
根据所述第三距离,确定第二调整因子;
将所述第一向量与所述第一调整因子、所述第二调整因子相乘,得到第二向量;
根据所述第二向量,调整所述第一目标子网格对应的顶点的位置。
8.根据权利要求1所述的显示方法,其特征在于,所述显示方法还包括根据以下步骤确定所述虚拟模型当前的位置:
获取所述虚拟模型与所述虚拟摄像机之间的目标距离;
根据所述目标距离,确定所述虚拟模型当前的位置。
9.根据权利要求1所述的显示方法,其特征在于,所述显示方法还包括根据以下步骤创建所述虚拟模型:
创建模型主干对应的3D路径曲线,并沿所述3D路径曲线插入轮廓线,生成3D轮廓模型;
使用预设的纹理,在所述3D轮廓模型中的每个像素上创建网格表面,生成所述虚拟模型。
10.根据权利要求8所述的显示方法,其特征在于,所述根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型,包括:
从所述虚拟模型中的多个顶点中,确定表征所述目标模型的特征的目标顶点;
从所述虚拟模型中的多个顶点中,删除除所述目标顶点之外的其他顶点;
根据所述目标顶点,以及所述目标顶点对应的子网格,得到与所述目标距离匹配的层级对应的简化模型。
11.根据权利要求10所述的显示方法,其特征在于,所述目标模型的特征包括以下特征中的至少一种:
轮廓特征、纹理特征、光线特征。
12.一种虚拟模型的显示装置,其特征在于,所述显示装置包括:
第一生成模块,用于根据所述虚拟模型当前的位置,对所述虚拟模型进行细节层次处理,得到所述虚拟模型的简化模型;
第二生成模块,用于基于所述虚拟模型,对所述简化模型的体积进行补偿,得到目标模型;
显示模块,用于显示所述目标模型;
其中,所述第二生成模块包括:
第一确定单元,用于针对所述简化模型中的第一目标子网格,计算所述第一目标子网格的表面法线与所述简化模型的中心点之间的第一距离;根据所述第一距离从所述虚拟模型中确定与所述第一目标子网格位置对应的第二目标子网格;
补偿单元,用于基于与所述第一目标子网格对应的第二目标子网格,对所述第一目标子网格的表面积进行补偿;
第一生成单元,用于对所述简化模型中的所述第一目标子网格的表面积进行补偿后,得到目标模型。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至11任一所述的虚拟模型的显示方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至11任一所述的虚拟模型的显示方法的步骤。
CN202010478734.6A 2020-05-29 2020-05-29 一种虚拟模型的显示方法、装置、电子设备及存储介质 Active CN111632376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010478734.6A CN111632376B (zh) 2020-05-29 2020-05-29 一种虚拟模型的显示方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010478734.6A CN111632376B (zh) 2020-05-29 2020-05-29 一种虚拟模型的显示方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111632376A CN111632376A (zh) 2020-09-08
CN111632376B true CN111632376B (zh) 2023-04-07

Family

ID=72324196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010478734.6A Active CN111632376B (zh) 2020-05-29 2020-05-29 一种虚拟模型的显示方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111632376B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112843735B (zh) * 2020-12-31 2022-12-02 上海米哈游天命科技有限公司 游戏画面的拍摄方法、装置、设备及存储介质
CN113288087B (zh) * 2021-06-25 2022-08-16 成都泰盟软件有限公司 一种基于生理信号的虚实联动实验系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024081A (zh) * 2010-12-13 2011-04-20 四川省宜宾普什模具有限公司 一种汽车覆盖件模具设计方法
CN102881044A (zh) * 2012-09-27 2013-01-16 重庆大学 一种基于三角形折叠的三维网格模型的简化方法
CN103472724A (zh) * 2013-09-16 2013-12-25 江苏大学 一种用于多自由度并联机构的实时控制动力学建模方法
CN108846901A (zh) * 2018-06-14 2018-11-20 宁波视睿迪光电有限公司 模型导入方法及装置
CN110111411A (zh) * 2019-04-02 2019-08-09 贝壳技术有限公司 一种三维模型的浏览处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10115236B2 (en) * 2016-09-21 2018-10-30 Verizon Patent And Licensing Inc. Placing and presenting virtual objects in an augmented reality environment
GB2564401B (en) * 2017-07-06 2020-10-07 Sony Interactive Entertainment Inc System and method of enhancing a 3D printed model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024081A (zh) * 2010-12-13 2011-04-20 四川省宜宾普什模具有限公司 一种汽车覆盖件模具设计方法
CN102881044A (zh) * 2012-09-27 2013-01-16 重庆大学 一种基于三角形折叠的三维网格模型的简化方法
CN103472724A (zh) * 2013-09-16 2013-12-25 江苏大学 一种用于多自由度并联机构的实时控制动力学建模方法
CN108846901A (zh) * 2018-06-14 2018-11-20 宁波视睿迪光电有限公司 模型导入方法及装置
CN110111411A (zh) * 2019-04-02 2019-08-09 贝壳技术有限公司 一种三维模型的浏览处理方法及装置

Also Published As

Publication number Publication date
CN111632376A (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
KR101697184B1 (ko) 메쉬 생성 장치 및 그 방법, 그리고, 영상 처리 장치 및 그 방법
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
CN111369655A (zh) 渲染方法、装置和终端设备
CN104781852A (zh) 用于渲染三维场景的计算机绘图方法
CN111243075B (zh) 一种面向手游的生成水深度图的方法、装置和设备
US20240046590A1 (en) Reconstruction of Essential Visual Cues in Mixed Reality Applications
CN109215106B (zh) 一种基于动态场景的实时光线追踪加速结构的方法
CN107633544B (zh) 环境光遮蔽的处理方法及装置
CN111632376B (zh) 一种虚拟模型的显示方法、装置、电子设备及存储介质
US6791544B1 (en) Shadow rendering system and method
US20230230311A1 (en) Rendering Method and Apparatus, and Device
US9019268B1 (en) Modification of a three-dimensional (3D) object data model based on a comparison of images and statistical information
CN115100337A (zh) 一种基于卷积神经网络的全身人像视频重照明方法和装置
Lawonn et al. Stylized image triangulation
Bao et al. Realistic real-time rendering for large-scale forest scenes
Frasson et al. Efficient screen-space rendering of vector features on virtual terrains
CN114092611A (zh) 虚拟表情驱动方法及装置、电子设备、存储介质
CN113648655A (zh) 虚拟模型的渲染方法、装置、存储介质和电子设备
CN116664752B (zh) 基于图案化光照实现全景显示的方法、系统及存储介质
Nicolet et al. Repurposing a relighting network for realistic compositions of captured scenes
CN115965735B (zh) 纹理贴图的生成方法和装置
CN111260767A (zh) 游戏中的渲染方法、渲染装置、电子设备及可读存储介质
TW202312100A (zh) 網格生成方法、電子設備及電腦可讀儲存介質
CN114529648A (zh) 模型展示方法、设备、装置、电子设备及存储介质
US9734579B1 (en) Three-dimensional models visual differential

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