图形学-小知识点收集
2021-08-03 本文已影响0人
大其心宏其量扩其识
计算法线贴图中的RGB像素表示的法线方向
RGB 颜色值用于存储矢量的 X、Y、Z 方向,其中的 Z 为“向上”(与 Unity 通常使用 Y 作为“向上”的惯例相反)。此外,纹理中的值视为经过减半处理,即添加了 0.5 的系数。这样就能存储所有方向的矢量。因此,为了将 RGB 颜色转换为矢量方向,必须乘以 2,然后减去 1。例如,RGB 值 (0.5, 0.5, 1) 或十六进制的 #8080FF 将得到矢量 (0,0,1),这便是用于法线贴图的“向上”,并表示模型表面没有变化。这就是您在此页面前面的法线贴图“示例”的平面区域中看到的颜色。
//RGB=>法线方向
R*2-1=X
G*2-1=Y
Z*2-1=Z
//法线方向=>RGB
(X+1)/2=R
(Y+1)/2=G
(Z+1)/2=B
链接:https://www.cnblogs.com/kingBook/p/11399792.html
RGB颜色提取灰度值
这里用一个比较常用的基于人眼感知的灰度值提取公式。
color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722
这个公式是由人眼对不同颜色敏感度不同得来的,这里无需过多计较,直接把提取出来的灰度值作为高度值即可。