纹理基础知识
-
纹理的最初目的是使用一张图片来控制模型的外观,使用纹理映射技术,可以把一张图“黏”在模型的表面,逐纹素的控制模型的颜色。
-
UV坐标通常被归一化到[0, 1]范围内。
-
在 OpenGL 中,纹理空间的原点位于左下角,而在 DirectX 中,原点位于左上角。
-
samplar2D _MainTex;
float4 _MainTex_ST; // 纹理的属性,ST为缩放和平移的缩写,_MainTex_ST.xy缩放值,_MainTex_ST.zw 偏移值。可以在材质面板中调节,对应的是 Tiling 和 Offset。 -
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
// 等价于,先缩放,后偏移
o.uv = v.texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
纹理属性
-
Texture Type 纹理类型
- Default 普通贴图
- Normal map 法线贴图
- Editor GUI and Legacy GUI UI贴图
- Sprite(2D and UI) 精灵
- Cursor 鼠标指针
- Cookie 遮罩贴图
- Lightmap 烘焙贴图
-
Texture Shape
- 2D 默认类型,2D纹理
- Cube 立方体贴图,用于Skyboxes或者Reflection Probes
-
sRGB(Color Texture)(标准颜色的纹理)
如果不需要标准RGB颜色的纹理,可以不勾选。 -
Alpha Source:纹理Alpha通道
- None 无,不论纹理是否有Alpha,都设置为没有Alpha
- Input Texture Alpha 导入纹理自带Alpha
- From Gray Scale 透明通道的值会由每个像素的灰度值生成
-
Alpha Is Transparency
当alpha用于透明处理时,我们要勾上该选