一.材质
含义:材质是指用于定义物体外观和表面特性的一组属性集合。它决定了物体如何反射、吸收和透射光线,从而呈现出不同的视觉效果,如颜色、光泽、透明度、粗糙度等 。
二.材质使用方法
1.创建一个文件夹Materials保存各种材质
2.创建材质并修改参数
3.将材质直接拖放到需要材质的物体上
三.材质属性
在 Unity 的 Inspector 面板中,可以看到当前球体材质名为 “sphere”,使用的 Shader 是 “Standard”(标准着色器),这是 Unity 中一种广泛应用的着色器,能够模拟多种真实世界的材质效果。
1.渲染模式(Rendering Mode)
- 属性:当前设置为 “Opaque”(不透明),这是最常见的渲染模式,适用于不透明的物体,如石头、金属等。
- 功能:决定了材质如何处理透明度和混合效果。
- 使用方法:除了 “Opaque”,还有 “Cutout”(镂空)、“Fade”(渐变透明)、“Transparent”(透明)等模式。如果要创建有镂空效果的物体,可选择 “Cutout” 模式,并设置相应的透明度阈值;若要实现物体逐渐消失的效果,“Fade” 模式则比较合适。
2.反照率(Albedo)
- 属性:这里显示为白色,它定义了材质的基本颜色。
- 功能:反照率贴图控制物体表面反射光线的颜色,是材质外观的基础。
- 使用方法:可以直接点击颜色框选择颜色,也可以拖入一张纹理贴图作为表面颜色。比如创建一个草地材质,就可以将草地纹理贴图赋予 Albedo 属性。
3.金属度(Metallic)
- 属性:当前值为 0,表示该材质不是金属材质。取值范围是 0 到 1,0 代表非金属,1 代表完全金属。
- 功能:用于模拟材质的金属特性,控制材质对光线的反射方式。
- 使用方法:对于金属材质,如钢铁、黄金等,将该值调高,并配合合适的 Albedo 颜色和反射效果,就能模拟出逼真的金属质感。
4.光滑度(Smoothness)
- 属性:当前值为 0.5,取值范围是 0 到 1,值越高表示材质表面越光滑。
- 功能:影响材质的镜面反射效果,光滑的表面会产生更清晰的反射。
- 使用方法:制作镜子时,将光滑度设为接近 1;而制作粗糙的墙面时,将其设为较低的值。
5.法线贴图(Normal Map)
- 属性:目前未启用。法线贴图是一张包含表面法线信息的纹理。
- 功能:在不增加模型多边形数量的情况下,模拟出表面的凹凸细节。
- 使用方法:从资源库中找到合适的法线贴图,拖入该属性框中。例如,为一个平面添加岩石的法线贴图,就能让它看起来有岩石的凹凸质感。
6.高度贴图(Height Map)
- 属性:未启用。高度贴图记录了材质表面的高度信息。
- 功能:可以配合置换 shader 来实现更真实的几何形状变化,比如地形的高低起伏。
- 使用方法:导入高度贴图后,需要在支持置换的 shader 中使用,以实现更复杂的几何效果。
7.遮挡贴图(Occlusion)
- 属性:未启用。遮挡贴图记录了表面上哪些区域更容易被遮挡。
- 功能:用于增强材质的阴影效果,使场景看起来更真实。
- 使用方法:将遮挡贴图应用到材质上,它会根据模型的几何形状来调整光照,模拟出环境光遮挡的效果。
8.细节遮罩(Detail Mask)
- 属性:未启用。
- 功能:用于混合多个细节纹理,控制不同纹理在材质表面的显示区域。
- 使用方法:结合多个细节纹理和遮罩贴图,可创建出更丰富的材质细节,如在墙面材质上添加污渍、划痕等细节。
9.发射(Emission)
- 属性:当前颜色为黑色,即不发光。
- 功能:使材质能够自发光,常用于制作灯光、火焰等效果。
- 使用方法:点击颜色框选择发光颜色,或者拖入发光纹理贴图,调整强度滑块来控制发光的亮度。
10.平铺(Tiling)
- 属性:X 和 Y 轴均为 1,决定了纹理在模型表面重复的次数。
- 功能:用于调整纹理在模型上的覆盖密度。
- 使用方法:如果想让纹理更密集,可增大 X 和 Y 的值;若希望纹理稀疏一些,则减小数值。
11.偏移(Offset)
- 属性:X 和 Y 轴均为 0,控制纹理在模型表面的位置。
- 功能:可以移动纹理在模型上的显示位置。
- 使用方法:通过调整 X 和 Y 的值,可以将纹理在模型表面进行平移,以达到合适的视觉效果。
12.细节反照率(Detail Albedo x2)
- 属性:未启用。
- 功能:用于添加额外的细节纹理,与主反照率纹理混合,增强材质细节。
- 使用方法:导入细节纹理后,调整混合参数,使其与主纹理自然融合,比如在地面材质上添加一些细小的石子纹理。
13.次要法线贴图(Normal Map)
- 属性:未启用。
- 功能:提供额外的法线信息,进一步增强表面的凹凸细节。
- 使用方法:与主法线贴图类似,导入合适的法线贴图,与主法线效果叠加,创造出更丰富的表面细节。
14.镜面高光(Specular Highlights)
- 属性:已勾选,启用镜面高光效果。
- 功能:控制材质表面的高光显示,使物体看起来更有光泽。
- 使用方法:若不需要高光效果,取消勾选即可。
15.反射(Reflections)
- 属性:已勾选,启用反射效果。
- 功能:让材质能够反射周围环境,增加真实感。
- 使用方法:可通过调整反射探头等设置,来优化反射的效果和质量。
16.渲染队列(Render Queue)
- 属性:当前设置为 “From Shader”,值为 2000。
- 功能:决定了物体的渲染顺序,数值越小越先渲染。
- 使用方法:在处理透明物体、粒子效果等需要特定渲染顺序的情况时,可手动调整渲染队列值。
17.启用 GPU 实例化(Enable GPU Instancing)
- 属性:未勾选。
- 功能:在场景中有大量相同物体时,可提高渲染性能。
- 使用方法:当场景中有许多重复的模型,如森林中的树木,勾选该选项可减少渲染开销。
18.双面全局光照(Double Sided Global Illumination)
- 属性:与双面物体的全局光照计算有关。
- 功能:用于处理双面物体的光照效果,使物体两面都能正确接收和反射光照。
- 使用方法:对于一些需要展示双面效果的物体,如旗帜、纸张等,可根据具体情况启用该功能。
四.结语
希望本文能帮助开发者们在 Unity 项目中更好地运用材质,打造出更加精彩的 3D 世界。在实际开发中,不断尝试和调整这些属性,结合不同的纹理和模型,一定能实现令人满意的视觉效果。