标准渲染管线——材质球的材质通道
文档,与内容无关,是介绍材质球的属性的。
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 或 *_disp.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 |
置换贴图(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);