CN111862285A - 人物皮肤的渲染方法及装置、存储介质、电子装置 - Google Patents

人物皮肤的渲染方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN111862285A
CN111862285A CN202010660981.8A CN202010660981A CN111862285A CN 111862285 A CN111862285 A CN 111862285A CN 202010660981 A CN202010660981 A CN 202010660981A CN 111862285 A CN111862285 A CN 111862285A
Authority
CN
China
Prior art keywords
map
mapping data
material information
face
mapping
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
CN202010660981.8A
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.)
Perfect World Beijing Software Technology Development Co Ltd
Original Assignee
Perfect World Beijing Software Technology Development 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 Perfect World Beijing Software Technology Development Co Ltd filed Critical Perfect World Beijing Software Technology Development Co Ltd
Priority to CN202010660981.8A priority Critical patent/CN111862285A/zh
Publication of CN111862285A publication Critical patent/CN111862285A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本发明提供了一种人物皮肤的渲染方法及装置、存储介质、电子装置,其中,该方法包括:获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息,其中,所述材质信息用于表征所述虚拟人物的次表面散射状态;根据所述材质信息和所述第一贴图数据生成第二贴图数据;使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。通过本发明,解决了相关技术中的虚拟人物的面部生硬僵化的技术问题,使虚拟人物的面部更生动自然,灵动真实。

Description

