标准渲染管线——材质球的材质通道
文档,与内容无关,是介绍材质球的属性的。
https://docs.unity3d.com/2022.1/Documentation/Manual/StandardShaderMaterialParameters.html游戏资源中常见的贴图类型
https://zhuanlan.zhihu.com/p/260973533
十大贴图常用贴图介绍 Shader的诞生
https://www.bilibili.com/read/cv7860546/
『材质贴图』正确打开方式 ,只需要听听得懂的地方就行了
https://www.bilibili.com/video/BV1j4411x7PG/可能用的,如何制作贴图
https://blog.csdn.net/GoodCooking/article/details/142669974
在Unity的标准渲染管线中,使用默认材质(Standard Material)和默认的Shader(Standard Shader)时,贴图的命名和对应关系如下:
贴图类型 | 命名后缀 | 对应Shader属性 | 文件后缀 |
---|---|---|---|
漫反射贴图(Albedo Map) | _MainTex | _MainTex | *_diffuse.png 或 *_color.png 或者*_albedo.png |
金属度贴图(Metallic Map) | _MetallicGlossMap | _MetallicGlossMap | *_metallic.png 或*_Gloss.png 或*_metalness.png |
粗糙度贴图(Roughness Map) | _MetallicGlossMap | _MetallicGlossMap | *_roughness.png 或smoothness.png |
法线贴图(Normal Map) | _BumpMap | _BumpMap | *_normal.png |
高度贴图(Height Map) | _ParallaxMap | _ParallaxMap | *_height.png |
环境光遮蔽贴图(Ambient Occlusion Map) | _OcclusionMap | _OcclusionMap | *_ao.png 或 *_ambientocclusion.png |
细节遮罩贴图(Detail Mask) | _DetailMask | _DetailMask | *_detail_mask.png |
自发光贴图(Emissive Map) | _EmissionMap | _EmissionMap | *_emissive.png |
细节漫反射贴图(Detail Albedo x2) | _DetailAlbedoMap | _DetailAlbedoMap | *_detail_albedo.png |
贴图类型 | 命名后缀 | 对应Shader属性 | 文件后缀 |
---|---|---|---|
高光贴图(Specular Map) | _SpecGlossMap | _SpecGlossMap | *_specular.png |
透明度贴图(Opacity Map) | _MainTex | _MainTex (Alpha通道) | *_opacity.png |
环境光遮蔽贴图(Ambient Occlusion Map) | _OcclusionMap | _OcclusionMap | *_ao.png |
置换贴图(Displacement Map) | _ParallaxMap | _ParallaxMap | *_displacement.png 或 *_height.png |
凹凸贴图(Bump Map) | _BumpMap | _BumpMap | *_bump.png |
边缘贴图(Edge Map) | 不适用 | 不适用 | 不适用 |
环境贴图(Environment Map) | 不适用 | 不适用 | 不适用 |
折射贴图(Refraction Map) | 不适用 | 不适用 | 不适用 |
不适用意思的意思是:Unity的标准Shader不直接支持
形变通道:
凹凸:会改变光线在模型表面的凹凸的感觉,但是不会改变物体的结构
法线:会改变光线在模型表面的凹凸的感觉,不会改变物体的结构,
区别:凹凸是通过灰度图片去描述凹凸的程度,法线是通过法线贴图描述物体的凹凸程度
置换:可以使物体表面产生凹凸的通道,不同于凹凸和法线,置换会改变模型的网格,但是不会修改原来的网格。
置换会占很多内存,且拖慢渲染速度!
有法线先用法线。
颜色信息:漫反射
反射信息:反射,光泽度
高度信息:法线,凹凸,置换
如何使用代码修改材质球的某个属性
使用代码方式访问的方式:
找到要修改的属性,比如颜色,找到之后确定属性的类型,然后Set 类型,
比如设置金属度,找到:Metallic,类型是range,就设置float ,参数中的strng 就是:_metallc
数值就是0-1.
// 设置金属度mat.SetFloat("_Metallic", 1.0f);