Segment 0 回顾
Object-space normal map和tangent-space normal map区别。
Object-space normal map里面的法线向量值是参考object坐标系搞出来的,而tangent space normal map里面的法线向量值是先在高模Obj对应的低模Obj上面每一个点建立一个坐标系,这个坐标系叫做tangent space(一般Z轴就是低模上这个点的法线,X,Y轴分别是uv坐标的方向),之后,把高摸上每一点的法线向量转换到这个tangent space里面,这样形成的一个map就是tangent space normal map。这样看来tangent space normal map里面每一个点本质上记录的其实是一个偏差,也就是该点处低模法线方向和高模法线方向之间的差别(请注意,这只是个比喻,方便理解而已,实际上记录的根本不是两个向量差,因为如果记录的是向量差,那么整个概念还是一样的,但是算法却差别很大了。真正的tangent space normal map是将高模的法线值存进低模的tangent坐标系当中,这样在拿tangent space normal map去蒙皮的时候,只需要在所需蒙皮的物体的每一个点的tangent space里面把原来的法线值删除,更换成tangent space normal map的值就好了)
下图是obj-space normal map和tangent space normal map的实际样子。
- <