技术新讯 > 计算推算,计数设备的制造及其应用技术 > 虚拟对象的头发渲染方法、装置、电子设备及存储介质与流程  >  正文

虚拟对象的头发渲染方法、装置、电子设备及存储介质与流程

  • 国知局
  • 2024-09-14 14:26:30

本技术涉及计算机,特别涉及一种虚拟对象的头发渲染方法、装置、电子设备及存储介质。

背景技术:

1、随着计算机技术的发展,用户在终端上能够随时打开游戏应用进行游戏。在游戏应用中提供有虚拟场景,虚拟场景中显示有虚拟对象,为了提升渲染效果,存在对虚拟对象的头发进行渲染优化的需求。

2、在虚幻4引擎(unreal engine 4,ue4)的默认渲染管线下,使用多反射光照模型(marschner shading model)来进行虚拟对象的头发的光照计算,但上述多反射光照模型,其着色器计算量庞大,光照渲染进程多,在移动端应用时帧率低、噪点严重,因此终端侧的渲染开销大,渲染性能有待提升。

技术实现思路

1、本技术实施例提供了一种虚拟对象的头发渲染方法、装置、电子设备及存储介质,能够在保证头发渲染效果不受损的前提下,降低着色器的计算量,压缩光照渲染进程数,可适配到移动端并满足实时帧率的运行需求,以极低的渲染开销实现优秀的渲染性能。该技术方案如下:

2、一方面,提供了一种虚拟对象的头发渲染方法,所述方法包括:

3、对虚拟对象的头发像素进行深度渲染,得到所述头发像素的深度值;

4、基于光照信息和偏移贴图,获取所述头发像素的第一高光系数和第二高光系数,所述偏移贴图指示光线照射所形成高光的形变情况,所述第一高光系数指示光线作用于所述头发像素上所形成的高光效果,所述第二高光系数指示对所述第一高光系数的层次修饰信息;

5、基于所述深度值、所述第一高光系数、所述第二高光系数以及所述头发像素的漫反射系数和阴影系数,对所述头发像素进行颜色渲染,得到所述头发像素的颜色值,所述漫反射系数指示光线作用于所述头发像素上造成的色散情况,所述阴影系数指示光线作用于所述头发像素上造成的阴影颜色;

6、将所述虚拟对象的各个头发像素的深度值和颜色值叠加,得到所述虚拟对象的头发区域。

7、一方面,提供了一种虚拟对象的头发渲染装置,所述装置包括:

8、深度渲染模块,用于对虚拟对象的头发像素进行深度渲染,得到所述头发像素的深度值;

9、高光系数获取模块,用于基于光照信息和偏移贴图,获取所述头发像素的第一高光系数和第二高光系数,所述偏移贴图指示光线照射所形成高光的形变情况,所述第一高光系数指示光线作用于所述头发像素上所形成的高光效果,所述第二高光系数指示对所述第一高光系数的层次修饰信息;

10、颜色渲染模块,用于基于所述深度值、所述第一高光系数、所述第二高光系数以及所述头发像素的漫反射系数和阴影系数,对所述头发像素进行颜色渲染,得到所述头发像素的颜色值,所述漫反射系数指示光线作用于所述头发像素上造成的色散情况,所述阴影系数指示光线作用于所述头发像素上造成的阴影颜色;

11、叠加模块,用于将所述虚拟对象的各个头发像素的深度值和颜色值叠加,得到所述虚拟对象的头发区域。

12、在一些实施例中,所述高光系数获取模块包括:

13、第一偏移量获取单元,用于基于所述偏移贴图和切向扰动信息,确定所述头发像素的切向高光偏移量,所述切向扰动信息指示在切线方向上施加的偏移的扰动量,所述切向高光偏移量指示所述头发像素的高光在切线方向上的偏移量;

14、第一高光系数获取单元,用于基于所述光照信息、所述切向高光偏移量和第一高光指示信息,获取所述第一高光系数,所述第一高光指示信息表征所述第一高光系数所指示的首层高光的控制信息。

15、在一些实施例中,所述第一高光指示信息包括第一高光强度系数和第一高光颜色系数;

16、所述第一高光系数获取单元用于:

17、基于所述光照信息中的光照向量和视线向量,确定所述头发像素的半角向量;

