着色器: rendinst_parallax_ice
概述
顾名思义,此着色器旨在使用视差效果模拟半透明冰。它既可以应用于平铺纹理 (如结冰的湖面),也可以应用于独特资源(如雕刻的冰山)。
此着色器以类似于 rendinst_perlin_layered 着色器的方式混合两个细节图层,但没有基于高度的渐变。第三个细节图层的混合方式不同,仅使用其漫反射纹理,该纹理偏移到表面中,并被混合细节图层的法线折射。
此着色器使用单个 UV 通道,就像 rendinst_mask_layered 一样,并且适用于相对平坦的表面。在有机形状上使用它可能会导致视觉故障,因此建议使这些区域不透明。
必需的纹理
tex0: D1 Diffuse (RGB) + HeightMap (Alpha)tex1: Diffuse of the internal layer (RGB)tex2: D1 Normal (RG) + Glossiness (A)tex3: D2 Diffuse (RGB) + HeightMap (Alpha)tex4: D2 Normal (RG) + Glossiness (A)
可选纹理
tex5: D1 透明度蒙版。如果存在,则此蒙版用于与内部图层混合,而不是漫反射 Alpha。如果细节需要完全透明或不透明,则可以使用黑色或白色占位符。tex6: D2 透明度蒙版。用法类似于tex5。tex7: 细节混合蒙版。
Important
.folder.blk中的所有蒙版都必须具有gamma=1才能正确作。
VertexColor: 如果可用,则用于强制内部图层在黑色区域中变得不透明,而白色区域保持不变。这对于处理冰块的边缘以避免角落处出现伪影非常有用。 仅选中红色通道,但为简单起见,它在示例中显示为黑色和白色。
参数
Color:
inner_layer_depth: 表面与内层之间的距离。min=0.0(无效果)。默认值:’0.1’
inner_layer_mul: 内部图层的漫反射颜色的乘数,控制亮度。违约:1.0
inner_layer_power: 乘法后应用于内部图层颜色的指数,用于调整对比度。违约:1.0
增加 ‘
power’ 和 ‘mul’ 值可以产生不真实但具有艺术感的效果,例如增强的对比度和颜色饱和度,从而产生发光的外观。请谨慎使用这些设置。下面是一个 ‘power=3’ 和 ‘mul=3’ 的极端例子:
vcol_masked_mul: VertexColor 中标记为白色的区域中的混合细节图层的亮度乘数。vcol_masked_power: 相同混合细节图层的对比度指数。ior: Index of refraction,控制细节层的法线扭曲内部层漫反射的程度。min=1.0(无效果),默认值:1.31.从左到右:
ior=1.0(无折射)、1.31(冰的物理精度)和夸张的4.0。其他参数(包括depth)是相同的。
默认情况下,着色器对冰使用物理上准确的值,但您可以调整 ‘
ior’ 以削弱或夸大效果,以便进行视觉目的。 调整 ‘depth’ 也是必要的,因为增加 ‘ior’ 不仅会因细节法线而加剧内部图层的扭曲,还会使其在视觉上更接近表面。左侧:
ior=1.31(默认)和depth=0.1。右侧:ior=4.0和depth=1。这些在物理上并不准确,但可用于艺术效果。内层变得不那么明显,这有时是可取的。
ior=1.31 and depth=0.1 |
ior=4.0 and depth=1 |
|---|
纹理坐标:
inner_layer_tile_uv: 内层的平铺。inner_layer_u_offset: 水平偏移。inner_layer_v_offset: 垂直偏移。detail1_tile_uvdetail1_u_offsetdetail1_v_offsetmodify_detail1_mask_uv: 控制是否通过上述三个参数调整此细节的透明度蒙版 UV。默认值:1。如果蒙版是专门为资源绘制的,则这非常有用,因此平铺/偏移调整不会破坏蒙版。detail2_tile_uvdetail2_u_offsetdetail2_v_offsetmodify_detail2_mask_uv
Micro Details:
micro_detail_layer1: 第一个微细节图层的索引。micro_detail_layer1_uv_scale: 第一个微细节图层的平铺。micro_detail_layer2: 第二个微细节图层的索引。micro_detail_layer2_uv_scale: 第二个微细节图层的平铺。
Masks:
mask_gamma: 工作方式与 rendinst_perlin_layered 中相同。前两个值控制细节蒙版的灰度系数,第三个值不执行任何作(因为没有第三个细节),第四个值设置 Perlin 杂色的平铺。 默认值:1.0, 1.0, 0.0, 0.1.heightmaps_invert: 前两个值控制细节混合蒙版的反转,第二对值控制这些细节的透明度蒙版的反转。默认值:0,0, 0,0.