案例中的几个要点。
1.手动设置Normal map。
一般我们需要在Inspector中将法线纹理的类型选择为Normal map 如下图。
如果我们没有设置Normal map,我们需要将法线纹理的颜色值重新映射回法线方向,如下。这样也是可以得到正确的法线方向。
fixed4 normal = tex2D(_Bump, i.uv);
norm.xyz = norm.xyz * 2 - 1
一般来说我们将纹理设置为Normal map,再调用UnpackNormal函数就可以得到正确的法线方向的值。
Unity采用的压缩方式是DXT