System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于计算机图形,尤其涉及一种材质实现方法、装置、电子设备及计算机可读存储介质。
技术介绍
1、在设计材质时,有时需要将不同材质纹理表现在该材质的同一张纹理上。例如,有时需要将布料纹理和金属纹理表现在该材质的同一张纹理上。具体地,在设计丝绸类布料材质时,有时需要在丝绸上增加金属镶边质感或镶嵌金属物体。
2、目前,在相关技术中不同材质纹理表现在该材质的同一张纹理上容易出现相互混叠。例如,在相关技术中主要通过控制金属度对布料纹理和金属纹理进行区分,但在远处观察对象时,布料纹理和金属纹理因为纹理滤波算法,容易在同一张纹理上出现相互混叠。因为,渲染引擎对纹理采样时,会根据相机到被采样纹理的实际距离,从多级渐远纹理(mipmap)中选取合适的等级进行采样。当纹理距离较远时,原始分辨率下的像素会出现混叠。当布料纹理和金属纹理同时表现在同一张纹理上,则金属度通道的混叠对材质的影响较为明显。
3、具体地,在相关技术中,基于物理的渲染(physically-based rendering,pbr)材质将布料纹理和金属纹理表现在同一张纹理上,主要通过控制金属度对布料纹理和金属纹理进行区分。其中,ue4、unity等主流渲染引擎提供了专用的布料材质。
4、其中,pbr材质通过控制金属度对布料纹理和金属纹理进行区分的做法,容易导致在远处观察布料时,布料纹理和金属纹理因为纹理滤波算法出现混叠,影响最终的布料表现效果。
5、ue4、unity等主流渲染引擎的布料材质允许使用专门的绒毛颜色参数模拟布料的绒毛
6、因此,如何避免不同材质纹理在同一张纹理上出现相互混叠是本领域技术人员亟需解决的技术问题。
技术实现思路
1、本申请实施例提供一种材质实现方法、装置、电子设备及计算机可读存储介质,能够避免不同材质纹理在同一张纹理上出现相互混叠。
2、第一方面,本申请实施例提供一种材质实现方法,包括:
3、获取对应于目标材质的网格模型;其中,网格模型具有两套纹理uv,两套纹理uv分别表征第一材质纹理和第二材质纹理的渲染映射方式;
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、网格模型获取模块,用于获取对应于目标材质的网格模型;其中,网格模型具有两套纹理uv,两套纹理uv分别表征第一材质纹理和第二材质纹理的渲染映射方式;
31、初始输入信息获取模块,用于获取当前材质的初始输入信息;
32、确定模块,用于基于初始输入信息,确定目标材质对应的漫反射、高亮反射、光滑度和法线朝向;
33、渲染模块,用于基于漫反射、高亮反射、光滑度和法线朝向,对网格模型进行渲染以实现目标材质。
34、可选的,初始输入信息包括:第一漫反射纹理和第二漫反射纹理;其中,第一漫反射纹理的透明通道用于存储表征第一材质纹理和第二材质纹理的变化权重;确定模块包括漫反射确定单元,用于:将第一漫反射纹理的透明通道的透明通道值确定为第一权重;利用第一权重对第一漫反射纹理和第二漫反射纹理的红通道、绿通道及蓝通道进行线性插值,得到混合漫反射纹理值。
35、可选的,初始输入信息包括:第一高亮反射纹理和第二高亮反射纹理;其中,第一高亮反射纹理的红通道、绿通道及蓝通道用于存储表征第一材质纹理的高亮反射值,第一高亮反射纹理的透明通道用于存储表征第一材质纹理的光滑度;第二高亮反射纹理的红通道、绿通道及蓝通道用于存储表征第二材质纹理的高亮反射本文档来自技高网...
【技术保护点】
1.一种材质实现方法,其特征在于,包括:
2.根据权利要求1所述的材质实现方法,其特征在于,所述初始输入信息包括:第一漫反射纹理和第二漫反射纹理;其中,所述第一漫反射纹理的透明通道用于存储表征所述第一材质纹理和所述第二材质纹理的变化权重;基于所述初始输入信息,确定所述目标材质对应的漫反射,包括:
3.根据权利要求1所述的材质实现方法,其特征在于,所述初始输入信息包括:第一高亮反射纹理和第二高亮反射纹理;其中,所述第一高亮反射纹理的红通道、绿通道及蓝通道用于存储表征所述第一材质纹理的高亮反射值,所述第一高亮反射纹理的透明通道用于存储表征所述第一材质纹理的光滑度;所述第二高亮反射纹理的红通道、绿通道及蓝通道用于存储表征所述第二材质纹理的高亮反射值,所述第二高亮反射纹理的透明通道用于存储表征所述第二材质纹理的光滑度;
4.根据权利要求3所述的材质实现方法,其特征在于,所述初始输入信息包括:一张细节光滑度纹理和所述细节光滑度纹理对应的细节光滑度缩放量、细节光滑度偏移量;
5.根据权利要求1所述的材质实现方法,其特征在于,所述初始输入信息包括
6.根据权利要求5所述的材质实现方法,其特征在于,所述利用所述三维笛卡尔坐标基对所述细节法线朝向进行变换,得到变换后的细节法线朝向,包括:
7.根据权利要求1至6任一项所述的材质实现方法,其特征在于,所述第一材质纹理为布料纹理和/或所述第二材质纹理为金属纹理。
8.一种材质实现装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的材质实现方法。
...【技术特征摘要】
1.一种材质实现方法,其特征在于,包括:
2.根据权利要求1所述的材质实现方法,其特征在于,所述初始输入信息包括:第一漫反射纹理和第二漫反射纹理;其中,所述第一漫反射纹理的透明通道用于存储表征所述第一材质纹理和所述第二材质纹理的变化权重;基于所述初始输入信息,确定所述目标材质对应的漫反射,包括:
3.根据权利要求1所述的材质实现方法,其特征在于,所述初始输入信息包括:第一高亮反射纹理和第二高亮反射纹理;其中,所述第一高亮反射纹理的红通道、绿通道及蓝通道用于存储表征所述第一材质纹理的高亮反射值,所述第一高亮反射纹理的透明通道用于存储表征所述第一材质纹理的光滑度;所述第二高亮反射纹理的红通道、绿通道及蓝通道用于存储表征所述第二材质纹理的高亮反射值,所述第二高亮反射纹理的透明通道用于存储表征所述第二材质纹理的光滑度;
4.根据权利要求3所述的材质实现方法,其特征在于,所述初始输入信息包括:一张细节光滑度纹理和所述细...
【专利技术属性】
技术研发人员:李翰博,
申请(专利权)人:完美世界互娱北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。