人物皮肤的渲染方法及装置、存储介质、电子装置
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种人物皮肤的渲染方法及装置、存储介质、电子装置。
背景技术
相关技术中随着计算机图形学的发展,人们对图像逼真度的追求越来越高。利用图像学的技术可以描述越来越多的真实图像,其中通过法线贴图的方法可以是提高对三维图像描述的逼真度。在计算机处理能力有限的情况下或者渲染动画受时间限制时,法线贴图也是比较好的解决办法,法线贴图多用于CG动画的渲染以及游戏画面的制作上,将具有高细节的模型通过映射烘焙出法线贴图,然后赋予低端模型的法线贴图通道上,使其表面具有光影分布的渲染效果,能大大降低表现物体时需要的面数和计算内容,从而达到优化动画和游戏的渲染效果。
相关技术中,在采用贴图渲染人物,尤其是面部时,通常只考虑了光线的反射和阴影,没有考虑光线的次表面散射而带来的光线变化,因此面部比较生硬僵化,因此,相关技术的三维图像模拟技术存在逼真度低的缺陷。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种人物皮肤的渲染方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种人物皮肤的渲染方法,包括:获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息,其中,所述材质信息用于表征所述虚拟人物的次表面散射状态;根据所述材质信息和所述第一贴图数据生成第二贴图数据;使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:获取所述材质信息中的查找纹理LUT图;根据所述LUT图修改所述第一贴图数据中NdotL项的直接光的漫反射强度,以生成所述第二贴图数据。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:获取所述材质信息中的NdotH参数;根据所述NdotH参数调整所述第一贴图数据中正面散射参数和正面次表面漫反射参数,以生成所述第二贴图数据。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:获取所述材质信息中的曲率参数;根据所述曲率参数截取所述面部贴图中耳廓区域;调整所述第一贴图数据中耳廓区域的散射参数,以生成所述第二贴图数据,其中,所述散射参数包括:half3 TransLightDir,half TransDot,half WrapNoL,half backSSSMask,half3backSSSDiffuse。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:根据所述材质信息计算所述面部贴图中油脂层的粗糙度;在所述第一贴图数据的第一微表面分布函数GGX高光中按照预定比例混合所述粗糙度的第二GGX高光,以生成所述第二贴图数据。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:获取所述材质信息中的曲率参数;根据所述曲率参数生成面部遮罩;在所述第一贴图数据法线通道和粗糙度通道中分别混合所述面部遮罩的细节法线和粗糙度,以生成所述第二贴图数据。
可选的,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:根据材质信息的GGX双向反射分布函数BRDF模型中获取所述面部贴图的粗糙度;根据所述粗糙度调整所述第一贴图数据中的高光参数,以生成所述第二贴图数据,其中,所述高光参数包括:half3 crystalMaskMap,half3crystalMap01,half3 crystalMap02,half3crystalMap03,half3 crystalMask,half3crystalSpecularColor。
可选的,所述方法还包括:截取所述面部贴图的背光面;在所述背光面补充直接光的光照分量;在所述背光面的第一贴图数据中增加所述光照分量,以生成所述第二贴图数据。
根据本发明的另一个实施例,提供了一种人物皮肤的渲染装置,包括:获取模块,用于获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息,其中,所述材质信息用于表征所述虚拟人物的次表面散射状态;第一生成模块,用于根据所述材质信息和所述第一贴图数据生成第二贴图数据;渲染模块,用于使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。
可选的,所述生成模块包括:第一获取单元,用于获取所述材质信息中的查找纹理LUT图;修改单元,用于根据所述LUT图修改所述第一贴图数据中NdotL项的直接光的漫反射强度,以生成所述第二贴图数据。
可选的,所述生成模块包括:第二获取单元,用于获取所述材质信息中的NdotH参数;第一调整单元,用于根据所述NdotH参数调整所述第一贴图数据中正面散射参数和正面次表面漫反射参数,以生成所述第二贴图数据。
可选的,所述生成模块包括:第三获取单元,用于获取所述材质信息中的曲率参数;截取单元,用于根据所述曲率参数截取所述面部贴图中耳廓区域;第二调整单元,用于调整所述第一贴图数据中耳廓区域的散射参数,以生成所述第二贴图数据,其中,所述散射参数包括:half3 TransLightDir,half TransDot,half WrapNoL,half backSSSMask,half3 backSSSDiffuse。
可选的,所述生成模块包括:计算单元,用于根据所述材质信息计算所述面部贴图中油脂层的粗糙度;第一混合单元,用于在所述第一贴图数据的第一微表面分布函数GGX高光中按照预定比例混合所述粗糙度的第二GGX高光,以生成所述第二贴图数据。
可选的,所述生成模块包括:第四获取单元,用于获取所述材质信息中的曲率参数;第二生成模块,用于根据所述曲率参数生成面部遮罩;第二混合单元,用于在所述第一贴图数据法线通道和粗糙度通道中分别混合所述面部遮罩的细节法线和粗糙度,以生成所述第二贴图数据。
可选的,所述生成模块包括:第五获取单元,用于根据材质信息的GGX双向反射分布函数BRDF模型中获取所述面部贴图的粗糙度;第三调整单元,用于根据所述粗糙度调整所述第一贴图数据中的高光参数,以生成所述第二贴图数据,其中,所述高光参数包括:half3 crystalMaskMap,half3 crystalMap09,half3 crystalMap02,half3crystalMap03,half3 crystalMask,half3 crystalSpecularColor。
可选的,所述装置还包括:截取模块,用于在所述获取模块获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据之后,截取所述面部贴图的背光面;补充模块,用于在所述背光面补充直接光的光照分量;处理模块,用于在所述背光面的第一贴图数据中增加所述光照分量,以生成所述第二贴图数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及虚拟人物的材质信息,然后根据材质信息和第一贴图数据生成第二贴图数据,最后使用第二贴图数据在次表面散射皮肤模型上渲染面部贴图,通过在原有的面部贴图中增加或增强光线的散射效果,增强了面部皮肤的层次感,解决了相关技术中的虚拟人物的面部生硬僵化的技术问题,使虚拟人物的面部更生动自然,灵动真实。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种人物皮肤的渲染计算机的硬件结构框图;
图2是根据本发明实施例的一种人物皮肤的渲染方法的流程图;
图3是本发明实施例光照散射的示意图;
图4是本发明实施例中GGX曲线的示意图;
图5是本发明实施例的贴图数据修改前后的渲染示意图;
图6是根据本发明实施例的一种人物皮肤的渲染装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、平板、计算机或者类似的电子终端中执行。以运行在计算机上为例,图1是本发明实施例的一种人物皮肤的渲染计算机的硬件结构框图。如图1所示,计算机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种人物皮肤的渲染方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,处理器104用于响应人机交互指令和游戏策略,控制目标虚拟角色执行指定操作以完成游戏任务。存储器104用于存储电子游戏的程序脚本,配置信息,虚拟角色的属性信息等。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选的,输入输出设备108还包括人机交互屏幕用于通过人机交互接口获取人机交互指令,还用于呈现游戏任务中的游戏画面;
在本实施例中提供了一种人物皮肤的渲染方法,图2是根据本发明实施例的一种人物皮肤的渲染方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及虚拟人物的材质信息,其中,材质信息用于表征虚拟人物的次表面散射状态;
本实施例的次表面散射(Sub-Surface-Scattering,SSS),用来描述光线穿过透明/半透明表面时发生散射的照明现象,是指光从表面进入物体经过内部散射,然后又通过物体表面的其他顶点出射的光线传递过程,由于人物模型一般都存在光照条件下,包括直接光和间接光,其面部受光照的次表面散射,会改变面部部分区域的颜色的亮度,散射区域更加通透。
而面部的皮肤作为一种属性复杂的材质,其物理结构由多层结构组成,其表面油脂层主要贡献了皮肤光照的反射部分,而油脂层下面的表皮层和真皮层则主要贡献了的次表面散射部分。
在本实施例的一些示例中,通过反编译工具来获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,分析渲染流程,提取贴图,用Ninja Ripper提取带uv的模型,再用Max翻转一次法线,导出成FBX文件。
步骤S204,根据材质信息和第一贴图数据生成第二贴图数据;
可选的,可以通过调整或增加第一贴图数在RGB通道或者是RGBA通道中赋值来生成第二贴图数据。
步骤S206,使用第二贴图数据在次表面散射皮肤模型上渲染面部贴图。
本实施例的次表面散射皮肤模型相较于预积分皮肤模型,增加了次表面散射的渲染参数。
通过上述步骤,获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及虚拟人物的材质信息,然后根据材质信息和第一贴图数据生成第二贴图数据,最后使用第二贴图数据在次表面散射皮肤模型上渲染面部贴图,通过在原有的面部贴图中增加或增强光线的散射效果,增强了面部皮肤的层次感,解决了相关技术中的虚拟人物的面部生硬僵化的技术问题,使虚拟人物的面部更生动自然,灵动真实。
图3是本发明实施例光照散射的示意图,光线从一种介质(空气)射向另一种介质(皮肤)时会发生两种现象,一部分光线在介质交界处发生了反射,并未进入另外一种介质,另外一部分光线则进入了另一种介质就会发生折射(透射),光线的两种现象合称为光线的散射,反射部分光照的辐射亮度(radiance)和入射光照的辐射照度(irradiance)之比是一个关于入射角度、出射角度的函数,这个函数就被称之为双向反射分布函数(BRDF)。穿越介质的那部分光照的辐射亮度和辐射照度的函数就被称为双向透射分布函数(BTDF)。这两部分出射光的辐射亮度总和入射光的辐射照度的比例就被叫做双向散射分布函数(BSDF),即BSDF=BRDF+BTDF。
如果我们把光线行进的路线分为反射和透射,反射用R表示,透射用T表示,那么光线从一个点到另外一个点之间行进的路线就可以用R和T表示,比如BRDF描述的路径就是R,BTDF描述的路径就是TT,除此之外可能还会出现TRT,TRRRT等光照路线,由此在光线入射点的附近应该有许多的出射光线。实际渲染中,如果光线出射点的位置和入射点相距不足一个像素,我们就认为入射点和出射点位置相同,这时候当前像素的光照只受其自身影响;如果入射点和出射点相距超过一个像素,则表示某个像素的光照结果不仅仅受当前像素影响,同时还受附近其他像素的光照影响,即次表面散射效果。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:获取材质信息中的查找纹理(Look up texture,LUT)图;根据LUT图修改第一贴图数据中NdotL(光线向量与入射光向量做点积)项的直接光的漫反射强度,以生成第二贴图数据。
红绿蓝(RGB)三种颜色的光在皮肤上的散射有所不同。一般来说,红光散射较远,蓝光散射较近,绿光介于两者之间。延迟渲染中常用的屏幕空间皮肤渲染,会使用不同的核函数,对不同通道的光进行扩散。因此,当出射光线集中分布在红色区域内时,则认为次表面散射效果可以忽略,当出射光线较为均匀地分布在绿色区域内时,则需要单独考虑次表面散射效果。
由于移动端前向渲染的限制,预积分皮肤模型用预烘焙的LUT图修改NdotL项,改变原有的皮肤的漫反射表现。其中,half3 sssnl=tex2D(_LUT,float2(nl*0.5+0.5,1.0-sss强度)).rgb,其中,sss强度是mix map(混合贴图)的G通道,half3=(half x,half y,half z),nl=dot(N,L),N:世界空间的法线方向,L:世界空间的灯光方向。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:获取材质信息中的NdotH参数(光线向量与半角向量做点积);根据NdotH参数调整第一贴图数据中正面散射参数和正面次表面漫反射参数,以生成第二贴图数据。
在本实施方式中,同时加入光线的正面的深层散射和背光时的透射,相比较于深层散射没有背光透射的方案,增强了面部的层次感,使用ue4工具的次表面着色模型(subsurface shading model),加上NdotH增强层次效果。正面散射参数(frontScatter)和正面次表面漫反射参数(frontSSSDiffuse)的调整算法如下:
half3 frontScatter=nh*saturate(nl+0.5)*light.color;
half3 frontSSSDiffuse=lerp(1.0,frontScatter,0.8)*curvature*SSColor.rgb;
其中,SSSColor:散射颜色,Curvature:模型曲率,可以由高模烘焙成贴图。
其中,nh=dot(N,H),N:世界空间的法线方向,V:世界空间的视方向,H=normalize(L,V),通过使用blinn-phong的光照分布,增强皮肤正面的次表面散射SSS表现,在面部可以增加了眼影的效果。
由于次表面散射的效果主要发生在曲率较大的位置(或者说光照情况变化陡峭的位置),而在比较平坦的位置则不容易显现出次表面散射的效果(比如鼻梁处的次表面散射就比额头处的次表面散射效果要强),在有凹凸细节的部位也容易出现次表面散射,较大曲率是由几何形状产生的,凹凸细节则一般是通过法线贴图来补充。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:获取材质信息中的曲率参数;根据曲率参数截取面部贴图中耳廓区域;调整第一贴图数据中耳廓区域的散射参数,以生成第二贴图数据,其中,散射参数包括:half3TransLightDir,half TransDot,half WrapNoL,half backSSSMask,half3backSSSDiffuse。
本实施方式中,用curvature(曲率参数)截取了最亮的部分作为mask(遮罩),可以是独立出一张图,便于控制,调整算法如下:
half3 TransLightDir=light.dir+normal*0.5;
half TransDot=saturate(dot(-TransLightDir,viewDir));
half WrapNoL=saturate(-nl*0.5+0.5);
half backSSSMask=saturate((curvature+_SSSBackRange-1.0)/max(0.01,_SSSBackRange));
half3 backSSSDiffuse=pow(TransDot,_SSSPower)*WrapNoL*backSSSMask*light.color*SSSColor.rgb;
其中,SSSBackRange:SSS背光范围,SSSColor:SSS颜色,backSSSMask:背光透射的mask,SSSPower:控制SSS光照的光点柔和程度。
背光投射计算需要模拟材料内部光线的散射。每条射线可以分裂成多束,在材料内部反射数百甚至数千次。通过简化,在不透明的材料中,光的贡献直接来自光源。相对于光的方向倾斜90度以上的顶点不接收光。半透明材料因为散射的效应,可以将某些光实际上穿过该材料并使其到达另一侧。所以,假定背面有一个与当前光照方向相反的光源,可以模拟背光透射的效果。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:获取材质信息中的曲率参数;根据曲率参数生成面部遮罩;在第一贴图数据法线通道和粗糙度通道中分别混合面部遮罩的细节法线和粗糙度,以生成第二贴图数据。
细节法线主要的作用是表现皮肤的毛孔,用curvature作为mask,混合细节法线图的法线(b通道和a(Alpha)通道)和粗糙度(r通道)。采用本实施例的方案,鼻尖,眼角等曲率变化较大的区域,细节法线的权重较低,皮肤表现较平滑脸颊等曲率变化较小的区域,细节法线的权重较高,毛孔的感觉会更加突出。
由于次表面散射的效果主要发生在曲率较大的位置(或者说光照情况变化陡峭的位置),而在比较平坦的位置则不容易显现出次表面散射的效果(比如鼻梁处的次表面散射就比额头处的次表面散射效果要强),在有凹凸细节的部位也容易出现次表面散射,较大曲率是由几何形状产生的,凹凸细节则一般是通过法线贴图来补充。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:根据材质信息计算面部贴图中油脂层的粗糙度;在第一贴图数据的第一微表面分布函数GGX高光中按照预定比例混合粗糙度的第二GGX高光,以生成第二贴图数据。
因为皮肤表面有油脂,会产生更为尖锐、集中的高光反射,所以使用了双叶渲染(Two Lobes Rendering)的双层高光模型,即计算两个不同粗糙度的GGX高光,再做插值。这样产生的高光可以更尖锐,更集中,而且可以在不影响整体高光分布的基础上,单独修改高光的集中程度,增强了面部的高光效果,使任务更生动。图4是本发明实施例中GGX曲线的示意图,上面为粗糙度为0.7时的GGX高光(横坐标是N和H的夹角),下面为在此基础上混合一个粗糙度为0.5的GGX高光(比例是0.75和0.25)。
图5是本发明实施例的贴图数据修改前后的渲染示意图,右边的面部的明暗过渡区域会偏向红色,明显增强了面部的高光效果。
在本实施例的一个实施方式中,根据材质信息和第一贴图数据生成第二贴图数据包括:根据材质信息的GGX双向反射分布函数BRDF模型中获取面部贴图的粗糙度;根据粗糙度调整第一贴图数据中的高光参数,以生成第二贴图数据,其中,高光参数包括:half3crystalMaskMap,half3 crystalMap01,half3 crystalMap02,half3 crystalMap03,half3crystalMask,half3crystalSpecularColor。
由于BRDF的参数有粗糙度,粗糙度会改变光照分布,高光的计算使用GGX BRDF模型,在shader面板里加一个粗糙度变量控制彩妆整体的粗糙度。彩妆不计算diffuse(漫反射),只计算specular(高光),crystal map的颜色作为specular color。调整算法如下:
half3 crystalMaskMap=tex2D(_CrystalMask,i.uv0).rgb;
half3 crystalMap01=tex2D(_CrystalMap01,i.uv0*_CrystalUVTile01*5.0).rgb;
half3 crystalMap02=tex2D(_CrystalMap02,i.uv0*_CrystalUVTile02*5.0).rgb;
half3 crystalMap03=tex2D(_CrystalMap03,i.uv0*_CrystalUVTile03*5.0).rgb;
half3 crystalMask=crystalMaskMap.x*crystalMap01*_CrystalColor01.rgb+crystalMaskMap.y*crystalMap02*_CrystalColor02.rgb+crystalMaskMap.z*crystalMap03*_CrystalColor03.rgb;
half3 crystalSpecularColor=saturate(crystalMask*10.0);
其中,i.uv0是模型的纹理坐标,通过调整,可以在面部彩妆中增加了唇彩的效果。
在本实施例的一个实施方式中,还包括:截取面部贴图的背光面;在背光面补充直接光的光照分量;在背光面的第一贴图数据中增加光照分量,以生成第二贴图数据。
由于可以移动的物体都是用球谐函数去计算间接光照,往往光照结果会比较平,缺少体积感。本实施方式通过在物体的背光面加一盏方向光作为补光,还可以将补光赋值在shader里,从而减少光照分量的计算量
游戏中,会将光源简化成直接光源和间接光源/环境光。角色的背光面只接受间接光的影响所以效果比较平,缺乏立体感。补光是为了补充背光面的光照效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种人物皮肤的渲染装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种人物皮肤的渲染装置的结构框图,如图6所示,该装置包括:获取模块60,第一生成模块62,渲染模块64,其中,
获取模块60,用于获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息;
第一生成模块62,用于根据所述材质信息和所述第一贴图数据生成第二贴图数据;
渲染模块64,用于使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。
可选的,所述生成模块包括:第一获取单元,用于获取所述材质信息中的查找纹理LUT图;修改单元,用于根据所述LUT图修改所述第一贴图数据中NdotL项的直接光的漫反射强度,以生成所述第二贴图数据。
可选的,所述生成模块包括:第二获取单元,用于获取所述材质信息中的NdotH参数;第一调整单元,用于根据所述NdotH参数调整所述第一贴图数据中正面散射参数和正面次表面漫反射参数,以生成所述第二贴图数据。
可选的,所述生成模块包括:第三获取单元,用于获取所述材质信息中的曲率参数;截取单元,用于根据所述曲率参数截取所述面部贴图中耳廓区域;第二调整单元,用于调整所述第一贴图数据中耳廓区域的散射参数,以生成所述第二贴图数据,其中,所述散射参数包括:half3 TransLightDir,half TransDot,half WrapNoL,half backSSSMask,half3 backSSSDiffuse。
可选的,所述生成模块包括:计算单元,用于根据所述材质信息计算所述面部贴图中油脂层的粗糙度;第一混合单元,用于在所述第一贴图数据的第一微表面分布函数GGX高光中按照预定比例混合所述粗糙度的第二GGX高光,以生成所述第二贴图数据。
可选的,所述生成模块包括:第四获取单元,用于获取所述材质信息中的曲率参数;第二生成模块,用于根据所述曲率参数生成面部遮罩;第二混合单元,用于在所述第一贴图数据法线通道和粗糙度通道中分别混合所述面部遮罩的细节法线和粗糙度,以生成所述第二贴图数据。
可选的,所述生成模块包括:第五获取单元,用于根据材质信息的GGX双向反射分布函数BRDF模型中获取所述面部贴图的粗糙度;第三调整单元,用于根据所述粗糙度调整所述第一贴图数据中的高光参数,以生成所述第二贴图数据,其中,所述高光参数包括:half3 crystalMaskMap,half3 crystalMap09,half3 crystalMap02,half3crystalMap03,half3 crystalMask,half3crystalSpecularColor。
可选的,所述装置还包括:截取模块,用于在所述获取模块获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据之后,截取所述面部贴图的背光面;补充模块,用于在所述背光面补充直接光的光照分量;处理模块,用于在所述背光面的第一贴图数据中增加所述光照分量,以生成所述第二贴图数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
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 (11)