18、基于所述切向高光偏移量、所述半角向量和所述第一高光强度系数,确定第一强度控制系数,所述第一强度控制系数指示所述首层高光在切线方向上的偏移和光强;

19、将所述第一强度控制系数和所述第一高光颜色系数相乘,得到所述第一高光系数。

20、在一些实施例中,所述高光系数获取模块包括:

21、第二偏移量获取单元,用于基于所述偏移贴图和负法向扰动信息,确定所述头发像素的负法向高光偏移量,所述负法向扰动信息指示在法线方向的反方向上施加的偏移的扰动量,所述负法向高光偏移量指示所述头发像素在法线方向的反方向上的偏移量;

22、第二高光系数获取单元,用于基于所述光照信息、所述负法向高光偏移量和第二高光指示信息,获取所述第二高光系数,所述第二高光指示信息表征所述第二高光系数所指示的二层高光的控制信息。

23、在一些实施例中,所述第二高光指示信息包括第二高光强度系数和第二高光颜色系数;

24、所述第二高光系数获取单元用于:

25、基于所述光照信息中的光照向量和视线向量,确定所述头发像素的半角向量;

26、基于所述负法向高光偏移量、所述半角向量和所述第二高光强度系数,确定第二强度控制系数,所述第二强度控制系数指示所述二层高光在法线方向的反方向上的偏移和光强;

27、将所述第二强度控制系数和所述第二高光颜色系数相乘,得到所述第二高光系数。

28、在一些实施例中,所述深度渲染模块包括:

29、模式确定单元,用于基于透明度贴图,确定所述头发像素的透明模式,所述透明度贴图指示所述头发区域的透明情况,所述透明模式指示所述头发像素是不透明还是半透明;

30、深度写入单元,用于基于所述头发像素的透明模式,对所述头发像素进行深度写入,得到所述头发像素的深度值。

31、在一些实施例中,所述深度写入单元用于:

32、在所述透明模式为半透明的情况下,采用透明混合模式写入所述头发像素的深度值;

33、在所述透明模式为不透明的情况下,采用透明测试模式写入所述头发像素的深度值。

34、在一些实施例中,所述装置还包括:

35、漫反射系数获取模块,用于基于所述光照信息、所述虚拟对象的头发材质和头发粗糙度,获取所述头发像素的漫反射系数,所述头发材质指示所述头发像素的材质颜色,所述头发粗糙度指示所述头发像素的粗糙程度。

36、在一些实施例中,所述漫反射系数获取模块用于:

37、获取所述光照信息中光照向量和法线向量的点积;

38、基于所述头发粗糙度进行插值处理,得到明暗调节系数;

39、基于所述头发材质、所述点积和所述明暗调节系数,获取所述头发像素的漫反射系数。

40、在一些实施例中,所述装置还包括:

41、阴影系数获取模块,用于基于阴影贴图和所述头发像素的阴影颜色控制信息进行插值处理,得到所述头发像素的阴影系数,所述阴影贴图指示光线照射在所述头发区域上所形成的阴影情况。

42、一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述虚拟对象的头发渲染方法。

43、一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述虚拟对象的头发渲染方法。

44、一方面,提供一种计算机程序产品,所述计算机程序产品包括一条或多条计算机程序,所述一条或多条计算机程序存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条计算机程序,所述一个或多个处理器执行所述一条或多条计算机程序,使得电子设备能够执行上述虚拟对象的头发渲染方法。

45、本技术实施例提供的技术方案带来的有益效果至少包括:

46、通过对虚拟对象头发区域中每个头发像素,仅在一次深度渲染和一次颜色渲染以后,就能够完成该头发像素的全部光照计算,并在颜色渲染过程中,通过计算两层高光各自的高光系数,保证了高品质的逼真发丝渲染效果,首层高光模拟直接光源的高光效果,二层高光对首层高光进行层次修饰,增加最终高光的层次性和逼真度,因此在保证头发渲染效果不受损的前提下,降低了着色器的计算量,压缩了光照渲染进程数,可适配到移动端并满足实时帧率的运行需求,能够以极低的渲染开销实现优秀的渲染性能。

本文地址:https://www.jishuxx.com/zhuanli/20240914/294087.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。