本章将带您进入 Blender 的材质与纹理世界。对于有 CAD 背景的学习者来说,这可能是一个全新的领域——从单纯的几何形体转向富有视觉表现力的渲染效果。我们将学习 Shader Editor 的使用、PBR(基于物理的渲染)材质原理、UV 展开技术以及纹理绘制的基础知识。掌握这些技能后,您将能够为模型赋予逼真的表面效果,从金属、木材到皮肤、织物等各种材质。
Shader Editor 是 Blender 中创建和编辑材质的核心工具。与传统 CAD 软件中简单的颜色和纹理分配不同,Blender 采用节点式编辑系统,提供了极大的灵活性和创造空间。这种方式类似于可视化编程,通过连接不同功能的节点来构建复杂的材质效果。
节点编辑器的界面布局遵循从左到右的数据流向原则。每个节点代表一个特定的功能或操作,通过连线(称为 noodles)将数据从一个节点传递到另一个节点。
输入节点 --> 处理节点 --> 着色器节点 --> 输出节点
| | | |
纹理坐标 颜色调整 Principled Material Output
Texture ColorRamp BSDF
工作区域组织:
基本操作:
节点系统中包含多种类型的节点,每种都有特定的用途:
输入节点(Input):
纹理节点(Texture):
着色器节点(Shader):
转换节点(Converter):
节点之间通过不同类型的接口连接,每种接口传递特定类型的数据:
接口颜色编码:
数据类型转换规则:
颜色 --> 数值:取灰度值(0.2126R + 0.7152G + 0.0722B)
数值 --> 颜色:所有通道使用相同值(灰度)
矢量 --> 颜色:XYZ 映射到 RGB
颜色 --> 矢量:RGB 映射到 XYZ
连接技巧:
有效的预览和调试是材质创建过程中的关键环节:
预览模式:
调试技巧:
问题排查流程:
1. 检查纹理路径是否正确
2. 验证 UV 映射是否存在
3. 确认法线方向是否正确
4. 检查节点连接是否匹配数据类型
5. 使用 Emission 着色器排除光照影响
性能优化建议:
PBR(Physically Based Rendering,基于物理的渲染)是一种遵循真实世界物理规律的渲染方法。与传统的艺术化渲染不同,PBR 材质在任何光照条件下都能保持一致的视觉效果,这对于创建写实的 3D 场景至关重要。
核心原理:
光线交互模型:
入射光
↓
┌─────────────┐
│ 表面层 │ ← 菲涅尔反射
├─────────────┤
│ 次表面 │ ← 漫反射/次表面散射
└─────────────┘
↓
透射光
PBR 工作流类型:
Blender 的 Principled BSDF 主要采用金属度工作流,这也是目前业界标准。
Principled BSDF 是 Blender 中最重要的着色器节点,它整合了多种材质特性,可以模拟绝大多数真实世界材质。
基础参数组:
高级参数组:
金属材质预设:
铝:
- Base Color: (0.91, 0.92, 0.92)
- Metallic: 1.0
- Roughness: 0.3-0.5
金:
- Base Color: (1.0, 0.71, 0.29)
- Metallic: 1.0
- Roughness: 0.2-0.4
铜:
- Base Color: (0.96, 0.64, 0.38)
- Metallic: 1.0
- Roughness: 0.3-0.4
生锈金属:
- Base Color: 锈迹纹理
- Metallic: 0.7-0.9(使用纹理控制)
- Roughness: 0.6-0.9
非金属材质预设:
塑料:
- Base Color: 任意颜色
- Metallic: 0.0
- Roughness: 0.4-0.6
- IOR: 1.45
橡胶:
- Base Color: 深灰色 (0.05, 0.05, 0.05)
- Metallic: 0.0
- Roughness: 0.7-0.9
玻璃:
- Base Color: 白色
- Metallic: 0.0
- Roughness: 0.0
- Transmission: 1.0
- IOR: 1.5
皮肤:
- Base Color: 肤色纹理
- Subsurface: 0.1-0.3
- Subsurface Radius: (1.0, 0.3, 0.1)
- Roughness: 0.5-0.7
纹理映射策略:
建立个人材质库可以大幅提升工作效率:
材质组织结构:
材质库/
├── 金属/
│ ├── 基础金属/
│ ├── 氧化金属/
│ └── 合金/
├── 有机/
│ ├── 皮肤/
│ ├── 植物/
│ └── 食物/
├── 建筑/
│ ├── 石材/
│ ├── 木材/
│ └── 混凝土/
└── 织物/
├── 棉麻/
├── 丝绸/
└── 皮革/
材质命名规范:
材质资产管理:
UV 展开是将三维模型表面映射到二维平面的过程,就像把地球仪展开成平面地图。对于 CAD 用户来说,这个概念类似于钣金件的展开图,但应用范围更广,是贴图材质的基础。
UV 坐标使用二维坐标系统来定位纹理在模型表面的位置。U 代表横向(相当于 X),V 代表纵向(相当于 Y),坐标范围通常是 0-1。
UV 空间特性:
1,1 ┌──────────────┐
│ │
V │ UV 空间 │ 纹理平铺规则:
│ │ - 0-1:主纹理区域
│ │ - <0 或 >1:纹理重复
0,0 └──────────────┘
0 U 1
UV 与 3D 模型的关系:
UV 密度概念: UV 密度指模型上单位面积对应的纹理像素数量。保持统一的 UV 密度可以确保纹理清晰度一致。
计算公式:
UV 密度 = (纹理分辨率 × UV 岛面积) / 3D 模型面积
目标密度参考:
- 游戏资产:10.24 px/cm(1024 px/m)
- 影视资产:20.48 px/cm(2048 px/m)
- 特写细节:40.96 px/cm(4096 px/m)
Blender 提供多种 UV 展开算法,每种适用于不同的模型类型:
1. Smart UV Project(智能投影)
2. Unwrap(展开)
3. Project from View(视图投影)
4. Cube/Cylinder/Sphere Projection(基础投影)
5. Follow Active Quads(跟随活动四边形)
展开质量检查:
检查项目:
□ 拉伸程度(Stretch)
- 蓝色:无拉伸
- 红色:严重拉伸
□ UV 岛方向一致性
□ 接缝位置合理性
□ UV 空间利用率
□ 纹理密度均匀性
接缝(Seam)的放置直接影响 UV 展开的质量和纹理的连续性。好的接缝策略可以最小化可见的纹理断裂。
接缝放置原则:
角色模型接缝策略:
前视图 侧视图
┌─────┐ ┌─────┐
│ ◐ ◐ │ │ │╲
│ ▽ │ │ │ ╲ 手臂接缝
│ ─── │ │ │ ╲
├─┬─┬─┤ ├─────┤
│ │ │ │ │ │
│ │ │ │ │ ┆ ┆ │ 内侧接缝
└─┴─┴─┘ └─┴─┴─┘
↑ ↑ ↑
中线接缝 腿部接缝
硬表面模型接缝策略:
自动接缝标记技巧:
UV 优化可以提高纹理利用率和渲染性能:
1. UV 打包优化:
打包算法选择:
- 标准打包:均匀分布,适合通用情况
- 紧密打包:最大化空间利用
- UDIM 打包:多纹理集,适合高精度项目
优化参数:
- Margin:0.002-0.01(防止纹理溢出)
- Rotate:允许旋转以获得更好的排布
- Scale:统一缩放保持密度一致
2. UV 岛优化:
3. 纹理图集(Atlas)技术:
单个模型多材质 → 合并为一张纹理图集
优点:
- 减少绘制调用(Draw Call)
- 优化内存使用
- 简化材质管理
UV 分配策略:
┌────────────────┐
│ 金属 │ 木材 │ 1024×1024 纹理
├──────┼─────────┤ 分成 4 个 512×512 区域
│ 玻璃 │ 织物 │ 每种材质占 1/4
└────────────────┘
4. UDIM 工作流: UDIM(U-Dimension)允许使用多个纹理贴图,突破单张纹理的分辨率限制。
UDIM 布局:
1001 1002 1003 1004
1011 1012 1013 1014
1021 1022 1023 1024
应用场景:
- 角色头部:1001(4K)
- 身体:1002(4K)
- 服装:1003-1004(2K)
5. 性能优化检查清单:
Blender 内置的纹理绘制功能让您无需切换到外部软件就能直接在 3D 模型上绘制纹理。这种工作方式特别适合快速原型制作和细节调整。
Blender 提供两种主要的纹理绘制模式,每种都有其独特的优势:
1. 3D 视图绘制(Texture Paint Mode) 直接在 3D 模型表面绘制,所见即所得:
工作空间设置:
┌─────────────┬─────────────┐
│ │ │
│ 3D 视图 │ UV 编辑器 │
│ (绘制模式) │ (实时更新) │
│ │ │
├─────────────┴─────────────┤
│ 着色器编辑器 │
│ (材质实时预览) │
└───────────────────────────┘
模式特点:
2. 2D 图像编辑器绘制 在 UV 展开图上绘制,精确控制每个像素:
适用场景对比:
3D 绘制适用于:
- 有机纹理(污渍、磨损)
- 细节添加(划痕、凹痕)
- 颜色变化(渐变、混合)
2D 绘制适用于:
- 精确图案(标志、文字)
- 平铺纹理(砖块、瓦片)
- 技术贴图(法线、置换)
纹理槽位管理: 绘制前需要设置纹理槽位(Texture Slots):
Blender 的画笔系统功能强大,包含多种画笔类型和混合模式:
基础画笔类型:
画笔工具架构:
┌────────────────────────────┐
│ Draw(绘制) │ → 标准绘画
├────────────────────────────┤
│ Soften(柔化) │ → 模糊处理
├────────────────────────────┤
│ Smear(涂抹) │ → 颜色拖动
├────────────────────────────┤
│ Clone(克隆) │ → 复制纹理
├────────────────────────────┤
│ Fill(填充) │ → 区域填色
├────────────────────────────┤
│ Mask(遮罩) │ → 保护区域
└────────────────────────────┘
画笔参数详解:
画笔纹理与遮罩:
纹理应用层级:
画笔形状 × 纹理图案 × 遮罩 = 最终效果
纹理映射方式:
- Tiled:平铺重复
- 3D:投影到 3D 空间
- Random:随机旋转缩放
- Stencil:模板映射
自定义画笔创建:
不同的投影方式决定了纹理如何映射到模型表面:
1. 视图投影(View Projection)
原理示意:
相机/视图
↓
━━━━━━━━ 投影平面
↓
╱╲╱╲╱╲╱╲ 3D 模型
2. 三维投影(3D Projection)
3. UV 投影(UV Projection)
4. 模板投影(Stencil)
模板控制:
- 移动:右键拖动
- 旋转:Ctrl+右键
- 缩放:Shift+右键
- 重置:Alt+I
投影遮挡处理:
专业的纹理绘制通常采用多层方式,类似于 Photoshop 的图层系统:
层级组织策略:
纹理栈结构(从下到上):
├─ 基础色层 (Base)
├─ 细节层 (Details)
│ ├─ 污渍 (Dirt)
│ ├─ 划痕 (Scratches)
│ └─ 磨损 (Wear)
├─ 贴花层 (Decals)
└─ 最终调整层 (Adjustments)
混合技术:
纹理1 ─┐
├─ Mix RGB ─→ 输出
纹理2 ─┘
↑
遮罩控制
纹理烘焙流程: 将复杂的材质节点烘焙成纹理贴图:
性能优化建议:
本章介绍了 Blender 材质与纹理系统的核心概念和技术:
关键要点:
核心技能:
工作流程总结:
建模完成 → UV 展开 → 材质创建 → 纹理绘制 → 细节调整 → 烘焙输出
记住,好的材质不仅依赖技术参数,更需要对真实世界材质的观察和理解。多参考现实照片,分析不同材质的表面特性,将有助于创建更加可信的 3D 材质。
练习 3.1:PBR 材质参数调节 创建一个简单的立方体,为其制作以下材质:
提示:注意 Metallic 和 Roughness 的配合使用
练习 3.2:UV 展开练习 下载提供的”椅子模型”文件,完成 UV 展开:
提示:考虑部件的可见性和纹理连续性
练习 3.3:节点材质混合 使用节点编辑器创建一个”生锈金属”材质:
提示:使用 Mix Shader 或 Mix RGB 节点
练习 3.4:UDIM 纹理工作流 为一个角色模型设置 UDIM:
提示:在 UV 编辑器中启用 UDIM 网格显示
练习 3.5:程序化木纹材质 仅使用程序化纹理(不使用图像)创建逼真木纹:
提示:研究真实木材的纹理模式
练习 3.6:纹理绘制项目 在提供的”机器人模型”上完成以下纹理绘制:
提示:分层工作,使用不同的混合模式
1. 节点连接错误
错误:将 Color 输出连接到 Value 输入导致意外的灰度转换
解决:理解数据类型转换规则,必要时使用 Separate RGB
2. 纹理色彩空间设置错误
错误:将法线贴图设置为 sRGB 色彩空间
正确:Normal Map → Non-Color
Roughness/Metallic → Non-Color
Base Color → sRGB
3. 过度复杂的节点树
症状:渲染速度极慢,视窗卡顿
解决:
- 简化节点结构
- 使用节点组封装复杂逻辑
- 考虑烘焙成纹理
4. UV 重叠未处理
症状:纹理绘制时出现镜像效果
检查:UV 编辑器 → Overlays → Show Overlaps
解决:选择重叠面,分离或镜像处理
5. UV 密度不一致
症状:某些部位纹理模糊,某些部位过于清晰
工具:UV → Average Island Scale
技巧:使用 Texel Density 插件统一密度
6. 接缝位置不当
症状:明显的纹理断裂线
改进:
- 将接缝隐藏在自然分界处
- 使用 Clone 画笔修复接缝
- 增加 Margin 防止 Mipmap 出血
7. 分辨率设置过高
问题:4K/8K 纹理导致内存溢出
建议:
- 远景物体:512-1K
- 中景物体:1K-2K
- 特写/主角:2K-4K
8. 忘记保存外部图像
风险:Blender 崩溃导致纹理丢失
习惯:
- Image → Save 定期保存
- 使用自动保存
- 设置合理的备份间隔
9. 纹理拉伸未检查
检查方法:
- UV 编辑器 → Display Stretch
- 类型:Area / Angle
- 目标:保持蓝色(无拉伸)
通过遵循这些最佳实践,您将能够创建专业级别的材质和纹理,为您的 3D 作品增添真实感和艺术表现力。