本页目录
4.7 法线、平滑与锐边
法线(Normal):每个面(或每个顶点)有一个方向向量,代表这个面"朝哪边"。
法线是 3D 模型里"看不见却无处不在"的属性。理解法线可以解决很多"怎么看怎么怪"的渲染问题。
一、法线是什么
法线(Normal):每个面(或每个顶点)有一个方向向量,代表这个面"朝哪边"。
直观理解
想象你站在一个桌面上,脸朝天——你身体的指向就是桌面的法线。
- 一个面有两种"朝向":外 或 内
- 法线必须指向外(面向观察者/光源)才能正确渲染
法线影响什么
- 光照:光只从法线方向的"正面"照亮
- 着色:Flat / Smooth shading 都依赖法线
- 渲染:Cycles 的光追计算要用法线
- 材质:法线贴图通过微调法线模拟凹凸
二、法线反转的症状
如果某个面的法线反了,你会看到:
- EEVEE 模式:这个面变成全黑,或受到背光时亮度异常
- Cycles 渲染:局部光照不正确
- 着色预览:透过它能看到背后的物体(背面剔除开启时)
这是建模中最常见的"怎么这个地方这么怪"的原因之一。
三、显示法线
编辑模式下:
- 点 3D 视图右上角的"叠加层"按钮(两个圆交叠图标)
- 展开 网格编辑模式 选项
- 勾选 法线 下的以下任一个:
- 显示顶点法线:每个顶点的法线方向
- 显示切分法线:每条边的法线
- 显示面法线:每个面的法线(蓝色小线)
调整旁边的"大小"滑块可以让法线线条更清晰。
四、重算法线:Shift + N
最常用的修复法线问题的方法:
A全选Shift + N→ 重算外部法线- Blender 自动把所有法线方向统一为朝外
这对封闭的网格(比如球、立方体)效果很好。对于开口网格(比如一张纸),它会猜测方向。
反向重算:Shift + Ctrl + N
朝内重算。很少用到。
五、翻转单个法线:Alt + N
选中一个面 → 菜单 网格 → 法线 → 翻转(或 Alt + N → 翻转)。
手动指定哪个面需要翻转。
六、平滑着色 vs 平面着色
这不是法线本身的问题,而是法线如何被使用的问题。
平面着色(Flat Shading)
每个面按自己的法线着色。结果:你能清楚看到每个面的边界,像块切削的水晶。
平滑着色(Smooth Shading)
顶点法线通过插值模拟连续曲面。结果:面与面之间的边界被抹平,看起来是光滑曲面。
切换方法
物体模式:
- 右键 → 着色平滑(Shade Smooth):整体变光滑
- 右键 → 着色平面(Shade Flat):整体变平
编辑模式下对选中面:
- 菜单
网格 → 着色 → 面平滑/面平直
七、平滑着色 vs 细分表面的区别
这两个常被混淆:
| 功能 | 改变几何吗? | 效果 |
|---|---|---|
| 平滑着色 | 不 | 只改变光照插值,多边形数不变 |
| 细分表面 | 是 | 实际增加多边形,让几何变圆 |
结果:
- 平滑着色的立方体还是 6 个面,只是看起来圆
- 细分表面的立方体变成几百个面,真的变圆了
通常两者配合使用——细分表面让几何变圆,平滑着色让没细分的部分也看起来柔和。
八、自动平滑 / 按角度平滑
"平滑着色"的问题是所有地方都变平滑,连应该锐利的边角也被抹掉。
Blender 5.x:按角度平滑
Blender 5.x 引入了新的"按角度着色平滑"节点:
- 物体右键 → 平滑按角度
- 输入一个角度(比如 30°)
- 小于 30° 的边被平滑,大于 30° 的边保持锐利
结果:曲面部分圆滑,边角部分锐利。这是硬表面建模的理想效果。
老版本:自动平滑
4.x 及以前在"物体数据属性 → 法向 → 自动平滑"里有类似的角度选项。5.x 改成了修改器/节点的形式。
九、标记锐边 Mark Sharp
除了按角度,你也可以手动标记某些边为锐边:
- 编辑模式,边模式
- 选中要保持锐利的边
- 菜单
边 → 标记锐边 - 锐边会显示为青色
配合"按角度平滑"(勾选"使用锐边")可以精确控制哪些边是锐的、哪些是平滑的。
清除锐边
边 → 清除锐边
十、面朝方向(Face Orientation)叠加
查找法线反转问题的最佳方式:
- 叠加层菜单 → 勾选 面朝向
- 3D 视图里:
- 蓝色 = 正面(法线朝外)
- 红色 = 背面(法线朝内,有问题)
一眼就能看到哪里需要修复。
十一、修复法线的完整流程
当你发现模型的光照怪怪的:
- 打开"面朝向"叠加
- 如果有红色部分,选中这些红色面 →
Alt + N → 翻转 - 或者
A全选 →Shift + N重算 - 再看面朝向,确认全部变蓝
- 如果是曲面,加"按角度平滑"或平滑着色
十二、法线贴图预告
法线贴图(Normal Map):用一张特殊的贴图"假装"表面有凹凸,实际上几何体是平的。
- 红色通道 = X 方向偏移
- 绿色通道 = Y 方向偏移
- 蓝色通道 = Z 方向
法线贴图让低模看起来像高模。这是游戏美术的基本技术。第 6 章有简介。
十三、自定义法线(进阶)
Blender 允许你手动设置顶点法线方向,称为"自定义分割法向"。
用于:
- 让低模模仿高模的光照
- 特殊着色效果
- 卡通渲染
新手阶段不用管,保持自动计算的法线就够。
动手练习 4.7
练习 A:观察法线反转
- 默认立方体,
Tab - 面模式,选一个面
Alt + N → 翻转- 叠加层 → 勾面朝向
- 看到那个面变红
Shift + N全选后重算- 变回全蓝
练习 B:平滑 vs 平面
- 添加一个 UV 球
- 默认它是平面着色,看起来有棱有角
- 右键 → 着色平滑
- 现在它看起来是圆的
- 再右键 → 着色平直 → 恢复
练习 C:按角度平滑
- 添加柱体
- 右键 → 平滑按角度
- F9 调整角度到 30°
- 柱体侧面平滑,顶面和侧面的锐边保持锐利
练习 D:锐边手动标记
- 立方体 → 细分表面修改器 2 级 → 变成球
- 进入编辑模式
- 全选 → 右键 → 着色平滑
- 选一些边 →
边 → 标记锐边 - 配合"按角度平滑"让锐边生效
练习 E:查看法线线
- 立方体
Tab - 叠加层 → 勾显示面法线
- 看每个面中央的蓝色小线代表法线方向
上一节 ← 4.6 填充合并与桥接 | 下一节 → 4.8 拓扑与布线