凹凸贴图
< Zh
Jump to navigation
Jump to search
凹凸贴图
“凹凸贴图”(Bump Maps),“法线贴图”(Normal Maps)是通过变换照明来在2D贴图上模拟3D细节的一种材质技术,几乎所有高画质3D游戏都应用了此技术。
# 注1:除非在CS:GO中,任何使用凹凸贴图的静态物体都不能使用顶点方法去照亮。 # 注2:除非在CS:GO中,任何凹凸贴图不能用于贴花纹理上。
总述
凹凸贴图:1维黑白的图片,图片越白表示纹素高度越高。 法线贴图:可由凹凸贴图算出,通常为切线法线贴图,将法线信息通过编码方式存储在贴图上。
凹凸贴图的每个像素都包含定义了 标准化向量 的(x,y,z)坐标。 故有凹凸贴图中的每个颜色通道的意义为:
红 Red
水平 (X轴)
0=左
128=向前或面向玩家
255=右
绿 Green
垂直 (Y轴)
0=向上
128=向前或面向玩家
255=向下
蓝 Blue
Z轴
0=面向纹理,远离玩家。这是个瑕疵值,因为低于128说明表面远离玩家,然而这是不可能的。
128=能够接收动态光的最大深度,随意改变这个值可能造成不良后果。
255=面向玩家所对的纹理之外。
注:放置于平面上的凹凸贴图应设为[128,128,255]。提示,dev/flat_normal 是一个平面凹凸贴图的预设,可以用。
在三个通道表示每个像素的 法向量,法向量表示像素在3D空间中所面对的方向,这允许引擎可以在2D面上生成阴影和高光,或者给3D模型提供更多细节。
凹凸贴图对于非常平的表面(比如光滑的混凝土或金属)其实作用不大。但即使是平整的混凝土表面也要有适当的深度感,让凹凸贴图派上用场。