只提供思路,不是万能解决方案。具体问题具体分析,顺序之类的不一定相同。
注意,本文仅指的是那种因为颜色通道颠倒而导致的异常法线贴图。法线贴图的颜色取决于这个三维模型的结构以及法线贴图的算法,因此不是所有的法线贴图都应该是偏蓝色的。当然,切线空间法线贴图通常是浅蓝或者是蓝色 (因为一般情况下Z值都是0.5~1,而蓝色通道代表了Z轴)
有的时候我们会遇到这种已经明确颜色本应该偏蓝却偏粉的粉色法线贴图。仔细看它的通道会发现这种粉红色的法线贴图和正常的蓝色法线贴图区别在于它的通道顺序。蓝色的法线贴图是RGB,而粉色的则是BGK,甚至还可能出现BGAR。
一般而言法线贴的法线贴图是RGB,而粉图只需要三个通道(RGB),将法线向量的x、y、Z元素储存到纹理中,代替颜色的RGB元素。 (当然有些算法甚至只需要两个元素就可以代表xyz三个轴,这种法线贴图般是偏黄色的法线贴图,原理是只需要记录x和y两个轴,然后通过计算得出z轴即可)第一种,拆分通道后会发现出现R G BA四个图层的粉红色法线贴图 (这种异常的法线贴图有时候你甚至会发现图片是半透明的)
处理前
这种拆分后四个通道的观察可发现绿通道和蓝通道的图像是一模一样的
对于这种贴图来说,只要按照 红--蓝 绿-透明 蓝--红的顺序进行重新组合,即可变回正常的偏蓝色贴图
对于这种只有RGB三个通道的,因为R和B颠倒的贴图,我们只需要重构它的通道就可以
变回原来的蓝色
处理前
处理后
网友评论