1.一种人物皮肤的渲染方法,其特征在于,包括:
获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息,其中,所述材质信息用于表征所述虚拟人物的次表面散射状态;
根据所述材质信息和所述第一贴图数据生成第二贴图数据;
使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。
2.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
获取所述材质信息中的查找纹理LUT图;
根据所述LUT图修改所述第一贴图数据中NdotL项的直接光的漫反射强度,以生成所述第二贴图数据。
3.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
获取所述材质信息中的NdotH参数;
根据所述NdotH参数调整所述第一贴图数据中正面散射参数和正面次表面漫反射参数,以生成所述第二贴图数据。
4.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
获取所述材质信息中的曲率参数;
根据所述曲率参数截取所述面部贴图中耳廓区域;
调整所述第一贴图数据中耳廓区域的散射参数,以生成所述第二贴图数据,其中,所述散射参数包括:half3 TransLightDir,half TransDot,half WrapNoL,half backSSSMask,half3 backSSSDiffuse。
5.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
根据所述材质信息计算所述面部贴图中油脂层的粗糙度;
在所述第一贴图数据的第一微表面分布函数GGX高光中按照预定比例混合所述粗糙度的第二GGX高光,以生成所述第二贴图数据。
6.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
获取所述材质信息中的曲率参数;
根据所述曲率参数生成面部遮罩;
在所述第一贴图数据法线通道和粗糙度通道中分别混合所述面部遮罩的细节法线和粗糙度,以生成所述第二贴图数据。
7.根据权利要求1所述的方法,其特征在于,根据所述材质信息和所述第一贴图数据生成第二贴图数据包括:
根据材质信息的GGX双向反射分布函数BRDF模型中获取所述面部贴图的粗糙度;
根据所述粗糙度调整所述第一贴图数据中的高光参数,以生成所述第二贴图数据,其中,所述高光参数包括:half3 crystalMaskMap,half3 crystalMap01,half3crystalMap02,half3 crystalMap03,half3 crystalMask,half3 crystalSpecularColor。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
截取所述面部贴图的背光面;
在所述背光面补充直接光的光照分量;
在所述背光面的第一贴图数据中增加所述光照分量,以生成所述第二贴图数据。
9.一种人物皮肤的渲染装置,其特征在于,包括:
获取模块,用于获取虚拟人物的面部贴图在预积分皮肤模型上的第一贴图数据,以及所述虚拟人物的材质信息,其中,所述材质信息用于表征所述虚拟人物的次表面散射状态;
第一生成模块,用于根据所述材质信息和所述第一贴图数据生成第二贴图数据;
渲染模块,用于使用所述第二贴图数据在次表面散射皮肤模型上渲染所述面部贴图。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8任一项中所述的方法。
CN202010660981.8A 2020-07-10 2020-07-10 人物皮肤的渲染方法及装置、存储介质、电子装置 Pending CN111862285A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010660981.8A CN111862285A (zh) 2020-07-10 2020-07-10 人物皮肤的渲染方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010660981.8A CN111862285A (zh) 2020-07-10 2020-07-10 人物皮肤的渲染方法及装置、存储介质、电子装置

