本发明涉及模型渲染,具体涉及一种三维模型表面皮肤渲染方法、系统、存储介质及设备。
背景技术:
1、unity是一款实时渲染引擎,能够在运行时实时生成图像。实时渲染是指在每一帧更新时,计算场景中的光照、阴影、材质等信息,并将其渲染到屏幕上,使用户能够即时看到交互效果。
2、着色器是一种程序,用于定义物体表面的外观和渲染方式。在unity中,着色器通常使用shaderlab语言进行编写,它包含了顶点着色器和片段着色器,用于控制物体的顶点位置和像素颜色。对于皮肤渲染,着色器可以控制皮肤的表面反射、散射和透明度等特性。
3、目前,三维模型的表面皮肤渲染,通常是在计算机终端设备上进行,这是因为在移动设备的计算能力有限,无法高效地进行复杂的阴影渲染计算和皮肤渲染,难以获得较好的渲染效果,导致用户体验不佳。
技术实现思路
1、针对现有技术的不足,本发明的目的在于提供一种三维模型表面皮肤渲染方法、系统、存储介质及设备,旨在提供一种能够在移动设备上进行三维模型表面皮肤渲染的方案,通过优化渲染方式,使通过移动设备也可获得良好的渲染效果,以解决现有技术中存在的问题。
2、本发明的第一方面在于提供一种三维模型表面皮肤渲染方法,所述方法包括:
3、获取待进行模型皮肤渲染的三维模型,提取所述三维模型的模型参数;
4、根据所述模型参数,在预设的着色器程序中创建着色用例,在所述着色用例中设定所述三维模型的外观参数与反射参数;
5、在所述着色器程序中,根据所述着色用例设定第一渲染参数,根据所述第一渲染参数对所述三维模型进行渲染;
6、根据所述三维模型的场景参数,对所述着色用例中的光照参数进行调整,得到第二渲染参数,根据所述第二渲染参数对所述三维模型进行渲染以得到目标三维模型。
7、根据上述技术方案的一方面,在所述着色器程序中,根据所述着色用例设定第一渲染参数,根据所述第一渲染参数对所述三维模型进行渲染的步骤,具体包括:
8、在所述着色器程序中,根据所述着色用例确定所述三维模型的皮肤主体结构,并根据所述皮肤主体结构计算第一pbr参数;
9、对所述皮肤主体结构进行皮肤光滑度偏移,并计算第二pbr参数;
10、将所述第一pbr参数与所述第二pbr参数进行融合处理,得到第一渲染参数,并根据所述第一渲染参数对所述三维模型进行渲染。
11、根据上述技术方案的一方面,将所述第一pbr参数与所述第二pbr参数进行融合处理,得到第一渲染参数,并根据所述第一渲染参数对所述三维模型进行渲染的步骤,具体包括:
12、获取预设定的粗糙度和法线、半向量之间的夹角的分布函数值;
13、获取预设定的粗糙度和法线、观察方向之间视角的遮蔽项的遮蔽值;
14、以及获取预设定的光线入射角与材质的镜面反射值;
15、将粗糙度、镜面颜色、法线、光线方向与观察相机方向作为双向反射分布函数的输入值,使用ggx分布函数、smith遮蔽项与schlick近似来计算双向反射分布函数的输出值,得到第一渲染参数,所述第一渲染参数用于描述高光状况;
16、根据所述第一渲染参数对所述三维模型进行渲染。
17、根据上述技术方案的一方面,根据所述三维模型的场景参数,对所述着色用例中的光照参数进行调整,得到第二渲染参数,根据所述第二渲染参数对所述三维模型进行渲染以得到目标三维模型的步骤,具体包括:
18、获取所述三维模型在通过着色器程序进行渲染的场景参数;
19、根据所述场景参数,对所述着色用例中的光照参数进行调整,至少包括对环境遮蔽颜色与间接漫反射光照进行调整,得到漫反射颜色参数,以得到包含所述漫反射颜色参数的第二渲染参数;
20、根据所述第二渲染参数,对所述三维模型进行渲染,得到目标三维模型。
21、根据上述技术方案的一方面,所述方法还包括:
22、计算模型皮肤在相机光线照射下的次表面散射颜色参数。
23、根据上述技术方案的一方面,计算模型皮肤在相机光线照射下的次表面散射颜色参数的步骤,具体包括:
24、计算视角偏移向量,将视角偏移向量与设定的皮肤相机光角度参数相结合;
25、创建新的视角偏移向量,包含原始的视角偏移向量的x分量与z分量以及新计算的y分量;
26、使用点乘运算计算偏移后的视角偏移向量与表面法线的夹角参数,并通过饱和函数将所述夹角参数限制于预设范围内,以描述光线在表面上的表面投影强度;
27、将所述表面投影强度转换成uv坐标参数,并在预积分贴图中采样得到预积分值;
28、将环境遮蔽颜色参数、皮肤相机光颜色参数与所述预积分值进行融合,得到模型皮肤在相机光线照射下的次表面散射颜色参数;
29、将所述表面投影强度的对数值与预设的幂次方参数进行相乘,并进行指数计算,以调整光线散射的散射强度与散射形状,得到散射强度参数与散射形状参数;
30、将所述散射强度参数与所述散射形状参数进行相乘,得到最终的模型皮肤在相机光线照射下的次表面散射颜色参数。
31、本发明的第二方面在于提供一种三维模型表面皮肤渲染系统,应用于上述技术方案当中所述的方法,所述系统包括:
32、参数提取模块,用于获取待进行模型皮肤渲染的三维模型,提取所述三维模型的模型参数;
33、着色用例创建模块,用于根据所述模型参数,在预设的着色器程序中创建着色用例,在所述着色用例中设定所述三维模型的外观参数与反射参数;
34、第一渲染模块,用于在所述着色器程序中,根据所述着色用例设定第一渲染参数,根据所述第一渲染参数对所述三维模型进行渲染;
35、第二渲染模块,用于根据所述三维模型的场景参数,对所述着色用例中的光照参数进行调整,得到第二渲染参数,根据所述第二渲染参数对所述三维模型进行渲染以得到目标三维模型。
36、根据上述技术方案的一方面,所述第一渲染模块具体用于:
37、在所述着色器程序中,根据所述着色用例确定所述三维模型的皮肤主体结构,并根据所述皮肤主体结构计算第一pbr参数;
38、对所述皮肤主体结构进行皮肤光滑度偏移,并计算第二pbr参数;
39、将所述第一pbr参数与所述第二pbr参数进行融合处理,得到第一渲染参数,并根据所述第一渲染参数对所述三维模型进行渲染。
40、本发明的第三方面在于提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述技术方案当中所述的方法。
41、本发明的第四方面在于提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可实现所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述技术方案当中所述的方法。
42、与现有技术相比,本发明所示的三维模型表面皮肤渲染方法、系统、存储介质及设备,有益效果在于:
43、在进行三维模型表面皮肤渲染时,通过获取待进行模型皮肤渲染的三维模型,提取三维模型的模型参数,然后根据模型参数,在预设的着色器程序中创建着色用例,在着色用例中设定三维模型的外观参数与反射参数,以及在着色器程序中,根据着色用例设定第一渲染参数,根据第一渲染参数对三维模型进行渲染,最后根据三维模型的场景参数,对着色用例中的光照参数进行调整,得到第二渲染参数,根据第二渲染参数对三维模型进行渲染以得到目标三维模型。采用本实施例所示方法,通过提供一种适用于移动设备的简易pcf阴影渲染技术,以及针对ao修正的预积分sss皮肤渲染技术和基于屏幕空间的次表面散射效果,能够提高移动设备上的渲染效率和质量,实现更加逼真的皮肤效果,从而提升用户体验。
1.一种三维模型表面皮肤渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的三维模型表面皮肤渲染方法,其特征在于,在所述着色器程序中,根据所述着色用例设定第一渲染参数,根据所述第一渲染参数对所述三维模型进行渲染的步骤,具体包括:
3.根据权利要求2所述的三维模型表面皮肤渲染方法,其特征在于,将所述第一pbr参数与所述第二pbr参数进行融合处理,得到第一渲染参数,并根据所述第一渲染参数对所述三维模型进行渲染的步骤,具体包括:
4.根据权利要求1所述的三维模型表面皮肤渲染方法,其特征在于,根据所述三维模型的场景参数,对所述着色用例中的光照参数进行调整,得到第二渲染参数,根据所述第二渲染参数对所述三维模型进行渲染以得到目标三维模型的步骤,具体包括:
5.根据权利要求1-4任一项所述的三维模型表面皮肤渲染方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的三维模型表面皮肤渲染方法,其特征在于,计算模型皮肤在相机光线照射下的次表面散射颜色参数的步骤,具体包括:
7.一种三维模型表面皮肤渲染系统,其特征在于,应用于权利要求1-6任一项所述的方法,所述系统包括:
8.根据权利要求7所述的三维模型表面皮肤渲染系统,其特征在于,所述第一渲染模块具体用于:
9.一种可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可实现所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6任一项所述的方法。