CN114299203A - 虚拟模型的处理方法和装置 - Google Patents
虚拟模型的处理方法和装置 Download PDFInfo
- Publication number
- CN114299203A CN114299203A CN202111544914.0A CN202111544914A CN114299203A CN 114299203 A CN114299203 A CN 114299203A CN 202111544914 A CN202111544914 A CN 202111544914A CN 114299203 A CN114299203 A CN 114299203A
- Authority
- CN
- China
- Prior art keywords
- shadow
- vector
- virtual model
- target
- normal vector
- 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
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟模型的处理方法和装置。该方法包括:确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。本发明解决了相关技术中通过手工绘制的方式对虚拟模型的阴影进行刻画,导致处理效率较低,且处理效果较差的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种虚拟模型的处理方法和装置。
背景技术
目前,在非真实感渲染(Non-Photorealistic Rendering,简称为NPR)中,需要对虚拟模型的自投影、物理投影进行细致的刻画。相关技术中提供了顶点色阴影及贴图阴影的方案,在虚拟模型制作的过程中,可以通过绘制的方法将阴影区域写入顶点色或者贴图上,在渲染虚拟模型的过程中,可以通过读取虚拟模型的顶点色或者通过贴图采样值,判定当前区域是否为阴影区域。但是,上述技术方案需要美术人员手工绘制,而且在视角发生变化时,固定阴影也不会发生变化,阴影的整体性控制难度较大,处理时间较长。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种虚拟模型的处理方法和装置,以至少解决相关技术中通过手工绘制的方式对虚拟模型的阴影进行刻画,导致处理效率较低,且处理效果较差的技术问题。
根据本发明其中一实施例,提供了一种虚拟模型的处理方法,包括:确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
可选地,对目标子向量进行偏移,生成合成阴影包括:对目标子向量进行偏移,得到偏移后的法线向量,其中,多个方向上的子向量中除目标子向量的其他子向量保持不变;获取偏移后的法线向量和光照向量的点积,生成合成阴影。
可选地,对目标子向量进行偏移,得到偏移后的法线向量包括:获取目标子向量和第一偏移量之和,得到第一法线向量;获取目标子向量和第二偏移量之和,得到第二法线向量,其中,第一偏移量对应的方向与第二偏移量对应的方向相反;基于第一法线向量和/或第二法线向量,得到偏移后的法线向量。
可选地,在基于第一法线向量和第二法线向量,得到偏移后的法线向量的情况下,获取偏移后的法线向量和光照向量的点积,生成合成阴影包括:获取第一法线向量和光照向量的点积,得到第一阴影;获取第二法线向量和光照向量的点积,得到第二阴影;对第一阴影和第二阴影进行融合,生成合成阴影。
可选地,将合成阴影和实时阴影进行融合,得到目标阴影包括:对合成阴影的边缘进行调整,得到调整后的阴影;将调整后的阴影和实时阴影进行融合,得到目标阴影。
可选地,对合成阴影的边缘进行调整,得到调整后的阴影包括:按照合成阴影在第一预设材质和第二预设材质之间进行线性差值,得到调整后的阴影。
可选地,该方法还包括:获取虚拟模型在第一场景中的第一深度,其中,第一场景为以光源为视角的场景;获取虚拟模型在第二场景中的第二深度,其中,第二场景以虚拟摄像机为视角的场景;基于第一深度和第二深度的比较结果,生成实时阴影。
根据本发明其中一实施例,还提供了一种虚拟模型的处理装置,包括:确定模块,用于确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;生成模块,用于对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;融合模块,用于将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
可选地,生成模块包括:偏移单元,用于对目标子向量进行偏移,得到偏移后的法线向量,其中,多个方向上的子向量中除目标子向量的其他子向量保持不变;生成单元,用于获取偏移后的法线向量和光照向量的点积,生成合成阴影。
可选地,偏移单元包括:第一求和子单元,用于获取目标子向量和第一偏移量之和,得到第一法线向量;第二求和子单元,用于获取目标子向量和第二偏移量之和,得到第二法线向量,其中,第一偏移量对应的方向与第二偏移量对应的方向相反;处理子单元,用于基于第一法线向量和/或第二法线向量,得到偏移后的法线向量。
可选地,生成单元包括:第一点积子单元,用于获取第一法线向量和光照向量的点积,得到第一阴影;第二点积子单元,用于获取第二法线向量和光照向量的点积,得到第二阴影;融合子单元,用于获对第一阴影和第二阴影进行融合,生成合成阴影。
可选地,融合模块包括:调整单元,用于对合成阴影的边缘进行调整,得到调整后的阴影;融合单元,用于将调整后的阴影和实时阴影进行融合,得到目标阴影。
可选地,调整单元还用于按照合成阴影在第一预设材质和第二预设材质之间进行线性差值,得到调整后的阴影。
可选地,该装置还包括:第一深度获取模块,用于获取虚拟模型在第一场景中的第一深度,其中,第一场景为以光源为视角的场景;第二深度获取模块,用于获取虚拟模型在第二场景中的第二深度,其中,第二场景以虚拟摄像机为视角的场景;比较模块,用于基于第一深度和第二深度的比较结果,生成实时阴影。
根据本发明其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟模型的处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的虚拟模型的处理方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟模型的处理方法。
在本发明至少部分实施例中,在确定虚拟模型的目标法线向量之后,可以对目标法线向量中的目标子向量进行偏移,生成虚拟模型的合成阴影,进一步将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影,实现获得虚拟模型的非写实自身投影的目的。容易注意到的是,通过对目标法线向量进行偏移的方式生成阴影,也即,通过材质计算的方式快递的获得非写实自投影,避免手动绘制阴影贴图,同时与引擎内的动态阴影进行结合,实现了更加细致的自投影,达到了提高处理效果和处理效率的技术效果,进而解决了相关技术中通过手工绘制的方式对虚拟模型的阴影进行刻画,导致处理效率较低,且处理效果较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种虚拟模型的处理方法的移动终端的硬件结构框图;
图2是根据本发明其中一实施例的虚拟模型的处理方法的流程图;
图3a是根据相关技术的一种可选的渲染效果的示意图;
图3b是根据本发明其中一实施例的一种可选的渲染效果的示意图;
图4是根据本发明其中一实施例的虚拟模型的处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本发明实施例中记载的技术术语或技术名词进行如下解释说明:
NPR:使用渲染方法使得虚拟模型达到艺术式的绘制风格相似的效果。
PBR:Physicallly-Based-Rendering,基于物理渲染,采用了物理真实的光照模型。
Self Shadow:自阴影,虚拟模型自身的光源遮挡关系形成的阴影遮蔽区域。
Shadow Map:阴影贴图,用于模拟虚拟模型之前产生的投影、阴影。
CSM:Cascaded Shadow Map,级联阴影贴图,目前游戏引擎中常用的实时阴影算法。
Shader:着色器,是用来实现图像渲染的,用来替代固定渲染管线的可编辑程序。
在NRP中,常常会对人物的自投影、物体阴影进行较为细致的刻画,但PBR的引擎中,由于过多的光照会导致阴影削弱,很难通过打光的方式来实现,在非真实感渲染的人物中常常会通过添加一层固定阴影,或在材质中额外计算出动态的自身阴影。
顶点色阴影及贴图阴影是比较常见的固定阴影方案,在虚拟模型制作的过程中,可以通过绘制的方法将阴影区域写入顶点色或者贴图上,在渲染虚拟模型的过程中,可以通过读取虚拟模型的顶点色或者通过贴图采样值,判定当前区域是否为阴影区域。
但是,上述方案需要比较有经验的美术来应用此方案,顶点色阴影对模型的布线也有一定的要求,面数比较少的模型比较难控制,并且在视角变化时,固定阴影也不会发生变化,导致上述方案通过手绘的方式较难控制阴影的整体性,所花的时间会比较长。
为了解决上述技术问题,本发明提供了一种虚拟模型的处理方案,可以通过偏移法线方向,并与PBR中的实时动态阴影CSM进行融合,得到非写实化的实时动态阴影,达到提升虚拟模型自阴影的效果,实现NPR的模型的自阴影绘制、效果及效率的提升,以及模型自阴影上的整体性及风格上的提升。
根据本发明其中一实施例,提供了一种虚拟模型的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD、游戏机等终端设备。图1是本发明实施例的一种虚拟模型的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的虚拟模型的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟模型的处理方法。存储器104可包括高速随机存储器,还可包括计算机可读存储器,如一个或者多个磁性存储装置、闪存、或者其他计算机可读固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在一种可能的实施方式中,本发明实施例提供了一种虚拟模型的处理方法。图2是根据本发明其中一实施例的虚拟模型的处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量。
上述步骤中的虚拟模型可以是游戏场景中的NPR的三维模型,例如,可以是玩家操作的人物模型,也可以是游戏场景中的植物、房屋等固定不变的模型。
上述步骤中的目标法线向量可以表示虚拟模型中每个顶点的法线方向,法线方向与每个顶点所在平面垂直。虚拟模型是三维模型,因此,目标法线向量可以包含三个方向(即X方向、Y方向和Z方向)的子向量。
在一种可选的实施例中,由于虚拟模型渲染所使用的Shader中包含有所有顶点的属性,该属性中包含有法线向量。因此,可以通过读取Shader的方式读取出目标法线向量。
步骤S204,对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量。
需要说明的是,在PBR的引擎中,目标法线向量与光源之间的位置关系会影响虚拟模型的自阴影,也即,目标法线向量与光照向量的夹角不同,虚拟模型的自阴影不同。而且,在游戏场景中,光源可以是阳光、灯光等固定光源,相应的光照向量固定,也即,目标法线向量中Z方向上的子向量对阴影的影响更大,因此,上述的预设方向可以是Z方向,打不仅限于此,可以根据实际应用场景需要进行设定。
在一种可选的实施例中,为了能够准确刻画虚拟模型的自投影,可以通过对目标法线向量进行偏移,并基于目标法线向量与光照向量的点积,确定目标法线向量与光照向量的角度,进而生成虚拟模型的合成阴影。
步骤S206,将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
上述步骤中的实时阴影可以是PBR的引擎中常用的实时动态阴影CSM,但不仅限于此。
在一种可选的实施例中,可以修改虚拟模型渲染所使用的Shader,在PBR的引擎计算中增加将合成阴影和实时阴影进行融合,从而得到最终虚拟模型的目标阴影。
采用本发明上述实施例,在确定虚拟模型的目标法线向量之后,可以对目标法线向量中的目标子向量进行偏移,生成虚拟模型的合成阴影,进一步将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影,实现获得虚拟模型的非写实自身投影的目的。容易注意到的是,通过对目标法线向量进行偏移的方式生成阴影,也即,通过材质计算的方式快递的获得非写实自投影,避免手动绘制阴影贴图,同时与引擎内的动态阴影进行结合,实现了更加细致的自投影,达到了提高处理效果和处理效率的技术效果,进而解决了相关技术中通过手工绘制的方式对虚拟模型的阴影进行刻画,导致处理效率较低,且处理效果较差的技术问题。
可选地,对目标子向量进行偏移,生成合成阴影包括:对目标子向量进行偏移,得到偏移后的法线向量,其中,多个方向上的子向量中除目标子向量的其他子向量保持不变;获取偏移后的法线向量和光照向量的点积,生成合成阴影。
上述的光照向量可以表示游戏场景中的光源的光照方向。对于同一个虚拟模型,不同光照向量所产生的自阴影也不同。
在一种可选的实施例中,可以仅仅对目标法线向量中预设方向上的目标子向量进行偏移,其他方向上的子向量保持不变,得到偏移后的法线向量,然后计算偏移后的法线向量和光照向量的点积,可以确定偏移后的法线向量和光照向量的夹角,进而得到虚拟模型的合阴影。
通过上述方案,通过对目标法线向量进行偏移,并与光照向量进行点积,生成合成阴影,实现通过材质计算的方法获得虚拟模型的自投影,达到提高处理效率的效果。
可选地,对目标子向量进行偏移,得到偏移后的法线向量包括:获取目标子向量和第一偏移量之和,得到第一法线向量;获取目标子向量和第二偏移量之和,得到第二法线向量,其中,第一偏移量对应的方向与第二偏移量对应的方向相反;基于第一法线向量和/或第二法线向量,得到偏移后的法线向量。
上述的第一偏移量可以是使得目标子向量向上偏移的偏移量,第二偏移量可以是使得目标子向量向下偏移的偏移量,第一偏移量和第二偏移量的取值可以相同也可以不同,可以根据虚拟模型的阴影刻画需要进行确定,本发明对此不作具体限定。
需要说明的是,虚拟模型的自阴影区域与不同顶点的位置关系不同,因此,对于不同顶点,可以对目标子向量向不同方向进行偏移。在一种可选的实施例中,为了提高自阴影的效果,可以基于第一法线向量和第二法线向量得到偏移后的法线向量。在Shader中,可以对Z方向的子分量进行偏移,分为上偏移和下偏移,具体处理公式如下:
NUp=float3(Nx,Ny,Nz+OffsetUp),
Ndown=float3(Nx,Ny,Nz+OffsetDown),
其中,N表示目标法线向量,OffsetUp表示第一偏移量,NUp表示第一法线向量,OffsetDown表示第二偏移量,Ndown表示第二法线向量。
通过上述方案,通过将目标法线向量与偏移量进行叠加,实现根据实际需要对目标法线向量进行不同程度的偏移,达到提高偏移准确度,进而提高虚拟模型的自阴影的效果。
可选地,在基于第一法线向量和第二法线向量,得到偏移后的法线向量的情况下,获取偏移后的法线向量和光照向量的点积,生成合成阴影包括:获取第一法线向量和光照向量的点积,得到第一阴影;获取第二法线向量和光照向量的点积,得到第二阴影;对第一阴影和第二阴影进行融合,生成合成阴影。
在一种可选的实施例中,在对目标子向量同时进行两个方向的偏移的情况下,为了得到最终的合成阴影,可以分别计算不同方向上的阴影(即上述的第一阴影和第二阴影),然后通过阴影融合生成合成阴影。具体处理公式如下:
Sup=0.5*Dot(NUp,L)+0.5,
Sdown=0.5*Dot(Ndown,L)+0.5,
S=Mul(Sup,Sdown),
其中,Sup表示第一阴影,Sdown表示第二阴影,阴影表示的区间范围可以是0-1,L表示光照向量,S表示合成阴影,Mul表示灰度值阴影的乘积。
通过上述方案,对于不同方向偏移得到的法线向量,可以分别通过和光照向量进行点积,得到不同方向上的阴影,进而通过阴影融合的方式生成合成阴影,达到提高虚拟模型的自阴影的效果。
需要说明的是,在基于第一法线向量或第二法线向量,得到偏移后的法线向量的情况下,合成阴影可以是上述公式中计算得到的第一阴影或第二阴影。
可选地,将合成阴影和实时阴影进行融合,得到目标阴影包括:对合成阴影的边缘进行调整,得到调整后的阴影;将调整后的阴影和实时阴影进行融合,得到目标阴影。
在一种可选的实施例中,由两个向量点积得到的渐变区域范围需要调整,调整后的阴影的边缘过渡会偏硬,进而通过与实时阴影进行融合,使得阴影变化更贴合虚拟模型本身的材质变化。例如,将调整后的阴影和实时阴影进行融合的处理公式如下:
Shadow=Mul(S′,CSM),
其中,S′表示调整后的阴影,CSM表示实时阴影。
可选地,对合成阴影的边缘进行调整,得到调整后的阴影包括:按照合成阴影在第一预设材质和第二预设材质之间进行线性差值,得到调整后的阴影。
在一种可选的实施例中,可以通过如下公式对合成阴影的边缘进行调整:
S′=Lerp(-Contrast,Contrast+1,S),
其中,Contrast表示根据需要设定的对比度,取值越大,使得边缘过渡越硬,可以根据虚拟模型的实际需要进行设定,本发明对此不做具体限定;Lerp表示线性差值函数。
通过上述方案,通过线性差值的方式对合成阴影的边缘进行调整,使得阴影变化更贴合虚拟模型本身的材质变化。
可选地,该方法还包括:获取虚拟模型在第一场景中的第一深度,其中,第一场景为以光源为视角的场景;获取虚拟模型在第二场景中的第二深度,其中,第二场景以虚拟摄像机为视角的场景;基于第一深度和第二深度的比较结果,生成实时阴影。
在一种可选的实施例中,可以从游戏中预设的光源的视角出发,绘制放置有虚拟模型的整个场景,生成深度图,从而确定虚拟模型中每个位置的第一深度;从游戏中预设的虚拟摄像机的视角出发,也即,从玩家当前观察窗口的视角出发,绘制放置有虚拟模型的整个场景,生成深度图,从而确定虚拟模型中每个位置的第二深度。进一步地,将第一深度和第二深度进行比较,如果第二深度大于第一深度,则表明当前位置处于阴影内;否则当前位置未处于阴影内,进而可以生成虚拟模型的实时阴影。
需要说明的是,第一深度和第二深度对应的坐标空间不同,因此,可以对第二深度进行坐标转换,将世界坐标空间转换为光源的投影空间,并将转换后的第二深度和第一深度进行比较。
下面结合图3a和图3b对本发明一种优选的实施例进行详细说明,该方法包括如下步骤:在着色器中对目标法线向量进行偏移,与光照向量进行点积,得到上偏移阴影和下偏移阴影;通过乘法对上偏移阴影和下偏移阴影进行融合,得到合成阴影,并对合成阴影使用对比的方式进行柔和度变换;在PBR引擎的着色器中,将合成阴影和引擎中的动态阴影CSM进行融合,得到最终的虚拟模型的阴影变化。在未采用上述方法进行处理之前,渲染效果如图3a所示,在采用上述方法进行处理之后,渲染效果如图3b所示。
通过上述方案,通过材质计算的方法可以快速的获得虚拟模型的非写实自投影息,避免了手工绘制阴影贴图,同时与PBR引擎内的动态阴影结合,达到了更加细致的虚拟模型的自投影;通过实时的方式进行自阴影计算与合成,不需要额外的贴图采样,只需要在着色器中处理即可。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种虚拟模型的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”、“模块”、“子单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明其中一实施例的虚拟模型的处理装置的结构框图,如图4所示,该装置包括:
确定模块42,用于确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;
生成模块44,用于对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;
融合模块46,用于将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
可选地,生成模块包括:偏移单元,用于对目标子向量进行偏移,得到偏移后的法线向量,其中,多个方向上的子向量中除目标子向量的其他子向量保持不变;生成单元,用于获取偏移后的法线向量和光照向量的点积,生成合成阴影。
可选地,偏移单元包括:第一求和子单元,用于获取目标子向量和第一偏移量之和,得到第一法线向量;第二求和子单元,用于获取目标子向量和第二偏移量之和,得到第二法线向量,其中,第一偏移量对应的方向与第二偏移量对应的方向相反;处理子单元,用于基于第一法线向量和/或第二法线向量,得到偏移后的法线向量。
可选地,在基于第一法线向量和第二法线向量,得到偏移后的法线向量的情况下,生成单元包括:第一点积子单元,用于获取第一法线向量和光照向量的点积,得到第一阴影;第二点积子单元,用于获取第二法线向量和光照向量的点积,得到第二阴影;融合子单元,用于获对第一阴影和第二阴影进行融合,生成合成阴影。
可选地,融合模块包括:调整单元,用于对合成阴影的边缘进行调整,得到调整后的阴影;融合单元,用于将调整后的阴影和实时阴影进行融合,得到目标阴影。
可选地,调整单元还用于按照合成阴影在第一预设材质和第二预设材质之间进行线性差值,得到调整后的阴影。
可选地,该装置还包括:第一深度获取模块,用于获取虚拟模型在第一场景中的第一深度,其中,第一场景为以光源为视角的场景;第二深度获取模块,用于获取虚拟模型在第二场景中的第二深度,其中,第二场景以虚拟摄像机为视角的场景;比较模块,用于基于第一深度和第二深度的比较结果,生成实时阴影。
需要说明的是,上述各个单元、模块、子单元是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元、模块、子单元均位于同一处理器中;或者,上述各个单元、模块、子单元以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;
S2,对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;
S3,将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定虚拟模型的目标法线向量,其中,目标法线向量包括多个方向上的子向量;
S2,对目标子向量进行偏移,生成虚拟模型的合成阴影,其中,目标子向量为多个方向中预设方向上的子向量;
S3,将合成阴影和虚拟模型的实时阴影进行融合,得到虚拟模型的目标阴影。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟模型的处理方法,其特征在于,包括:
确定虚拟模型的目标法线向量,其中,所述目标法线向量包括多个方向上的子向量;
对目标子向量进行偏移,生成所述虚拟模型的合成阴影,其中,所述目标子向量为所述多个方向中预设方向上的子向量;
将所述合成阴影和所述虚拟模型的实时阴影进行融合,得到所述虚拟模型的目标阴影。
2.根据权利要求1所述的方法,其特征在于,对所述目标子向量进行偏移,生成所述合成阴影包括:
对所述目标子向量进行偏移,得到偏移后的法线向量,其中,所述多个方向上的子向量中除所述目标子向量的其他子向量保持不变;
获取所述偏移后的法线向量和光照向量的点积,生成所述合成阴影。
3.根据权利要求2所述的方法,其特征在于,对所述目标子向量进行偏移,得到所述偏移后的法线向量包括:
获取所述目标子向量和第一偏移量之和,得到第一法线向量;
获取所述目标子向量和第二偏移量之和,得到第二法线向量,其中,所述第一偏移量对应的方向与所述第二偏移量对应的方向相反;
基于所述第一法线向量和/或所述第二法线向量,得到所述偏移后的法线向量。
4.根据权利要求3所述的方法,其特征在于,在基于所述第一法线向量和所述第二法线向量,得到所述偏移后的法线向量的情况下,获取所述偏移后的法线向量和光照向量的点积,生成所述合成阴影包括:
获取所述第一法线向量和所述光照向量的点积,得到第一阴影;
获取所述第二法线向量和所述光照向量的点积,得到第二阴影;
对所述第一阴影和所述第二阴影进行融合,生成所述合成阴影。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,将所述合成阴影和所述实时阴影进行融合,得到所述目标阴影包括:
对所述合成阴影的边缘进行调整,得到调整后的阴影;
将所述调整后的阴影和所述实时阴影进行融合,得到所述目标阴影。
6.根据权利要求5所述的方法,其特征在于,对所述合成阴影的边缘进行调整,得到调整后的阴影包括:
按照所述合成阴影在第一预设材质和第二预设材质之间进行线性差值,得到所述调整后的阴影。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述虚拟模型在第一场景中的第一深度,其中,所述第一场景为以光源为视角的场景;
获取所述虚拟模型在第二场景中的第二深度,其中,所述第二场景以虚拟摄像机为视角的场景;
基于所述第一深度和所述第二深度的比较结果,生成所述实时阴影。
8.一种虚拟模型的处理装置,其特征在于,包括:
确定模块,用于确定虚拟模型的目标法线向量,其中,所述目标法线向量包括多个方向上的子向量;
生成模块,用于对目标子向量进行偏移,生成所述虚拟模型的合成阴影,其中,所述目标子向量为所述多个方向中预设方向上的子向量;
融合模块,用于将所述合成阴影和所述虚拟模型的实时阴影进行融合,得到所述虚拟模型的目标阴影。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的虚拟模型的处理方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的虚拟模型的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544914.0A CN114299203A (zh) | 2021-12-16 | 2021-12-16 | 虚拟模型的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544914.0A CN114299203A (zh) | 2021-12-16 | 2021-12-16 | 虚拟模型的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114299203A true CN114299203A (zh) | 2022-04-08 |
Family
ID=80966998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111544914.0A Pending CN114299203A (zh) | 2021-12-16 | 2021-12-16 | 虚拟模型的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114299203A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883580A (zh) * | 2023-07-07 | 2023-10-13 | 上海散爆信息技术有限公司 | 一种丝袜对象渲染方法和装置 |
-
2021
- 2021-12-16 CN CN202111544914.0A patent/CN114299203A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883580A (zh) * | 2023-07-07 | 2023-10-13 | 上海散爆信息技术有限公司 | 一种丝袜对象渲染方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111145326A (zh) | 三维虚拟云模型的处理方法、存储介质、处理器及电子装置 | |
US11048335B2 (en) | Stroke operation prediction for three-dimensional digital content | |
CN105283900A (zh) | 用于压缩顶点着色器输出参数的方案 | |
CN111047509A (zh) | 一种图像特效处理方法、装置及终端 | |
CN111311761B (zh) | 基于图形学在gis系统模拟爆炸火焰效果处理方法及装置 | |
CN108447111B (zh) | 法线贴图的处理方法、装置、存储介质、处理器及终端 | |
CN113318428A (zh) | 游戏的显示控制方法、非易失性存储介质及电子装置 | |
CN109598672B (zh) | 一种地图道路渲染方法及装置 | |
CN115375822A (zh) | 云模型的渲染方法、装置、存储介质及电子装置 | |
CN114299203A (zh) | 虚拟模型的处理方法和装置 | |
CN115512193A (zh) | 面部表情生成方法和装置 | |
US10754498B2 (en) | Hybrid image rendering system | |
WO2023197911A1 (zh) | 三维虚拟对象生成方法、装置、设备、介质和程序产品 | |
CN116452704A (zh) | 镜头光晕特效的生成方法、装置、存储介质及电子装置 | |
CN113706675B (zh) | 镜像处理方法、装置、存储介质和电子装置 | |
CN116468839A (zh) | 模型渲染方法、装置、存储介质及电子装置 | |
CN113947663A (zh) | 植被模型的生成方法、装置、存储介质和电子装置 | |
CN112396680B (zh) | 毛发流向图的制作方法及装置、存储介质、计算机设备 | |
CN115089964A (zh) | 渲染虚拟雾模型的方法、装置、存储介质及电子装置 | |
CN115131489A (zh) | 云层渲染方法、装置、存储介质及电子装置 | |
CN114742970A (zh) | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 | |
CN115115814A (zh) | 信息处理方法、装置、可读存储介质和电子装置 | |
KR101630257B1 (ko) | 3d 이미지 제공 시스템 및 그 제공방법 | |
CN114022616A (zh) | 模型处理方法及装置、电子设备及存储介质 | |
CN114299211A (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 |