Publications (1)

Publication Number Publication Date
CN111862285A true CN111862285A (zh) 2020-10-30

Family

ID=73153586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010660981.8A Pending CN111862285A (zh) 2020-07-10 2020-07-10 人物皮肤的渲染方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN111862285A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112691373A (zh) * 2021-01-13 2021-04-23 腾讯科技(深圳)有限公司 虚拟对象的渲染方法、装置、设备及计算机可读存储介质
CN112991215A (zh) * 2021-03-18 2021-06-18 北京畅游创想软件技术有限公司 一种皮肤渲染方法及装置
CN113450444A (zh) * 2021-07-09 2021-09-28 网易(杭州)网络有限公司 生成光照贴图的方法、装置、存储介质及电子设备
CN113592851A (zh) * 2021-08-12 2021-11-02 北京滴普科技有限公司 一种基于全脸图像的毛孔检测方法
CN114359470A (zh) * 2021-12-31 2022-04-15 网易(杭州)网络有限公司 一种模型的处理方法、装置、电子设备及可读介质
CN115690281A (zh) * 2022-12-29 2023-02-03 海马云(天津)信息技术有限公司 角色表情的驱动方法及装置、存储介质、电子装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227137A1 (en) * 2005-03-29 2006-10-12 Tim Weyrich Skin reflectance model for representing and rendering faces
CN104484896A (zh) * 2014-10-30 2015-04-01 无锡梵天信息技术股份有限公司 一种基于环境贴图来模拟人物皮肤次表面散射的物理方法
CN108447111A (zh) * 2018-03-05 2018-08-24 网易(杭州)网络有限公司 法线贴图的处理方法、装置、存储介质、处理器及终端
CN108564646A (zh) * 2018-03-28 2018-09-21 腾讯科技(深圳)有限公司 对象的渲染方法和装置、存储介质、电子装置
US20200082572A1 (en) * 2018-09-10 2020-03-12 Disney Enterprises, Inc. Techniques for capturing dynamic appearance of skin
CN111009026A (zh) * 2019-12-24 2020-04-14 腾讯科技(深圳)有限公司 对象渲染方法和装置、存储介质及电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227137A1 (en) * 2005-03-29 2006-10-12 Tim Weyrich Skin reflectance model for representing and rendering faces
CN104484896A (zh) * 2014-10-30 2015-04-01 无锡梵天信息技术股份有限公司 一种基于环境贴图来模拟人物皮肤次表面散射的物理方法
CN108447111A (zh) * 2018-03-05 2018-08-24 网易(杭州)网络有限公司 法线贴图的处理方法、装置、存储介质、处理器及终端
CN108564646A (zh) * 2018-03-28 2018-09-21 腾讯科技(深圳)有限公司 对象的渲染方法和装置、存储介质、电子装置
US20200082572A1 (en) * 2018-09-10 2020-03-12 Disney Enterprises, Inc. Techniques for capturing dynamic appearance of skin
CN111009026A (zh) * 2019-12-24 2020-04-14 腾讯科技(深圳)有限公司 对象渲染方法和装置、存储介质及电子装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112691373A (zh) * 2021-01-13 2021-04-23 腾讯科技(深圳)有限公司 虚拟对象的渲染方法、装置、设备及计算机可读存储介质
CN112691373B (zh) * 2021-01-13 2022-07-29 腾讯科技(深圳)有限公司 虚拟对象的渲染方法、装置、设备及计算机可读存储介质
CN112991215A (zh) * 2021-03-18 2021-06-18 北京畅游创想软件技术有限公司 一种皮肤渲染方法及装置
CN113450444A (zh) * 2021-07-09 2021-09-28 网易(杭州)网络有限公司 生成光照贴图的方法、装置、存储介质及电子设备
CN113592851A (zh) * 2021-08-12 2021-11-02 北京滴普科技有限公司 一种基于全脸图像的毛孔检测方法
CN113592851B (zh) * 2021-08-12 2023-06-20 北京滴普科技有限公司 一种基于全脸图像的毛孔检测方法
CN114359470A (zh) * 2021-12-31 2022-04-15 网易(杭州)网络有限公司 一种模型的处理方法、装置、电子设备及可读介质
CN115690281A (zh) * 2022-12-29 2023-02-03 海马云(天津)信息技术有限公司 角色表情的驱动方法及装置、存储介质、电子装置

