Zh/Bump map: Difference between revisions
< Zh
Jump to navigation
Jump to search
(→凹凸贴图) |
(→凹凸贴图) |
||
Line 1: | Line 1: | ||
== 凹凸贴图 == | == 凹凸贴图 == | ||
“凹凸贴图”(Bump | “凹凸贴图”(Bump Maps),“法线贴图”(Normal Maps)是通过变换照明来在'''2D贴图'''上模拟'''3D细节'''的一种材质技术,几乎所有高画质3D游戏都应用了此技术。 | ||
# | |||
# | ''# 注1:除非在[[Counter-Strike:_Global_Offensive|CS:GO]]中,任何使用凹凸贴图的静态物体都不能使用顶点方法去照亮。'' | ||
''# 注2:除非在[[Counter-Strike:_Global_Offensive|CS:GO]]中,任何凹凸贴图不能用于贴花纹理上。'' | |||
<gallery> | |||
https://developer.valvesoftware.com/wiki/Bump_map#/media/File:Brickwall021a_normalcompare.jpg|一个材质的漫反射率与其凹凸贴图(右) | |||
https://developer.valvesoftware.com/wiki/Bump_map#/media/File:Example_of_bump_mapping.jpg|实际游戏表现 | |||
</gallery> | |||
==== 总述 ==== | ==== 总述 ==== | ||
凹凸贴图:1维黑白的图片,图片越白表示纹素高度越高。 | |||
法线贴图:可由凹凸贴图算出,通常为切线法线贴图,将法线信息通过编码方式存储在贴图上。 | |||
凹凸贴图的每个像素都包含定义了 ''标准化向量'' 的(x,y,z)坐标。 | 凹凸贴图的每个像素都包含定义了 ''标准化向量'' 的(x,y,z)坐标。 | ||
故有凹凸贴图中的每个颜色通道的意义为: | 故有凹凸贴图中的每个颜色通道的意义为: |
Revision as of 06:38, 3 January 2023
凹凸贴图
“凹凸贴图”(Bump Maps),“法线贴图”(Normal Maps)是通过变换照明来在2D贴图上模拟3D细节的一种材质技术,几乎所有高画质3D游戏都应用了此技术。
# 注1:除非在CS:GO中,任何使用凹凸贴图的静态物体都不能使用顶点方法去照亮。 # 注2:除非在CS:GO中,任何凹凸贴图不能用于贴花纹理上。
- Https://developer.valvesoftware.com/wiki/Bump map
一个材质的漫反射率与其凹凸贴图(右)
- Https://developer.valvesoftware.com/wiki/Bump map
实际游戏表现
总述
凹凸贴图: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模型提供更多细节。
凹凸贴图对于非常平的表面(比如光滑的混凝土或金属)其实作用不大。但即使是平整的混凝土表面也要有适当的深度感,让凹凸贴图派上用场。