CN117582661A - 虚拟模型渲染方法、装置、介质及设备 - Google Patents

虚拟模型渲染方法、装置、介质及设备 Download PDF

Info

Publication number
CN117582661A
CN117582661A CN202311688083.3A CN202311688083A CN117582661A CN 117582661 A CN117582661 A CN 117582661A CN 202311688083 A CN202311688083 A CN 202311688083A CN 117582661 A CN117582661 A CN 117582661A
Authority
CN
China
Prior art keywords
rendering
virtual model
texture
texture map
rendered
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
Application number
CN202311688083.3A
Other languages
English (en)
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 CN202311688083.3A priority Critical patent/CN117582661A/zh
Publication of CN117582661A publication Critical patent/CN117582661A/zh
Pending legal-status Critical Current

Links

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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Abstract

本申请实施例提供一种虚拟模型渲染方法、装置、存储介质及电子设备,该方法包括获取目标虚拟模型对应的纹理贴图,纹理贴图包括多张预渲染纹理贴图;确定当前待渲染的帧动画对应的目标预渲染纹理贴图在纹理贴图中的存储位置,根据存储位置获取待渲染的帧动画对应的目标预渲染纹理贴图;对目标预渲染纹理贴图进行光照计算得到渲染完成的帧动画;将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。本申请实施例通过在三维视角下将目标虚拟模型的预设纹理信息烘焙到纹理贴图中,形成多张对应不同预设姿态的预渲染纹理贴图,并将多张预渲染纹理贴图进行渲染后以帧动画的形式在虚拟场景显示,从而实现通过二维图像的形式模拟三维立体的视觉效果。

Description