Similar Documents

Publication Publication Date Title
CN111009026B (zh) 对象渲染方法和装置、存储介质及电子装置
CN111862285A (zh) 人物皮肤的渲染方法及装置、存储介质、电子装置
CN108564646B (zh) 对象的渲染方法和装置、存储介质、电子装置
CN112215934B (zh) 游戏模型的渲染方法、装置、存储介质及电子装置
US20200184714A1 (en) Method for renfering of simulating illumination and terminal
CN112316420B (zh) 模型渲染方法、装置、设备及存储介质
CN106815883B (zh) 一种游戏角色的头发处理方法及系统
CN106898040A (zh) 虚拟资源对象渲染方法和装置
CN114119818A (zh) 场景模型的渲染方法、装置及设备
CN102243769A (zh) 3d体积光动态实现方法及装置
CN112819941A (zh) 渲染水体面的方法、装置、设备和计算机可读存储介质
CN112446943A (zh) 图像渲染的方法、装置及计算机可读存储介质
CN113888398B (zh) 头发渲染方法、装置及电子设备
US20230298253A1 (en) Appearance editing method and apparatus for virtual pet, terminal, and storage medium
CN116363288A (zh) 目标物的渲染方法、装置、存储介质及计算机设备
CN115761105A (zh) 光照渲染方法、装置、电子设备及存储介质
CN113450444B (zh) 生成光照贴图的方法、装置、存储介质及电子设备
CN115063330A (zh) 头发渲染方法、装置、电子设备及存储介质
WO2022042003A1 (zh) 三维着色的方法、装置、计算设备和存储介质
CN112691373B (zh) 虚拟对象的渲染方法、装置、设备及计算机可读存储介质
CN114119848A (zh) 一种模型渲染方法、装置、计算机设备及存储介质
CN114529656A (zh) 阴影贴图的生成方法、装置、计算机设备及存储介质
CN109961500B (zh) 次表面散射效果的渲染方法、装置、设备及可读存储介质
CN116112657B (zh) 图像处理方法、装置、计算机可读存储介质及电子装置
CN114998505A (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