毛发渲染速度提升方法、装置、设备及可读存储介质与流程
未命名
07-27
阅读:101
评论:0
1.本技术涉及渲染技术领域,尤其涉及一种毛发渲染速度提升方法、装置、设备及可读存储介质。
背景技术:
2.随着科学技术的发展,三维毛发制作与渲染也得到了发展,但是,三维毛发制作与渲染在行业内一直都是比较耗费时间的,对计算机资源的要求也比较高。传统的制作工艺流程是在三维软件里面绘制好毛发引导曲线,从而根据引导曲线生成一根根的毛发笔刷,然后使用离线渲染器,通过cpu的计算进行灯光渲染,最终把角色的毛发效果呈现出来,整个制作的过程比较漫长,在毛发的造型设计上,需要每刷一遍毛,然后进行渲染等待,再看效果出来后,再进行毛发的绘制调整,渲染一帧毛发的时间大概在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.图1为本技术实施例提供的一种实现毛发渲染速度提升方法的流程图;
44.图2为本技术实施例示例的一种利用全局光照技术处理的渲染效果示意图;
45.图3为本技术实施例提供的一种毛发渲染效果示意图;
46.图4为本技术实施例示例的一种毛发渲染速度提升装置结构示意图;
47.图5为本技术实施例公开的一种毛发渲染速度提升设备的硬件结构框图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.目前常用主流的毛发渲染技术大都是基于cpu或者是gpu计算的离线渲染的方式,影视级别效果的渲染时间基本上在1-2个小时之间一帧,耗费时间非常大,企业在量产影片时需要采购大量的电脑机器群,形成渲染农场,需要投入较高的硬件成本。
50.鉴于目前大部分的毛发渲染速度提升方案难以适应复杂多变的业务需求,为此,本技术人研究了一种毛发渲染速度提升方案,该毛发渲染速度提升方案可以通过构建与虚拟对象的模型对应的灰度贴图,并通过灰度贴图来确定所需要生成的毛发的数量,可以降低生成毛发过程中对计算资源的性能要求,提高毛发生成速度,进一步地可以利用预设的随机函数以及灰度贴图来实现对所生成的毛发的颜色、材质、光泽进行渲染,在提高毛发渲染速度的同时还可以使得毛发的视觉效果更真实更好。
51.例如,可以应用于游戏制作的实时渲染,但是游戏制作的毛发,一般都是用面片模型加毛发透明贴图做出来的效果,效果比较粗劣,而且大部分应用于人物角色居多。
52.本技术实施例提供的方法可以用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
53.本技术实施例提供一种毛发渲染速度提升方法,该方法可以应用于各种图像渲染系统中,亦可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器。
54.例如,本技术实施例提供的方法可以应用于影视cg片的毛发渲染中。
55.下面结合图1,介绍本技术实施例给出的毛发渲染速度提升方法的流程,如图1所示,该流程可以包括以下几个步骤:
56.步骤s101,构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
57.具体地,在实际应用过程中,随着游戏行业的发展,有些时候,为了使得游戏角色的一些图像的视觉效果看起来更好,一般会根据图像视觉要求对图像数据进行实时渲染,以实现优化图像的显示效果,丰富图像的视觉效果。
58.实时渲染技术的本质对待显示的数据进行实时计算和输出。常见的图像实时渲染技术是将图像数据的顶点数据进行实时计算并处理后输出显示。
59.其中,
60.图像数据的顶点数据可以包括图像的位置、法向信息、颜色以及坐标和顶点的权重信息。
61.在2002年,计算机的显卡的性能得到了极大的发展,首先是在显卡接口上的引入agp8x插件,在显卡接口上引入的agp8x插件可以使得显卡和处理器在数据传输的带宽上得
到了成倍的增加,达到了2.1gb/s。
62.此外,一些3d性能及其强大的gpu显卡的发展而逐渐发展,如很多工具都可以支持实时渲染。
63.实时渲染技术一般可以包括网格渲染技术以及阴影渲染技术。
64.(1)网格渲染技术
65.网格渲染技术中,图像数据的顶点属性一般包含位置和颜色,顶点运算包括对顶点位置的简单变换、顶点的裁剪和投影,光栅化处理中对顶点颜色也只进行了简单的内插,像素运算则很简单,即通过覆盖来实现。
66.(2)阴影渲染技术
67.在阴影渲染技术中,图像数据的顶点属性中除了原来的位置和颜色属性,还增加了法向,图像数据的顶点属性中的法向属性可以用来对图像的光照计算。
68.阴影渲染技术除了可以新增法向属性对图像的光照进行计算之外,随着渲染技术的发展,逐渐引进了一个很重要的概念——深度,典型的应用就是深度缓冲。在光栅化处理中还增加了深度内插。像素运算中增加了颜色混合技术。使得图像的渲染效果可以实现画面的色彩感和层次感更丰富的效果。
69.虽然对图像的渲染技术增加了颜色混合技术,但整个图像的渲染效果画面看起来还是很单调。由此引入了纹理贴图技术,在图像数据的顶点属性中又增加了纹理坐标,顶点运算中也相应地增加了纹理坐标的变换和内插。光栅化处理中增加了纹理坐标内插。像素运算中增加了纹理寻址和混合以及反锯齿等技术。可以让渲染的效果画面看起来更加绚丽多彩。
70.随着图形处理技术的飞速发展,早期的固定函数渲染管线已经不能满足图形开发人员的要求,图像开发人员需要图形处理过程中更大的自由度。
71.由此诞生了可编程渲染技术。在可编程渲染技术中,图形开发人员可以对渲染管线中的顶点运算和像素运算分别进行编程处理了,而无需像以前那样套用一些固定函数来进行图像渲染处理。
72.比如,对于顶点渲染,不仅仅可以简单套用settransform方法实现顶点位置的变换,更为灵活的是,可以通过编写程序,实现顶点位置的更为复杂的变换;
73.在光照计算中,可以从最基本的光照模型出发,编写程序分别计算漫射、高光、折射、散射等,更重要的是,还可以将计算结果作为像素渲染程序的输入,以实现各种丰富的效果。
74.在像素渲染中,除了可以调用大量固定函数来实现外,还可以编写程序,从外部或者上游获取参数和纹理资源,进行像素渲染运算。
75.像素渲染需要的运算量远远大于顶点渲染,但输出画面的质量却很高。许多高质量的画面都是用像素渲染代替顶点渲染获得的。
76.早期对图形处理器的编程采用vertex shader和pixel shader这两类类似汇编语言的程序语言,编写工作量大。
77.随着图形硬件的发展,图形处理器所能处理的指令数快速增长,采用类似汇编的方式进行编程的工作量逐渐增大,为了提高图像编程效率,引入了cg语言,cg语言是一种可以用于对图形处理器编程的高级语言。cg即c for graphic,意即用于图形处理的c语言。
78.cg语言的语法结构类似于c语言,但所有指令却是由gpu来执行的。c语言的指令都是由cpu来执行的。
79.以c语言为基础,cg语言可以针对gpu的特点进行改进和优化。
80.利用cg语言来进行图像处理器编辑以实现对图像的渲染处理,可以使得图像的渲染效果更好,并且cg语言的浏览器可以提供开发者及时浏览渲染实例效果的功能。cg语言可以提供很多渲染指令和渲染状态,可以提高渲染速度和效果。
81.可编程渲染技术的发展,对游戏引擎中渲染部分的开发也产生了深远的影响。
82.一般地,可以通过两种途径实现游戏中的渲染效果。
83.第一,渲染效果在游戏的关卡设计过程中由设计人员灵活实现。使得设计人员有了更大的自由度和发挥空间,而且所设计出来的场景与实际运行时的效果保持一致。采用这一途径需要注意避免频繁地切换渲染程序导致渲染帧率的降低。
84.第二,从预先制作好的渲染效果库中选取游戏所需要的渲染程序模块。这需要程序设计人员添加必要的c++代码引用这些渲染程序模块。一般情况下,程序员还需要将渲染程序中的相关参数编码到模型或纹理中去,以有效提高渲染速率。采用这种方式,程序设计人员就可以比较有针对性地避免渲染程序的频繁切换,以确保游戏运行时的帧率。当然,一旦引擎确定,可得到的渲染效果库也就确定了。
85.不同的游戏类型,不同的游戏,对两种渲染途径的要求也不同。这些都需要开发人员在设计游戏引擎时进行分析和考虑的。
86.随着游戏相关产业对图形处理要求的不断提高,图形处理器将朝着两个方向发展:更快的运算速度和更加自由的可编程性。硬件速度的提高,也将不断催生出一些新的渲染技术,同时也使得一些在目前的硬件平台上难以实现的渲染技术变为可能。光照计算所需要的运算量很大,在目前还只能通过各种间接的途径模拟实现。
87.可以预见的是,在实时渲染技术中,例如,光线追踪、真阴影等技术或许将变为可能。这些技术的实现,将可以使得图形渲染效果变得更为真实。高度真实是实时渲染技术未来发展的一大特征。硬件可编程度的提高,可以使得设计人员对硬件的控制将变得更为灵活和富有创造性。
88.在毛发渲染过程中,整体绘制毛发引导线可以实现毛发数量分布均匀,长毛与短毛之间所使用的毛发量都很均一,为了达到真实的毛发效果,需要把整体的毛发量倍增,有可能会导致gpu的性能开销加大,运行效率下降。
89.由此可见,图像的渲染技术对计算机性能的要求较高,为了降低计算机资源的消耗,当需要生成毛发并渲染毛发时,可以构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
90.构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图,可以有助于依据所述目标三维灰度贴图来确定与用户的需求对应的毛发数量并生成对应数量的毛发。
91.其中,
92.所述目标三维灰度贴图可以反馈各个区域的像素点的灰度要求。
93.在实际应用过程中,可以使用substance painter工具,将所述目标对象模型的数据导入其中,在里面绘制所需要的三维灰度贴图,并在三维灰度贴图的各个区域设置是否
需要生成毛发。
94.例如,可以设置所述目标三维灰度贴图的黑色区域不生长毛发,白色区域生长毛发,灰色区域形成渐变的效果。
95.步骤s102,依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发。
96.具体地,由上述介绍可知,本技术实施例提供的方法构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
97.依据所述目标三维灰度贴图的各个部分的颜色的不同,所述目标三维灰度贴图可以划分为不同的区域。
98.不同的区域,所需要生成的毛发数量不同。
99.因此,在构建所述目标三维灰度贴图之后,可以依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,以便可以根据用户的需求来确定具体所需要生成的毛发数量,避免生成数量过大的毛发,导致计算机的性能开销过大,降低图像渲染速率。
100.进一步地,在确定所需要生成的毛发的数量之后,可以利用逐根毛发曲线的方式,生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发。
101.例如,
102.可以在毛发长度较长的区域减少毛发数量,在毛发长度较短的区域可以增多毛的发量。
103.步骤s103,依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数。
104.具体地,由上述介绍可知,本技术实施例提供的方法可以依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发。
105.在生成所述第一目标待渲染毛发之后,需要对所述第一目标待渲染毛发进一步进行渲染。
106.因此,在生成所述第一目标待渲染毛发之后,可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数。
107.其中,
108.所述第一目标待渲染毛发的参数可以包括毛发的粗细度。
109.所述预设的随机函数,可以利用渲染引擎中的材质函数实现。
110.其中,材质函数是材质图的一些小片段,材质函数可以保存在渲染工具包中,并且可以在多个材质之间重复使用。对单个函数的编辑会传遍使用该函数的所有网络。
111.因此,如果需要修正函数或改变函数的工作方式,可以通过编辑材质函数来实现,不必对可能使用的材质函数的众多材质作进一步编辑。
112.在渲染过程中,在所需要的材质函数中可以制作随机值,随机值可通过数值、贴图等控制。
113.在材质编辑器中可以像编辑普通材质一样编辑函数,但是在可以使用哪些节点方面存在一些限制。
114.正确使用函数可以降低材质的冗余度,进而可以减轻保持重复表达式同步所需的
维护工作,以及修改期间遗漏某个副本而引起的不可避免的错误。
115.材质函数也是可以显示在内容浏览器中的资源。
116.材质函数图与材质图的不同之处在于,材质函数没有主材质节点,而是具有输出节点,这些节点代表最终函数的输出连接。
117.利用所述预设的随机函数,来设置所述第一目标待渲染毛发的参数,可以更精准地控制不同长度的毛发的粗细度。
118.例如,长度相对来说较长的毛发的粗细度可以设置细一点,这样效果会更加柔顺细腻,长度相对较短的毛发的粗细度可以设置粗一点,以便可以掩盖底下的皮肤,防止皮肤露出来,结合毛发的长短与粗细,可以在不需要大量的毛发情况下,让毛发整体的层次感可以更好地达到真实的视觉效果。
119.其次,
120.在实际应用过程中,所述第一目标待渲染毛发的参数可以包括毛发的材质、颜色以及光泽。
121.在毛发材质上,若赋予的颜色贴图过于均匀,直接映射到毛发上,可能会显得毛发的真实度不高,渲染效果可能是类似于塑料的玩偶,若毛发的高光的表现也过于均匀,同样也有可能会影响毛发最终呈现的视觉效果的真实性。
122.步骤s104,对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发。
123.具体地,由上述介绍可知,本技术实施例提供的方法可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数。
124.其中,所述第一目标待渲染毛发的参数可以包括毛发的粗细度、颜色、光泽以及材质;
125.在实际应用过程中,对所生成的毛发进行渲染过程中,除了可以对所成的毛发的粗细度进行渲染之后,还可以对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发。
126.其中,
127.在毛发材质上,若赋予的颜色贴图过于均匀,直接映射到毛发上,可能会显得毛发的真实度不高,渲染效果可能是类似于塑料的玩偶,若毛发的高光的表现也过于均匀,同样也有可能会影响毛发最终呈现的视觉效果的真实性。
128.因此,本技术实施例提供的方法在对所述第一目标待渲染毛发的参数进行设置之后,还可以对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发。
129.以便可以使得所述第一目标待渲染毛发的渲染效果看起来可以更接近真实毛发的视觉效果。
130.步骤s105,对所述第二目标待渲染毛发的光照参数进行处理,得到目标渲染毛发。
131.具体地,由上述介绍可知,本技术实施例提供的方法可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数。对所述第一目标待渲染毛发的参数进行设置之后,还可以对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发。
132.在实际渲染过程中,由于毛发数量较大,传统的光照方式,渲染计算光阴的方式复
杂,一张真实的光影效果,需要耗费很长的时间。
133.进一步地,为了降低渲染所耗费的时间,可以使得毛发渲染效果更柔和,其光影效果更好,使得所述第二目标待渲染毛发的视觉效果看起来更加接近毛发真实的视觉效果,可以对所述第二目标待渲染毛发的光照参数进行处理,最终可以得到目标渲染毛发。
134.其中,
135.在实际渲染过程,由于毛发数量较大,传统的光照方式,渲染计算光阴的方式复杂,一张真实的光影效果,可能需要耗费很长的时间。
136.为了提高毛发渲染速度,降低毛发渲染的gpu性能开销,可以使用虚幻引擎中的全局光技术,对所述第二目标待渲染毛发的光照参数进行处理,以实现使毛发与毛发直接产生反弹光照,体现所述第二目标待渲染毛发的全局物理光照。
137.其中,
138.全局光照global illumination(gi)技术,又可以称间接光照技术,是指一系列让计算机场景光照更加真实自然的3d图形算法。
139.通俗来讲,即计算机在进行图形渲染时,不仅可以考虑从光源直接照射到物体表面的光,也可以考虑到从其他表面反射到当前表面的光,从而极大地增加场景的真实感。
140.比如,在现实世界中,比较容易观察到gi相关的现象:阳光从洞穴入口照射到地面上后会经过反射点亮洞穴的其他位置,灯光照射到红色沙发后会导致红光反射到其后面的墙壁上。
141.与全局光照相对应的技术称为直接光照或局部光照;例如,图2示例一种利用全局光照技术处理的效果示意图;
142.如图2左侧的效果示意,光线从光源发出碰到物体后则立刻停止,不会进行多次反射。
143.在早期的相关研究中,由于硬件限制等原因,往往采用更偏向经验的方式来建模模拟局部光照,例如,建立phong模型和blinn-phong模型这两类模型。
144.不过这种通过hack方式得出的效果明显不够真实和自然,导致很多游戏都会给玩家产生一种难以描述的违和感。
145.而另一方面,全局光照虽然效果理想,但由于需要对于光线的反弹进行大量的计算,很长一段时间光照技术也只能用于cg、电影等非实时渲染的领域中。
146.不过随着硬件技术的进步,现代游戏引擎中的gi也已经从早期的预计算全局光照技术,例如光照贴图lightmap、光照探针light probe,逐步发展并产生了ue5 lumen这样效果优秀的动态全局光照技术。
147.例如,本技术实施例提供的方法可以使用虚幻引擎的lumen全局光技术,使毛发与毛发直接比较轻松的产生反弹光照,很好的体现全局物理光照,让毛发效果更加真实。
148.在实际应用过程中,虚幻引擎的实时渲染的速度快,相比maya的离线渲染在效率上有大幅度的提高,渲染的硬件成本可以大幅度下降。
149.从上述介绍的技术方案可知,本技术实施例提供的方法可以通过构建与虚拟对象的模型对应的灰度贴图,并通过灰度贴图来确定所需要生成的毛发的数量,由此可以降低生成毛发过程中对计算资源的性能要求,避免生成数量过多的毛发,由此可以提高毛发生成速度,进一步地可以利用预设的随机函数以及灰度贴图来实现对所生成的毛发的颜色、
材质、光泽进行渲染,在提高毛发渲染速度的同时还可以使得毛发的视觉效果更真实更好,可以实现利用最少的毛发数量来生成高质量的毛发视觉效果,通过生成不同长度的多层毛发结合形成层次丰富的视觉感观,可以使得毛发的渲染效果达到影视级别的毛发效果质量,并在实时渲染引擎中通过控制各个层次毛发的粗细变化与毛发材质的粗糙度混合,实时的环境光效调整,达到进一步的视觉增效,改良了三维毛发制作与渲染的工艺流程,利用毛发引导曲线绘制毛发,通过虚幻5引擎进行最终的毛发效果渲染。可以实时显示毛发最终的渲染效果,解决了现有毛发离线渲染方式所导致漫长渲染等待,单帧效果的渲染时间较长的问题,通过实时渲染毛发的方法,可以有效实现毛发的渲染效果所见即所得,实时演绎角色带有真实毛发视觉效果的成片效果。
150.由上述介绍可知,当需要依据用户对生成毛发的需求对应的目标对象模型生成毛发并渲染毛发时,本技术实施例提供的方法可以构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图,接下来介绍该过程,该过程可以包括如下几个步骤:
151.步骤s201,分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型。
152.具体地,在实际应用过程中,当用户有生成毛发并渲染毛发的需求时,本技术实施例提供的方法可以分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型。
153.其中,所述目标对象模型可以为以用户的需求构建的毛发模型。
154.通过所述目标对象模型可以确定所需要生成的毛发数量、毛发颜色以及毛发长度。
155.步骤s202,依据所述目标对象模型,确定待生成的毛发的颜色的灰度值。
156.具体地,由上述介绍可知,本技术实施例提供的方法可以分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型。
157.其中,
158.通过所述目标对象模型可以确定所需要生成的毛发颜色。
159.进一步地,在确定所述目标对象模型之后,可以依据所述目标对象模型,确定待生成的毛发的颜色的灰度值。
160.确定待生成的毛发的颜色的灰度值,以便可以依据待生成的毛发的颜色的灰度值来确定待生成的毛发。
161.步骤s203,依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度。
162.具体地,由上述介绍可知,本技术实施例提供的方法可以依据所述目标对象模型,确定待生成的毛发的颜色的灰度值。
163.毛发的灰度值可以反馈毛发的颜色深度,毛发的灰度值越大,毛发颜色越深。
164.因此,在确定所述待生成的毛发的颜色的灰度值之后,可以依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度。
165.在实际渲染过程中,可以根据颜色的灰度值来控制毛发的长度,灰度值越小、越白的地方毛发长度可以越长,灰度值越大、越黑的地方的毛发长度越短,可以配合所述目标三维灰度贴图来控制待生成的毛发整体的长度。
166.例如,图3示例一种毛发渲染效果示意图。
167.从图3的渲染效果可知,动物小狗的毛发渲染效果非常自然。小狗的身上灰色区域的毛发看起来层次感偏厚一点、长度偏短一点,白色区域的毛发偏长一点,发量看起来相对灰色区域的毛发少一点。
168.步骤s204,依据所述待生成的毛发的长度及颜色,生成与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
169.具体地,由上述介绍可知,本技术实施例提供的方法可以依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度。
170.在确定待生成的毛发的长度和颜色之后,可以进一步依据所述待生成的毛发的长度及颜色,生成与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
171.从上述介绍的技术方案可知,本技术实施例提供的方法可以需要依据用户对生成毛发的需求对应的目标对象模型生成毛发并渲染毛发时,本技术实施例提供的方法可以构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图,以便可以依据所述目标三维灰度图来确定所需要生成的毛发数量及毛发,可以实现利用数量较少的毛发实现高质量的毛发视觉效果。本技术实施例提供的方法可以实现渲染同样的视觉效果的所需要的毛发数量比传统的渲染技术所需要的毛发数量要少,由于降低了同等视觉效果的毛发数量,由此可以降低毛发渲染时的gpu的性能开销,同时也可以提高毛发渲染的速度。
172.由上述介绍可知,当生成毛发之后,需要对毛发进行渲染,以实现用户要求的视觉效果,本技术实施例提供的方法可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数,接下来介绍该过程,该过程可以包括如下几个步骤:
173.步骤s301,依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域。
174.具体地,由上述介绍可知,本技术实施例提供的方法可以确定所述目标三维灰度贴图。
175.所述目标三维灰度贴图可以反映所述目标对象模型对应的各个像素点的灰度值。
176.进一步地,在确定所述目标三维灰度贴之后,可以依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域。
177.以便可以根据不同的毛发划分区域来生成毛发并渲染毛发,以实现预期的毛发的视觉效果。
178.其中,毛发的长度较长的区域可以减少毛发数量,毛发的长度较短的区域可以增多毛发的数量。
179.其中,因为长度较长的毛发在视角效果上比较容易体现出茂密的感觉,不容易看到毛发底下的皮肤,因此,毛发的长度较长的区域毛发量会减少;
180.因为长度较短的毛发容易露出毛发底下的皮肤,因此,毛发的长度较短的区域的毛发的数量需要对应增加上来把整体的视觉效果呈现出来。
181.步骤s302,依据所述预设的随机函数对每个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度。
182.具体地,由上述介绍可知,本技术实施例提供的方法可以依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域。
183.将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域之后,每个不同的毛发划分区域的毛发的数量、毛发颜色、毛发的长度都不同。
184.在实际渲染过程中,通过对毛发的参数进行设置,以实现渲染出毛发的不同视觉效果。
185.在毛发参数上,传统的做法是整体控制毛发的粗细属性,在毛发量不足的情况下,毛发太细会导致露出底下的皮肤,显得毛发很稀疏,视觉效果较差,要解决此问题,需要把毛发量倍增,相对应会增加渲染的硬件的成本。
186.为了提高毛发渲染速度,在将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域之后,本技术实施例提供的方法还可以依据所述预设的随机函数对每个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度。
187.通过所述预设随机函数对各个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度,可以有效实现既可以控制每根毛发的粗细度,但不会增加硬件成本。可以在有限的硬件成本基础上,有效实现对毛发的渲染。
188.从上述介绍的技术方案可知,本技术实施例提供的方法可以,当生成毛发之后,需要对毛发进行渲染,以实现用户要求的视觉效果,本技术实施例提供的方法可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数,进一步地可以利用预设的随机函数以及灰度贴图来实现对所生成的毛发的颜色、材质、光泽进行渲染,在提高毛发渲染速度的同时还可以使得毛发的视觉效果更真实更好,可以实现利用最少的毛发数量来生成高质量的毛发视觉效果,通过生成不同长度的多层毛发结合形成层次丰富的视觉感观,可以使得毛发的渲染效果达到影视级别的毛发效果质量,并在实时渲染引擎中通过控制各个层次毛发的粗细变化与毛发材质的粗糙度混合,实时的环境光效调整,达到进一步的视觉增效,解决了现有毛发离线渲染方式所导致漫长渲染等待,单帧效果的渲染时间较长的问题,通过实时渲染毛发的方法,可以有效实现毛发的渲染效果所见即所得,实时演绎角色带有真实毛发的视觉效果的成片效果。
189.由上述介绍可知,当生成毛发之后,需要对毛发进行渲染,以呈现预期的视觉效果时,本技术实施例提供的方法可以对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发,接下来介绍该过程,该过程可以包括如下几个步骤:
190.步骤s401,结合预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染。
191.具体地,由上述介绍可知,本技术实施例提供的方法可以依据所述目标三维灰度贴图来确定所需要生成的毛发的数量以及生成待渲染的毛发。
192.在生成毛发之后,毛发的颜色是通过渲染处理来呈现预期的效果的,当需要对毛发进行渲染时,可以结合所述预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染。
193.例如,在实际渲染过程中,可以通过渲染引擎中的标准材质函数对毛发的颜色进行渲染控制,同时可以结合所述预设的噪波函数配合所述目标三维灰度贴图对毛发的颜色进行控制与处理,以使得毛发的颜色可以呈现出毛发物理真实的视觉效果。
194.例如,在ue的材质中,一般可以利用一套通用的母材质作为标准材质,母材质生成实例材质,可以通用于渲染所需要的每个模型的材质中;母材质中会暴露出基础颜色贴图、
高光、亮度、反射等节点在实例材质中所供所需要的模型进行调节使用,母材质也可以包含提前准备好的噪波函数节点,在里面可以更换对应模型的贴图、uv和噪波函数贴图,控制调节参数,则可以得到所需要的正确毛发最终呈现渲染效果。
195.其中,
196.所述预设的噪波函数与上述介绍的所述预设的随机函数类似,不同的是所述预设的噪波函数所需要的贴图是参数或者是贴图,所述预设的噪波函数不同于所述预设的随机函数的是,所述预设的噪波函数可以用于噪波贴图所控制,所述预设的随机函数是贴图和参数所控制。
197.步骤s402,结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制,以实现对所述第一目标待渲染毛发的物理光泽度的调节。
198.具体地,由上述介绍可知,本技术实施例提供的方法可以确定所述目标三维灰度贴图,并可以结合预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染。
199.对毛发的颜色进行渲染之后,毛发的颜色的视觉效果可以相对接近预期的渲染效果,对毛发的阴影、光泽还需要进一步渲染。
200.因此,进一步地,可以结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制,以实现对所述第一目标待渲染毛发的物理光泽度的调节。通过所述预设的随机函数配合毛发的密度贴图处理高光的粗糙度,可以使毛发的物理光泽度更加接近真实毛发的视觉效果。
201.例如,
202.结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制的处理过程可以如下:
203.根据物体的三维灰度贴图,读取在母材质中暴露的随机函数值的实例材质中的高光粗糙度,相当于在基础的高光贴图材质中,增加随机函数值。
204.由上述介绍的技术方案可知,当生成毛发之后,需要对毛发进行渲染,以呈现预期的视觉效果时,本技术实施例提供的方法可以结合预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染,结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制,以实现对所述第一目标待渲染毛发的物理光泽度的调节,实现对所述第一目标待渲染毛发的材质参数进行处理,由此可以使得所述第一目标待渲染毛发的渲染效果达到预期的渲染视觉效果。
205.下面对本技术实施例提供的毛发渲染速度提升装置进行描述,下文描述的毛发渲染速度提升装置与上文描述的毛发渲染速度提升方法可相互对应参照。
206.参见图4,图4为本技术实施例公开的一种毛发渲染速度提升装置结构示意图。
207.如图4所示,该毛发渲染速度提升装置可以包括:
208.贴图构建单元101,用于构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图;
209.毛发生成单元102,用于依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发;
210.毛发参数设置单元103,用于依据预设的随机函数以及所述目标三维灰度贴图,设
置所述第一目标待渲染毛发的参数;
211.第一渲染单元104,用于对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发;
212.第二渲染单元105,用于对所述第二目标待渲染毛发的光照参数进行处理,得到目标渲染毛发。
213.从以上介绍的技术方案可以看出,当需要对虚拟对象的毛发进行渲染时,本技术实施例提供的装置可以构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图;以便可以依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发;依据所述目标三维灰度贴图来确定对应的毛发数量,可以使得毛发的数量可以依据所述目标三维灰度贴图各个区域的颜色来确定,使得毛发的整体视觉效果较好,并且可以使得毛发的数量可以均匀分布,可以降低对硬件设备的资源要求,降低对硬件设备的性能开销。进一步地,在生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发之后,可以依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数,以使得可以精准控制不同长度的毛发的粗细度,使得毛发的最终呈现效果更显柔顺细腻,提升毛发整体的层次感;进一步地,还可以对所述第一目标待渲染毛发的材质参数进行处理,以使得毛发的长短和粗细度更加贴合,使得毛发的整体视觉效果更好,从而可以得到第二目标待渲染毛发;在得到所述第二目标渲染毛发之后,还可以对所述第二目标待渲染毛发的光照参数进行处理,以使得毛发的光泽度以及颜色可以更真实,由此可以得到目标渲染毛发。
214.本技术实施例提供的装置可以通过构建与虚拟对象的模型对应的灰度贴图,并通过灰度贴图来确定所需要生成的毛发的数量,由此可以降低生成毛发过程中对计算资源的性能要求,避免生成数量过多的毛发,由此可以提高毛发生成速度,进一步地可以利用预设的随机函数以及灰度贴图来实现对所生成的毛发的颜色、材质、光泽进行渲染,在提高毛发渲染速度的同时还可以使得毛发的视觉效果更真实更好,可以实现利用最少的毛发数量来生成高质量的毛发视觉效果,通过生成不同长度的多层毛发结合形成层次丰富的视觉感观,可以使得毛发的渲染效果达到影视级别的毛发效果质量,并在实时渲染引擎中通过控制各个层次毛发的粗细变化与毛发材质的粗糙度混合,实时的环境光效调整,达到进一步的视觉增效,改良了三维毛发制作与渲染的工艺流程,利用毛发引导曲线绘制毛发,通过虚幻5引擎进行最终的毛发效果渲染。可以实时显示毛发最终的渲染效果,解决了现有毛发离线渲染方式所导致漫长渲染等待,单帧效果的渲染时间较长的问题,通过实时渲染毛发的方法,可以有效实现毛发的渲染效果所见即所得,实时演绎角色带有真实毛发视觉效果的成片效果。
215.进一步可选的,所述贴图构建单元101,可以包括:
216.需求分析单元,用于分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型;
217.灰度值确定单元,用于依据所述目标对象模型,确定待生成的毛发的颜色的灰度值;
218.毛发长度设置单元,用于依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度;
219.贴图生成单元,用于依据所述待生成的毛发的长度及颜色,生成与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。
220.进一步可选的,所述毛发参数设置单元103,可以包括:
221.毛发区域划分单元,用于依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域;
222.毛发区域参数设置单元,用于依据所述预设的随机函数对每个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度。
223.进一步可选地,所述第一渲染单元104,可以包括:
224.毛发颜色渲染单元,用于结合预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染;
225.高光控制单元,用于结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制,以实现对所述第一目标待渲染毛发的物理光泽度的调节。
226.进一步可选的,所述第二渲染单元102的执行过程,可以包括:
227.使用虚幻引擎中的全局光技术,对所述第二目标待渲染毛发的光照参数进行处理,以实现使毛发与毛发直接产生反弹光照,体现所述第二目标待渲染毛发的全局物理光照。其中,上述毛发渲染速度提升装置所包含的各个单元的具体处理流程,可以参照前文毛发渲染速度提升方法部分相关介绍,此处不再赘述。
228.本技术实施例提供的毛发渲染速度提升装置可应用于毛发渲染速度提升设备,如终端:手机、电脑等。可选的,图5示出了毛发渲染速度提升设备的硬件结构框图,参照图5,毛发渲染速度提升设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
229.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
230.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路等;
231.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
232.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端毛发渲染速度提升方案中的各个处理流程。
233.本技术实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在毛发渲染速度提升方案中的各个处理流程。
234.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
235.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
236.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种毛发渲染速度提升方法,其特征在于,包括:构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图;依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发;依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数;对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发;对所述第二目标待渲染毛发的光照参数进行处理,得到目标渲染毛发。2.根据权利要求1所述的方法,其特征在于,所述构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图,包括:分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型;依据所述目标对象模型,确定待生成的毛发的颜色的灰度值;依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度;依据所述待生成的毛发的长度及颜色,生成与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。3.根据权利要求1所述的方法,其特征在于,所述依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数,包括:依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域;依据所述预设的随机函数对每个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度。4.根据权利要求1所述的方法,其特征在于,所述对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标待渲染毛发,包括:结合预设的噪波函数和所述目标三维灰度贴图,利用渲染引擎中的标准材质对所述第一目标待渲染毛发的颜色进行渲染;结合所述目标三维灰度贴图以及预设的随机函数,对渲染引擎的高光的粗糙度进行控制,以实现对所述第一目标待渲染毛发的物理光泽度的调节。5.根据权利要求1所述的方法,其特征在于,对所述第二目标待渲染毛发的光照参数进行处理,得到目标渲染毛发,包括:使用虚幻引擎中的全局光技术,对所述第二目标待渲染毛发的光照参数进行处理,以实现使毛发与毛发直接产生反弹光照,体现所述第二目标待渲染毛发的全局物理光照。6.一种毛发渲染速度提升装置,其特征在于,包括:贴图构建单元,用于构建与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图;毛发生成单元,用于依据所述目标三维灰度贴图,确定与用户的需求对应的毛发数量,并生成与用户的需求对应的毛发数量对应的第一目标待渲染毛发;毛发参数设置单元,用于依据预设的随机函数以及所述目标三维灰度贴图,设置所述第一目标待渲染毛发的参数;第一渲染单元,用于对所述第一目标待渲染毛发的材质参数进行处理,得到第二目标
待渲染毛发;第二渲染单元,用于对所述第二目标待渲染毛发的光照参数进行处理,得到目标渲染毛发。7.根据权利要求6所述的装置,其特征在于,所述贴图构建单元,包括:需求分析单元,用于分析用户对生成毛发的需求,确定与用户对所需要生成的毛发的目标对象模型;灰度值确定单元,用于依据所述目标对象模型,确定待生成的毛发的颜色的灰度值;毛发长度设置单元,用于依据所述待生成的毛发的颜色的灰度值,设置待生成的毛发的长度;贴图生成单元,用于依据所述待生成的毛发的长度及颜色,生成与用户对生成毛发的需求对应的目标对象模型的目标三维灰度贴图。8.根据权利要求6所述的装置,其特征在于,所述毛发参数设置单元,包括:毛发区域划分单元,用于依据所述目标三维灰度贴图的灰度值分布情况,将所述目标三维灰度贴图对应的区域划分为各个不同的毛发划分区域;毛发区域参数设置单元,用于依据所述预设的随机函数对每个所述毛发划分区域的参数进行设置,以控制每个所述毛发划分区域对应的毛发的粗细度。9.一种毛发渲染速度提升设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如权利要求1至5中任一项所述毛发渲染速度提升方法的步骤。10.一种可读存储介质,其特征在于:所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现如权利要求1至5中任一项所述毛发渲染速度提升方法的步骤。
技术总结
本申请提供一种毛发渲染速度提升方法、装置、设备及可读存储介质,本申请通过构建与虚拟对象的模型对应的灰度贴图,并通过灰度贴图来确定所需要生成的毛发的数量,降低生成毛发过程中对计算资源的性能要求,提高毛发生成速度,利用预设的随机函数以及灰度贴图来实现对所生成的毛发的颜色、材质、光泽进行渲染,在提高毛发渲染速度的同时使得毛发的视觉效果更真实更好,通过生成不同长度的多层毛发结合形成层次丰富的视觉感观,并在实时渲染引擎中通过控制各个层次毛发的粗细变化与毛发材质的粗糙度混合,实时的环境光效调整,达到进一步的视觉增效,解决了现有毛发离线渲染方式所导致漫长渲染等待,单帧效果渲染时间较长的问题。题。题。
技术研发人员:邹嘉健 韦崇焜 姚霄 颜惠敏
受保护的技术使用者:广州艾飞文化传播有限公司
技术研发日:2022.12.28
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:带角度功能的电动定扭扳手的制作方法 下一篇:一种一站式企业开办装置及方法与流程
