找回密码
 立即注册
首页 业界区 业界 【URP】法线贴图为什么主要是蓝色的?

【URP】法线贴图为什么主要是蓝色的?

衣旱 昨天 14:28
法线贴图呈现蓝紫色调(尤其以蓝色为主)是由其‌存储原理、切线空间坐标系设计及颜色编码规则共同决定的‌。
【从UnityURP开始探索游戏渲染】专栏-直达
核心原因:法线向量的存储规则‌

‌法线向量的物理范围‌

法线是单位向量,每个分量(X, Y, Z)的取值范围为 ‌[-1, 1],分别代表切线空间中的方向:

  • ‌X(红色通道):左右偏移(左为负,右为正)
  • ‌Y(绿色通道):上下偏移(下为负,上为正)
  • ‌Z(蓝色通道):垂直表面的方向(指向外部为正)‌。
‌颜色空间的映射限制‌

图像颜色值范围是 ‌[0, 1](对应0~255),因此需要进行转换:
RGB=(Normalxyz+1)/2

  • 默认法线方向‌:当表面完全垂直(无倾斜)时,法线向量为 ‌(0, 0, 1)。
  • 转换结果‌:

    • R=20+1=0.5 (128)
    • G=20+1=0.5 (128)
    • B=21+1=1 (255)
    • 最终颜色为 ‌(128, 128, 255),即 ‌蓝紫色‌(蓝色占主导)‌。

‌现实模型的主导方向


  • 大多数模型表面(如墙面、地面)以‌垂直方向为主‌(Z≈1),因此蓝色通道值接近255,而XY通道接近128(中性灰),整体呈现蓝色基调‌。
‌颜色变化的场景解释‌

颜色表现‌‌对应的法线方向‌‌表面形态‌‌深蓝色 (0,0,1)完全垂直向外平坦表面(如地板)‌蓝紫色 (0.5,0.5,1)轻微倾斜缓坡、弧形表面‌青色/绿色 (低R,高G,中B)明显上/下倾斜(Y≠0)边缘、陡坡‌红色/粉色 (高R,中G,中B)‌明显左/右倾斜(X≠0)侧壁、凹凸边缘<blockquote>

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册