虚拟模型渲染方法、装置、介质及设备
技术领域
本申请涉及电子通信技术领域,尤其涉及一种模型渲染技术领域,特别涉及一种虚拟模型渲染方法、装置、介质及设备。
背景技术
实时渲染是游戏制作中常使用的一项技术。渲染过程可以看作把场景中的模型映射到渲染相机的成像平面,为完成这个过程,现代显卡使用了光栅化技术来像素化模型,而模型的面数越高代表需要光栅化的面也越多,这会造成渲染性能的快速下降。在进行实时渲染时,模型动画通常采用骨骼动画的形式来实现,为表现出模型的动画,需要计算机在每一帧都对模型的骨骼位置以及骨骼所附带的顶点坐标进行计算,但是这些计算过程对计算机的渲染性能要求较高,对于一般性能的计算机来说难以做到快速渲染模型。
为了提升模型渲染效率,常用的方式是通过减少实时渲染的模型面数来实现,例如通过相机剔除、遮挡剔除、多层次细节(LOD,Level Of Details)、高模烘培低模等技术实现。但是,上述技术均是通过剔除不可见模型或替换低面模型来提高渲染性能,当可见范围内模型数量大量增加时,仍会有很大的渲染性能损失。
发明内容
本申请实施例提供一种虚拟模型渲染方法、装置、介质及设备,以解决现有技术中在进行大量模型实时渲染时效率低的问题。
本申请实施例一方面提供了一种虚拟模型渲染方法,包括:
获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;
将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
相应的,本申请实施例另一方面还提供了一种虚拟模型渲染装置,所述虚拟模型渲染装置包括:
获取模块,用于获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
确定模块,用于从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
渲染模块,用于通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;
显示模块,用于将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
相应的,本申请实施例另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上所述的虚拟模型渲染方法。
相应的,本申请实施例另一方面还提供了一种电子设备,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行如上所述的虚拟模型渲染方法。
本申请实施例提供了一种虚拟模型渲染方法、装置、介质及设备,该方法通过获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。本申请实施例通过在三维视角下将目标虚拟模型的预设纹理信息烘焙到纹理贴图中,形成多张对应不同预设姿态的预渲染纹理贴图,并将多张预渲染纹理贴图按照顺序进行渲染后以帧动画的形式在虚拟场景中显示,从而实现通过二维图像的形式模拟三维立体的视觉效果,间接提升了模型渲染的效率,尤其适用于在指定的可见范围内同时展示大量模型。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的虚拟模型渲染方法的流程示意图。
图2为预渲染纹理贴图的烘焙过程示意图。
图3为纹理贴图的示意图。
图4为本申请实施例提供的虚拟模型渲染装置的结构示意图。
图5为本申请实施例提供的虚拟模型渲染装置的另一种结构示意图。
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
需要说明的是,实时渲染是游戏制作中常使用的一项技术。渲染过程可以看作把场景中的模型映射到渲染相机的成像平面,为完成这个过程,现代显卡使用了光栅化技术来像素化模型,而模型的面数越高代表需要光栅化的面也越多,这会造成渲染性能的快速下降。在进行实时渲染时,模型动画通常采用骨骼动画的形式来实现,为表现出模型的动画,需要计算机在每一帧都对模型的骨骼位置以及骨骼所附带的顶点坐标进行计算,但是这些计算过程对计算机的渲染性能要求较高,对于一般性能的计算机来说难以做到快速渲染模型。
为了提升模型渲染效率,常用的方式是通过减少实时渲染的模型面数来实现,例如通过相机剔除、遮挡剔除、多层次细节(LOD,Level Of Details)、高模烘培低模等技术实现。相机剔除是通过剔除对渲染相机不可视的模型,遮挡剔除是通过预检测深度缓存从而剔除因遮挡不可见的模型,多层次细节是通过相机距离来替换或简化模型以达到性能提升的目的,高模烘培低模的技术是通过把高模细节通过贴图传递给低模,使得低模拥有近似高模的细节从而提升渲染性能。但是,上述技术均是通过剔除不可见模型或替换低面模型来提高渲染性能,当可见范围内模型数量大量增加时,仍会有很大的渲染性能损失。
为了解决上述技术问题,本申请实施例提供一种虚拟模型渲染方法。利用本申请实施例提供的虚拟模型渲染方法,通过在三维视角下将目标虚拟模型的预设纹理信息烘焙到纹理贴图中,形成多张对应不同预设姿态的预渲染纹理贴图,并将多张预渲染纹理贴图按照顺序进行渲染后以帧动画的形式在虚拟场景中显示,从而实现通过二维图像的形式模拟三维立体的视觉效果,间接提升了模型渲染的效率,尤其适用于在指定的可见范围内同时展示大量模型。
请参阅图1-图3,图1为本申请实施例提供的虚拟模型渲染方法的流程示意图。图2为预渲染纹理贴图的烘焙过程示意图。图3为纹理贴图的示意图。所述虚拟模型渲染方法,该虚拟模型渲染方法中各个步骤的执行主体既可以相同也可以不同,上述执行主体可以是电子设备也可以是服务器。所述电子设备可以是个人计算机等设备。所述方法可以包括以下步骤:
步骤101,获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图。
需要说明的是,由于本申请实施例提供的虚拟模型渲染方法是通过一个二维面片来展示目标虚拟模型中多个面的信息,进而模拟三维立体的视觉效果,而由于二维面片本身是不具备三维立体模型的多角度显示效果的,使得当从侧面观看二维面片时会失效。因此,本方案只适用于在固定视角下展示模型的显示效果,例如应用在某些不需要改变模型的角度同时希望模型具有三维视角效果的二维游戏场景中。
需要解释的是,本方案所述的目标虚拟模型可以是虚拟场景中的人物模型、或其他可以变换形状、姿势、位置等参数的物体模型等。上述目标虚拟模型可以位于虚拟场景的三维空间中,也可以位于虚拟场景以外的其他三维空间中。在本实施例中,通过在虚拟场景以外的三维空间中建立目标虚拟模型,然后在虚拟场景以外的三维空间中对目标虚拟模型的预设纹理信息进行采集,将采集得到的预设纹理信息形成预渲染纹理贴图,将该预渲染纹理贴图渲染至虚拟场景中的面片模型上,得到目标虚拟模型在虚拟场景中通过二维图像的形式模拟三维立体的视觉效果。相比现有技术通过相机剔除、遮挡剔除、多层次细节(LOD,Level Of Details)、高模烘培低模等渲染性能提升方式,本方案不需要通过剔除不可见模型或替换低面模型来提高渲染性能,当可见范围内模型数量大量增加时,能够避免渲染性能过度损失的问题。
需要说明的是,纹理贴图包含多张目标虚拟模型在三维视角下生成的预渲染纹理贴图,所得到的多张预渲染纹理贴图既可以是一张预渲染纹理贴图对应一种预设姿态,也可以是一种预设姿态对应多张预渲染纹理贴图,但是为了体现模型的动态显示效果,多张预渲染纹理贴图中至少包含两种预设姿态。预设姿态可以是坐姿或站姿或其他姿态,在此不做限定。预设姿态在一个具体场景中可以表现为一游戏角色对另一游戏角色进行的一系列重复砍杀动作,由于游戏场景中往往需要布置大量的虚拟模型并且为了体现生动性还需要要求其具有动态变化的效果,然而这部分虚拟模型在游戏场景中更多起到的作用是提升游戏场景的素材数量,不在意其精细程度和动作的复杂性,因此可以利用本方案构建大量在固定视角下能够查看的虚拟模型,以二维面片模型为基础,在虚拟场景中通过二维图像的形式模拟三维立体的视觉效果。
在获取目标虚拟模型对应的纹理贴图之前,需要先对目标虚拟模型的纹理贴图进行制作并保存。如图2所示,具体可以通过将预渲染相机按照预设角度朝向目标虚拟模型后,控制目标虚拟模型切换不同的预设姿态,通过预渲染相机对目标虚拟模型进行拍摄,得到对应不同预设姿态的预渲染纹理贴图后输出到预先创建的与目标虚拟模型对应的纹理贴图中,即完成纹理贴图的制作过程。
需要解释的是,预渲染相机在对目标虚拟模型拍摄的过程实际上是将目标虚拟模型的预设纹理信息映射到预渲染相机的成像平面,对目标虚拟模型的预设纹理信息进行烘焙形成预渲染纹理贴图后存储至预渲染相机的渲染缓存,将渲染缓存中的预渲染纹理贴图复制到纹理贴图。同时在相机拍摄过程中,需要保持当前的目标虚拟模型动画不会继续切换预设姿态。
其中,烘焙是一种将模型信息渲染成贴图,然后将烘焙后的贴图再贴回到虚拟场景中的技术。上述烘焙过程中使用的预渲染相机,可以根据实际情况选择正交相机或透视相机,在此不做限定。该预渲染相机位于目标虚拟模型所在的三维空间中,也就是,预渲染相机和目标虚拟模型处在同一空间。
具体地,根据模型位置和相机位置,可以确定在虚拟场景中预渲染相机和目标虚拟模型在虚拟场景中渲染位置之间的相对位置关系,根据该相对位置关系,可以获得目标虚拟模型的烘焙角度、烘焙方向等信息,进一步的,根据上述信息可以确定预渲染相机相对于目标虚拟模型的烘焙位置,然后,预渲染相机可以在该烘焙位置对目标模型进行烘焙处理。
需要说明的是,将渲染缓存中的预渲染纹理贴图复制到纹理贴图后,需要同时清空渲染缓存,避免将相同的预渲染纹理贴图重复复制到纹理贴图中。
为了进一步解释说明预渲染纹理贴图的制作过程,以下提供两种具体实施方式。首先,预设纹理信息指的是颜色纹理信息、法线纹理信息、环境光遮蔽纹理信息、粗糙度纹理信息和金属度纹理信息中的一种或多种。
颜色纹理信息:记录了材质表面的颜色。
法线纹理信息:记录了材质表面的法线信息,并将法线信息转化为光影下表现出的凹凸感。
环境光遮蔽纹理信息:记录了模型表面的光线遮蔽效果(这种遮蔽效果通常是自我的遮蔽)。
粗糙度纹理信息:记录了材质表面的粗糙度信息。越白,就意味着这个地方粗糙度越高。反之亦然。
金属度纹理信息:金属度记录了材质金属质感的强度。如果这个地方越白,那么就意味着这个地方金属质感越强。
作为一种可实施方式,通过预渲染相机分别对包含颜色纹理信息或法线纹理信息的目标虚拟模型进行拍摄,以对目标虚拟模型的颜色纹理信息或法线纹理信息烘焙得到预渲染纹理贴图后存储至预渲染相机的渲染缓存。在此示例中,预设纹理信息可以是颜色纹理信息或法线纹理信息。
作为另一种可实施方式,通过预渲染相机对包含颜色纹理信息的目标虚拟模型进行拍摄,以对目标虚拟模型的颜色纹理信息烘焙得到第一预渲染纹理贴图后存储至预渲染相机的渲染缓存;通过预渲染相机对包含法线纹理信息的目标虚拟模型进行拍摄,以对目标虚拟模型的法线纹理信息烘焙得到第二预渲染纹理贴图后存储至预渲染相机的渲染缓存;第一预渲染纹理贴图及第二预渲染纹理贴图组成预渲染纹理贴图。在此示例中,预设纹理信息可以是颜色纹理信息与法线纹理信息的组合,通过叠加两种不同类型的纹理信息可以提升模型的细节表现。
具体地,可以通过预渲染相机对包含颜色纹理信息的目标虚拟模型对应的颜色贴图进行采样,以对目标虚拟模型的颜色纹理信息烘焙得到第一预渲染纹理贴图后存储至预渲染相机的渲染缓存,即完成将目标虚拟模型的颜色纹理信息烘焙到第一预渲染纹理贴图中。
对目标虚拟模型的法线纹理信息进行烘焙的过程与颜色纹理信息的烘焙过程相似,可以通过预渲染相机对包含法线纹理信息的目标虚拟模型对应的法线贴图进行采样,获取法线贴图中的世界空间法线,根据世界空间法线烘焙得到第二预渲染纹理贴图后存储至预渲染相机的渲染缓存,即完成将目标虚拟模型的法线纹理信息烘焙到第二预渲染纹理贴图中。
需要说明的是,上述烘焙处理需要使用烘焙相机,即预渲染相机,该烘焙相机可以是虚拟场景中的虚拟相机,也可以是另外的虚拟相机;例如,当目标虚拟模型位于虚拟场景中时,烘焙相机可以是虚拟场景中的上述虚拟相机,也可以是虚拟场景中的其他相机。
需要说明的是,由于一般游戏、影视中,很多模型都会进行旋转和缩放操作,带有蒙皮的文件还会根据动画要求出现变形的情况。在这些情况下,如果使用的是非切线空间法线贴图,例如世界空间法线贴图,就会出现非常严重的效果上的错误。因此行业内基本上都是使用切线空间坐标系存储三维模型的法线贴图,以此来规避这些问题。但是在使用法线信息进行光照计算的时候,需要将法线信息从切线空间转化到世界空间,以此来方便着色器Shader层面的计算。由于本方案是将三维模型转化成二维的帧动画进行展示,而帧动画无法做到法线信息从切线空间到世界空间的转换,因此,需要确保在渲染帧动画时获取到的法线信息为世界空间法线。
为了得到世界空间法线,在本方案中通过先判断法线贴图对应的贴图类型,贴图类型包括切线空间法线贴图和世界空间法线贴图,根据判断结果执行不同的操作;
若判断结果为法线贴图对应的贴图类型是切线空间法线贴图,则将法线贴图采样得到的切线空间法线转换成世界空间法线后输出,需要说明的是,将法线贴图采样得到的切线空间法线转换成世界空间法线可以通过变换矩阵相乘算法实现,这是行业内的常见技术,在此不做赘述;
若判断结果为法线贴图对应的贴图类型是世界空间法线贴图,则将从顶点着色器传入的世界空间法线进行输出。
步骤102,从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图。
需要解释的是,上述纹理贴图具体可以为一张大的贴图,如图3所示,用于存储烘焙方向、颜色纹理信息、法线纹理信息等信息。在初始状态下,该纹理贴图为空白状态。纹理贴图在使用时通常被划分为多个纹理区域,每个纹理区域均可存储烘焙方向、颜色纹理信息、法线纹理信息等信息。同时为了方便描述各个纹理区域在纹理贴图中的位置,可以在纹理贴图中建立纹理坐标系,通过纹理坐标来表示各个纹理区域在纹理贴图中的具体位置。
在本实施例中,纹理贴图中的不同纹理区域可以保存指定烘焙角度下目标虚拟模型的烘焙结果,即预渲染纹理贴图。由于每一张预渲染纹理贴图都拥有唯一的存储位置信息,因此可以在确定当前待渲染的帧动画对应的目标预渲染纹理贴图在纹理贴图中的存储位置,根据存储位置获取待渲染的帧动画对应的目标预渲染纹理贴图。
步骤103,通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画。
在本实施例中,可以将目标预渲染纹理贴图发送给渲染器进行帧动画的渲染。例如,在游戏动画的实时渲染中,渲染器有至关重要的地位,渲染器可以通过运行在图形处理器(Graphics Process ing Uni t,GPU)上的光照模型,将离线制作完成的目标预渲染纹理贴图,渲染到玩家和观众所看到的屏幕上。光照模型可以根据实际情况选用Lambert(兰伯特、用来描述漫反射)光照模型、Phong(冯氏光照模型,适用于光滑物体表面的光照模型)光照模型、Bl inn-Phong(基于Phong光照模型进行改进的高光光照模型)光照模型、环境光(Ambient)、PBR等中的任一种,在此不做限定。
以Phong模型为例,利用Phong光照模型与目标预渲染纹理贴图进行光照计算得到目标虚拟模型对应的帧动画的过程可通过公式表示:
I=Ia*Ka+Id*Kd*max(0,dot(N,L))+Is*Ks*pow(max(0,dot(R,V)),shinin ess)
其中I:表示目标虚拟模型表面的光照强度。Ia:表示环境光的强度,通常是一个常数。Ka:表示目标虚拟模型表面的环境光反射系数,用于调整环境光对目标虚拟模型表面的影响。Id:表示定向光源(如太阳光)的强度。Kd:表示目标虚拟模型表面的漫反射系数,用于调整漫反射光对目标虚拟模型表面的影响。N:表示目标虚拟模型表面的法线向量。L:表示光线的入射方向向量。dot(N,L):表示目标虚拟模型表面法线向量N和光线入射方向向量L的点积。
除了上述的漫反射光照成分外,Phong模型还包含了镜面光照成分:
Is:表示光源的镜面光强度。Ks:表示目标虚拟模型表面的镜面反射系数,用于调整镜面光对目标虚拟模型表面的影响。R:表示反射光线的方向向量,由光线入射方向向量L和目标虚拟模型表面法线向量N计算得出。V:表示观察者的方向向量。pow(max(0,dot(R,V)),shininess)表示反射光线方向向量R和观察者方向向量V的点积的shininess次方。shininess是一个指定镜面高光的参数,值越大则高光区域越小而集中,值越小则高光区域越大而扩散。
Phong模型提供了一种简单而常用的光照计算方法,能够产生漫反射和镜面高光的效果。通过调整各个参数,可以控制不同光照条件下的渲染效果,实现不同材质和表面特性的呈现。
步骤104,将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
在本实施例中,上述面片模型可以为二维的四边形面片模型,以Quad模型为例,在实际实现时,可以在模型位置,也就是目标模型在虚拟场景中的渲染位置,设置Quad模型,然后再根据模型位置和相机位置调整面片模型的朝向,使得该Quad模型始终正对虚拟相机。
当待渲染的帧动画完成渲染后,可将其对应的像素uv坐标映射到Quad模型上成像,例如在Unity中,可以采用能够跟随虚拟摄像机镜头旋转的Quad模型进行投影显示,将渲染完成的帧动画通过面片模型在虚拟场景中的指定位置投影显示,实现通过二维图像的形式模拟三维立体的视觉效果,间接提升了模型渲染的效率,尤其适用于在指定的可见范围内同时展示大量模型。
利用本方案提供的虚拟模型渲染方法不仅能够适用于游戏场景,还可以适用于体育赛事、演唱会等虚拟场景中。但是由于本方案是基于二维的面片模型实现的,而二维的面片模型本身是不具备三维立体模型的多角度显示效果的,使得当从侧面观看二维面片时会失效。因此,无论是应用在游戏场景还是其他虚拟场景,都需要在固定视角下观看虚拟模型的显示效果,具体应用在某些不需要改变模型的角度同时希望模型具有三维视角效果的二维游戏场景中。在一具体实施例中,针对预先制作好的观众模型,预先通过虚拟相机拍摄观众模型多个不同角度的图像,并烘焙到纹理贴图中,然后在虚拟场景中摆放好面片模型,虚拟场景运行时,调整面片模型的角度朝向使其始终正对虚拟相机,并根据虚拟相机与面片模型中心点之间的相对位置从纹理贴图中选择拍摄角度合适的纹理贴图渲染到面片模型上,从而实现通过二维面片模拟出三维立体观众的视觉效果,并且多帧连续的帧动画可以实现动态视觉效果。采用该方式,美术资源的生产成本适中,立体感有所提升。
综上,本方案提供的虚拟模型渲染方法仅需要一个面片模型即可渲染并播放模型帧动画,并支持动态光照渲染,故可支持大量模型在场景中进行实时的动画表现。同时本方案仅适用于固定视角下观看,且根据预渲染的帧动画图精度来决定实际模型动画的渲染质量。理论上本方案可以适用于任意远近距离模型动画的渲染,但由于实时游戏中帧动画贴图的大小限制,方案实际更适用于中远距离的模型动画。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的虚拟模型渲染方法通过获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。本申请实施例通过在三维视角下将目标虚拟模型的预设纹理信息烘焙到纹理贴图中,形成多张对应不同预设姿态的预渲染纹理贴图,并将多张预渲染纹理贴图按照顺序进行渲染后以帧动画的形式在虚拟场景中显示,从而实现通过二维图像的形式模拟三维立体的视觉效果,间接提升了模型渲染的效率,尤其适用于在指定的可见范围内同时展示大量模型。
本申请实施例还提供一种虚拟模型渲染装置,所述虚拟模型渲染装置可以集成在电子设备或服务器中。
请参阅图4,图4为本申请实施例提供的虚拟模型渲染装置的结构示意图。虚拟模型渲染装置30可以包括:
获取模块31,用于获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
确定模块32,用于从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
渲染模块33,用于通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;
显示模块34,用于将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现。
由上可知,本申请实施例提供的虚拟模型渲染装置30,通过获取模块31用于获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;确定模块32用于从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;渲染模块33用于通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;显示模块34,用于将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
请参阅图5,图5为本申请实施例提供的虚拟模型渲染装置的另一结构示意图,虚拟模型渲染装置30包括存储器120、一个或多个处理器180、以及一个或多个应用程序,其中该一个或多个应用程序被存储于该存储器120中,并配置为由该处理器180执行;该处理器180可以包括获取模块31,确定模块32,渲染模块33以及显示模块34。例如,以上各个部件的结构和连接关系可以如下:
存储器120可用于存储应用程序和数据。存储器120存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据处理。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180对存储器120的访问。
处理器180是装置的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行装置的各种功能和处理数据,从而对装置进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
具体在本实施例中,处理器180会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而实现各种功能。
本申请实施例还提供一种电子设备。所述电子设备可以是电子设备或服务器。
请参阅图6,图6示出了本申请实施例提供的电子设备的结构示意图,该电子设备可以用于实施上述实施例中提供的虚拟模型渲染方法。以电子设备为例,该电子设备1200可以为智能手机或平板电脑。
如图6所示,电子设备1200可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图6中示出的电子设备1200结构并不构成对电子设备1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。
存储器120可用于存储软件程序以及模块,如上述实施例中虚拟模型渲染方法对应的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,可以根据电子设备所处的当前场景来自动选择振动提醒模式来进行模型渲染,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了电子设备的智能性。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至电子设备1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及电子设备1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图6中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
电子设备1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在电子设备1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与电子设备1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与电子设备1200的通信。
电子设备1200通过传输模块170(例如Wi-Fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了传输模块170,但是可以理解的是,其并不属于电子设备1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是电子设备1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行电子设备1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
电子设备1200还包括给各个部件供电的电源190,在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备1200的显示单元140是触摸屏显示器,电子设备1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的虚拟模型渲染方法:
获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;
将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
需要说明的是,对本申请所述虚拟模型渲染方法而言,本领域普通测试人员可以理解实现本申请实施例所述虚拟模型渲染方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在电子设备的存储器中,并被该电子设备内的至少一个处理器执行,在执行过程中可包括如所述虚拟模型渲染方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述虚拟模型渲染装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的虚拟模型渲染方法、装置、计算机可读存储介质及电子设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种虚拟模型渲染方法,其特征在于,包括:
获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
通过光照模型及所述目标预渲染纹理贴图进行光照计算得到所述目标虚拟模型渲染完成的帧动画;
将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
2.如权利要求1所述的虚拟模型渲染方法,其特征在于,在所述获取目标虚拟模型对应的纹理贴图之前,所述方法还包括:
将预渲染相机按照预设角度朝向所述目标虚拟模型;
控制所述目标虚拟模型切换不同的预设姿态,通过所述预渲染相机对所述目标虚拟模型进行拍摄,输出对应不同预设姿态的预渲染纹理贴图到纹理贴图。
3.如权利要求2所述的虚拟模型渲染方法,其特征在于,所述通过所述预渲染相机对所述目标虚拟模型进行拍摄,输出对应不同预设姿态的预渲染纹理贴图到纹理贴图,包括:
通过预渲染相机对所述目标虚拟模型进行拍摄,以对所述目标虚拟模型的预设纹理信息烘焙形成预渲染纹理贴图后存储至所述预渲染相机的渲染缓存;
将所述渲染缓存中的预渲染纹理贴图复制到纹理贴图,同时清空所述渲染缓存。
4.如权利要求3所述的虚拟模型渲染方法,其特征在于,所述通过预渲染相机对所述目标虚拟模型进行拍摄,以对所述目标虚拟模型的预设纹理信息烘焙形成预渲染纹理贴图后存储至所述预渲染相机的渲染缓存,包括:
通过所述预渲染相机对包含颜色纹理信息的目标虚拟模型进行拍摄,以对所述目标虚拟模型的颜色纹理信息烘焙得到第一预渲染纹理贴图后存储至所述预渲染相机的渲染缓存;
通过所述预渲染相机对包含法线纹理信息的目标虚拟模型进行拍摄,以对所述目标虚拟模型的法线纹理信息烘焙得到第二预渲染纹理贴图后存储至所述预渲染相机的渲染缓存;
所述第一预渲染纹理贴图和/或第二预渲染纹理贴图组成所述预渲染纹理贴图。
5.如权利要求4所述的虚拟模型渲染方法,其特征在于,所述通过所述预渲染相机对包含颜色纹理信息的目标虚拟模型进行拍摄,以对所述目标虚拟模型的颜色纹理信息烘焙得到第一预渲染纹理贴图后存储至所述预渲染相机的渲染缓存,包括:
通过所述预渲染相机对包含颜色纹理信息的目标虚拟模型对应的颜色贴图进行采样,以对所述目标虚拟模型的颜色纹理信息烘焙得到第一预渲染纹理贴图后存储至所述预渲染相机的渲染缓存。
6.如权利要求4所述的虚拟模型渲染方法,其特征在于,所述通过所述预渲染相机对包含法线纹理信息的目标虚拟模型进行拍摄,以对所述目标虚拟模型的法线纹理信息烘焙得到第二预渲染纹理贴图后存储至所述预渲染相机的渲染缓存,包括:
通过所述预渲染相机对包含法线纹理信息的目标虚拟模型对应的法线贴图进行采样,获取所述法线贴图中的世界空间法线,根据所述世界空间法线烘焙得到第二预渲染纹理贴图后存储至所述预渲染相机的渲染缓存。
7.如权利要求6所述的虚拟模型渲染方法,其特征在于,所述获取所述法线贴图中的世界空间法线,包括:
判断所述法线贴图对应的贴图类型,所述贴图类型包括切线空间法线贴图和世界空间法线贴图;
若所述法线贴图对应的贴图类型为切线空间法线贴图,则将所述法线贴图采样得到的切线空间法线转换成世界空间法线后输出;
若所述法线贴图对应的贴图类型为世界空间法线贴图,则将从顶点着色器传入的世界空间法线进行输出。
8.如权利要求1所述的虚拟模型渲染方法,其特征在于,所述从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图,包括:
确定当前待渲染的帧动画对应的目标预渲染纹理贴图在所述纹理贴图中的存储位置,根据所述存储位置获取待渲染的帧动画对应的目标预渲染纹理贴图。
9.如权利要求1所述的虚拟模型渲染方法,其特征在于,所述将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示,包括:
将所述渲染完成的帧动画的像素uv坐标映射到面片模型上,通过所述面片模型在虚拟场景中的指定位置投影显示所述渲染完成的帧动画。
10.一种虚拟模型渲染装置,其特征在于,所述虚拟模型渲染装置包括:
获取模块,用于获取目标虚拟模型对应的纹理贴图,所述纹理贴图包括所述目标虚拟模型在三维视角下对应不同预设姿态的多张预渲染纹理贴图;
确定模块,用于从所述纹理贴图中确定待渲染的帧动画对应的目标预渲染纹理贴图;
渲染模块,用于通过光照模型及所述目标预渲染纹理贴图进行光照计算得到目标虚拟模型渲染完成的帧动画;
显示模块,用于将所述渲染完成的帧动画在虚拟场景中的指定位置进行显示。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的虚拟模型渲染方法。
12.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令以执行权利要求1至9任一项所述的虚拟模型渲染方法。
CN202311688083.3A 2023-12-07 2023-12-07 虚拟模型渲染方法、装置、介质及设备 Pending CN117582661A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311688083.3A CN117582661A (zh) 2023-12-07 2023-12-07 虚拟模型渲染方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311688083.3A CN117582661A (zh) 2023-12-07 2023-12-07 虚拟模型渲染方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN117582661A true CN117582661A (zh) 2024-02-23

Family

ID=89919991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311688083.3A Pending CN117582661A (zh) 2023-12-07 2023-12-07 虚拟模型渲染方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN117582661A (zh)

Similar Documents

Publication Publication Date Title
CN109993823B (zh) 阴影渲染方法、装置、终端及存储介质
CN109685876B (zh) 毛发渲染方法、装置、电子设备及存储介质
US10055879B2 (en) 3D human face reconstruction method, apparatus and server
CN110033503B (zh) 动画显示方法、装置、计算机设备及存储介质
CN111324250B (zh) 三维形象的调整方法、装置、设备及可读存储介质
CN113052947B (zh) 一种渲染方法、装置、电子设备和存储介质
CN111932664A (zh) 图像渲染方法、装置、电子设备及存储介质
CN110853128B (zh) 虚拟物体显示方法、装置、计算机设备及存储介质
CN112245926B (zh) 虚拟地形的渲染方法、装置、设备及介质
CN111311757B (zh) 一种场景合成方法、装置、存储介质及移动终端
WO2018209710A1 (zh) 一种图像处理方法及装置
CN112465945B (zh) 一种模型生成方法、装置、存储介质及计算机设备
CN112907716B (zh) 虚拟环境中的云朵渲染方法、装置、设备及存储介质
CN112489179B (zh) 目标模型的处理方法、装置、存储介质及计算机设备
CN114565708A (zh) 一种选择抗锯齿算法的方法、装置、设备及可读存储介质
CN108665510B (zh) 连拍图像的渲染方法、装置、存储介质及终端
WO2021027890A1 (zh) 车牌图像生成方法、装置及计算机存储介质
CN111445563B (zh) 一种图像生成的方法以及相关装置
CN110555815B (zh) 一种图像处理方法和电子设备
CN112884873B (zh) 虚拟环境中虚拟物体的渲染方法、装置、设备及介质
CN116672706B (zh) 光照渲染方法、装置、终端和存储介质
CN113487662A (zh) 画面显示方法、装置、电子设备和存储介质
CN117582661A (zh) 虚拟模型渲染方法、装置、介质及设备
CN110728744A (zh) 一种体绘制方法、装置及智能设备
CN112181230A (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