第3章:材质与纹理基础
章节概述
本章将带您进入 Blender 的材质与纹理世界。对于有 CAD 背景的学习者来说,这可能是一个全新的领域——从单纯的几何形体转向富有视觉表现力的渲染效果。我们将学习 Shader Editor 的使用、PBR(基于物理的渲染)材质原理、UV 展开技术以及纹理绘制的基础知识。掌握这些技能后,您将能够为模型赋予逼真的表面效果,从金属、木材到皮肤、织物等各种材质。
学习目标
- 理解节点式材质编辑器的工作原理
- 掌握 PBR 材质的核心参数与调节技巧
- 学会 UV 展开的基本方法和优化策略
- 熟悉纹理绘制的基础工具和工作流程
- 了解材质优化和性能考量
3.1 Shader Editor 介绍
Shader Editor 是 Blender 中创建和编辑材质的核心工具。与传统 CAD 软件中简单的颜色和纹理分配不同,Blender 采用节点式编辑系统,提供了极大的灵活性和创造空间。这种方式类似于可视化编程,通过连接不同功能的节点来构建复杂的材质效果。
3.1.1 节点编辑器基础
节点编辑器的界面布局遵循从左到右的数据流向原则。每个节点代表一个特定的功能或操作,通过连线(称为 noodles)将数据从一个节点传递到另一个节点。
输入节点 --> 处理节点 --> 着色器节点 --> 输出节点
| | | |
纹理坐标 颜色调整 Principled Material Output
Texture ColorRamp BSDF
工作区域组织:
- 左侧:输入类节点(纹理、坐标、属性等)
- 中间:处理和转换节点(数学运算、颜色处理等)
- 右侧:着色器节点和最终输出
基本操作:
- Shift+A:添加新节点
- G:移动节点
- Ctrl+Shift+左键:快速预览节点输出
- Tab:进入/退出节点组
- Ctrl+J:将选中节点打包成组
- Mute(M):临时禁用节点
3.1.2 基础节点类型
节点系统中包含多种类型的节点,每种都有特定的用途:
输入节点(Input):
- Texture Coordinate:提供多种坐标系统(UV、Generated、Object等)
- Fresnel:根据视角产生边缘光效果
- Layer Weight:基于表面朝向提供混合因子
- RGB/Value:直接输入颜色或数值
纹理节点(Texture):
- Image Texture:加载外部图像文件
- Noise Texture:程序化噪波纹理
- Voronoi Texture:泰森多边形纹理
- Gradient Texture:渐变纹理
着色器节点(Shader):
- Principled BSDF:万能着色器,支持 PBR 工作流
- Diffuse BSDF:漫反射着色器
- Glossy BSDF:光泽反射着色器
- Emission:自发光着色器
- Mix Shader:混合多个着色器
转换节点(Converter):
- ColorRamp:颜色映射和渐变控制
- Math:数学运算(加减乘除、三角函数等)
- RGB Curves:颜色曲线调整
- Separate/Combine RGB:分离或合并颜色通道
3.1.3 节点连接与数据流
节点之间通过不同类型的接口连接,每种接口传递特定类型的数据:
接口颜色编码:
- 黄色:颜色数据(Color)
- 灰色:数值数据(Value/Float)
- 蓝色:矢量数据(Vector)
- 绿色:着色器(Shader)
数据类型转换规则:
颜色 --> 数值:取灰度值(0.2126R + 0.7152G + 0.0722B)
数值 --> 颜色:所有通道使用相同值(灰度)
矢量 --> 颜色:XYZ 映射到 RGB
颜色 --> 矢量:RGB 映射到 XYZ
连接技巧:
- 按住 Shift 拖拽连线可创建重定向点
- 按住 Ctrl 拖拽可切断连线
- 节点 Wrangler 插件提供快速连接功能(Ctrl+Shift+T 批量加载纹理)
3.1.4 材质预览与调试
有效的预览和调试是材质创建过程中的关键环节:
预览模式:
-
Viewport Shading: - Solid:基础颜色显示 - Material Preview:使用 MatCap 或 HDRI 预览 - Rendered:实时渲染预览
-
节点预览: - Ctrl+Shift+左键点击节点:临时显示该节点的输出 - Viewer 节点:专门用于调试中间结果
调试技巧:
问题排查流程:
1. 检查纹理路径是否正确
2. 验证 UV 映射是否存在
3. 确认法线方向是否正确
4. 检查节点连接是否匹配数据类型
5. 使用 Emission 着色器排除光照影响
性能优化建议:
- 限制纹理分辨率(通常 2K 足够,4K 用于特写)
- 合理使用程序化纹理减少内存占用
- 避免过深的节点嵌套(建议不超过 10 层)
- 使用节点组复用常用材质片段
3.2 PBR 材质原理
3.2.1 PBR 概念解析
PBR(Physically Based Rendering,基于物理的渲染)是一种遵循真实世界物理规律的渲染方法。与传统的艺术化渲染不同,PBR 材质在任何光照条件下都能保持一致的视觉效果,这对于创建写实的 3D 场景至关重要。
核心原理:
- 能量守恒:反射光 + 折射光 ≤ 入射光
- 菲涅尔效应:掠射角度观察时反射增强
- 微表面理论:粗糙度决定反射的分散程度
光线交互模型:
入射光
↓
┌─────────────┐
│ 表面层 │ ← 菲涅尔反射
├─────────────┤
│ 次表面 │ ← 漫反射/次表面散射
└─────────────┘
↓
透射光
PBR 工作流类型:
- 金属度工作流(Metallic Workflow):使用 Base Color + Metallic + Roughness
- 高光工作流(Specular Workflow):使用 Diffuse + Specular + Glossiness
Blender 的 Principled BSDF 主要采用金属度工作流,这也是目前业界标准。
3.2.2 Principled BSDF 节点详解
Principled BSDF 是 Blender 中最重要的着色器节点,它整合了多种材质特性,可以模拟绝大多数真实世界材质。
基础参数组:
-
Base Color(基础颜色) - 非金属:材质的反照率(Albedo) - 金属:反射颜色 - 建议值范围:sRGB 0.05-0.95(避免纯黑纯白)
-
Metallic(金属度) - 0.0:非金属材质(电介质) - 1.0:纯金属材质 - 中间值:氧化或污染的金属表面
-
Roughness(粗糙度) - 0.0:完美镜面反射 - 1.0:完全漫反射 - 影响反射的清晰度和光泽度
-
IOR(折射率) - 默认 1.45(塑料) - 水:1.33,玻璃:1.5,钻石:2.42 - 仅对非金属材质有效
高级参数组:
-
Subsurface(次表面散射) - 强度:0-1,控制散射程度 - Radius:RGB 值,各通道散射距离 - 适用材质:皮肤、蜡、大理石、牛奶
-
Sheen(光泽) - 模拟织物边缘的亮光效果 - Sheen Tint:染色程度
-
Clearcoat(清漆层) - 模拟额外的反射层 - 适用:汽车漆、湿润表面、涂层材质
-
Transmission(透射) - 透明度控制 - 配合 IOR 实现折射效果
3.2.3 常见材质参数调节
金属材质预设:
铝:
- 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
纹理映射策略:
- Base Color:sRGB 色彩空间
- Metallic/Roughness/AO:线性色彩空间(Non-Color)
- Normal Map:法线贴图专用设置
- Displacement:32位浮点精度
3.2.4 材质库的创建与管理
建立个人材质库可以大幅提升工作效率:
材质组织结构:
材质库/
├── 金属/
│ ├── 基础金属/
│ ├── 氧化金属/
│ └── 合金/
├── 有机/
│ ├── 皮肤/
│ ├── 植物/
│ └── 食物/
├── 建筑/
│ ├── 石材/
│ ├── 木材/
│ └── 混凝土/
└── 织物/
├── 棉麻/
├── 丝绸/
└── 皮革/
材质命名规范:
- 前缀标识类型:MTL_金属_铝_拉丝
- 版本控制:MTL_木材_橡木_v2
- 用途标记:MTL_皮肤_写实_游戏
材质资产管理:
-
使用 Asset Browser: - 标记材质为资产(Mark as Asset) - 添加标签和描述 - 设置预览图
-
链接与追加: - Link:引用外部文件,节省内存 - Append:完全导入,可自由修改
-
材质优化清单: - 检查未使用的纹理 - 合并相似节点组 - 降低不必要的纹理分辨率 - 使用实例化减少重复
3.3 UV 展开基础
UV 展开是将三维模型表面映射到二维平面的过程,就像把地球仪展开成平面地图。对于 CAD 用户来说,这个概念类似于钣金件的展开图,但应用范围更广,是贴图材质的基础。
3.3.1 UV 坐标系统理解
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 形状可以与 3D 形状不同(拉伸/压缩)
- 同一个 3D 顶点可以有多个 UV 坐标(UV 接缝)
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)
3.3.2 UV 展开方法
Blender 提供多种 UV 展开算法,每种适用于不同的模型类型:
-
Smart UV Project(智能投影) - 自动分析模型角度,创建多个投影 - 适用:硬表面模型、建筑元素 - 参数调节: - Angle Limit:面之间的角度阈值(默认66°) - Island Margin:UV 岛之间的间距 - Area Weight:考虑面积大小
-
Unwrap(展开) - 基于接缝的展开,类似剥橘子皮 - 适用:有机模型、角色 - 技巧: - 需要预先标记接缝(Seam) - 使用 Conformal 或 Angle Based 方法 - 配合 Live Unwrap 实时查看效果
-
Project from View(视图投影) - 从当前视角直接投影 - 适用:平面元素、贴花 - 变体: - Orthographic:正交投影 - Bounds:适应选区边界
-
Cube/Cylinder/Sphere Projection(基础投影) - 使用基础几何体作为投影参考 - 适用:相应形状的模型 - 注意事项: - Cube:六面投影,适合箱体 - Cylinder:展开圆柱,注意顶底处理 - Sphere:球面展开,极点会有变形
-
Follow Active Quads(跟随活动四边形) - 基于选中的四边形网格展开 - 适用:规则的四边形拓扑 - 工作流:
- 选择规则的四边形
- 按 U 展开该区域
- 选择相邻面
- 使用 Follow Active Quads
展开质量检查:
检查项目:
□ 拉伸程度(Stretch)
- 蓝色:无拉伸
- 红色:严重拉伸
□ UV 岛方向一致性
□ 接缝位置合理性
□ UV 空间利用率
□ 纹理密度均匀性
3.3.3 接缝放置策略
接缝(Seam)的放置直接影响 UV 展开的质量和纹理的连续性。好的接缝策略可以最小化可见的纹理断裂。
接缝放置原则:
-
隐藏原则: - 放在视线不易察觉的位置 - 利用模型的自然折线 - 放在会被其他物体遮挡的地方
-
结构原则: - 沿着硬边放置(硬表面建模) - 跟随解剖学结构(角色建模) - 利用对称线(减少纹理工作量)
角色模型接缝策略:
前视图 侧视图
┌─────┐ ┌─────┐
│ ◐ ◐ │ │ │╲
│ ▽ │ │ │ ╲ 手臂接缝
│ ─── │ │ │ ╲
├─┬─┬─┤ ├─────┤
│ │ │ │ │ │
│ │ │ │ │ ┆ ┆ │ 内侧接缝
└─┴─┴─┘ └─┴─┴─┘
↑ ↑ ↑
中线接缝 腿部接缝
硬表面模型接缝策略:
- 利用倒角边缘
- 沿面板分割线
- 在细节较少的区域
- 考虑烘焙法线贴图的需求
自动接缝标记技巧:
- 根据角度:Select Sharp Edges
- 根据 UV 岛:Seams from Islands
- 手动微调:Alt+右键选择边循环
3.3.4 UV 优化技巧
UV 优化可以提高纹理利用率和渲染性能:
1. UV 打包优化:
打包算法选择:
- 标准打包:均匀分布,适合通用情况
- 紧密打包:最大化空间利用
- UDIM 打包:多纹理集,适合高精度项目
优化参数:
- Margin:0.002-0.01(防止纹理溢出)
- Rotate:允许旋转以获得更好的排布
- Scale:统一缩放保持密度一致
2. UV 岛优化: - 最小化岛数量:减少接缝,提高缓存效率 - 矩形化处理:便于手绘纹理 - 对齐到像素:避免纹理模糊 - 镜像 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. 性能优化检查清单: - □ UV 岛之间保持 2-4 像素边距 - □ 删除重叠的 UV(除非故意镜像) - □ 检查并修复翻转的 UV 面 - □ 统一重要元素的纹理密度 - □ 合并小的 UV 岛 - □ 对齐直线边缘到 UV 网格
3.4 纹理绘制入门
Blender 内置的纹理绘制功能让您无需切换到外部软件就能直接在 3D 模型上绘制纹理。这种工作方式特别适合快速原型制作和细节调整。
3.4.1 纹理绘制模式
Blender 提供两种主要的纹理绘制模式,每种都有其独特的优势:
- 3D 视图绘制(Texture Paint Mode) 直接在 3D 模型表面绘制,所见即所得:
工作空间设置:
┌─────────────┬─────────────┐
│ │ │
│ 3D 视图 │ UV 编辑器 │
│ (绘制模式) │ (实时更新) │
│ │ │
├─────────────┴─────────────┤
│ 着色器编辑器 │
│ (材质实时预览) │
└───────────────────────────┘
模式特点:
- 实时查看绘制效果
- 自动处理 UV 接缝
- 支持多角度绘制
- 可以跨 UV 岛绘制
- 2D 图像编辑器绘制 在 UV 展开图上绘制,精确控制每个像素:
适用场景对比:
3D 绘制适用于:
- 有机纹理(污渍、磨损)
- 细节添加(划痕、凹痕)
- 颜色变化(渐变、混合)
2D 绘制适用于:
- 精确图案(标志、文字)
- 平铺纹理(砖块、瓦片)
- 技术贴图(法线、置换)
纹理槽位管理: 绘制前需要设置纹理槽位(Texture Slots):
- Base Color:基础颜色纹理
- Roughness:粗糙度贴图
- Normal:法线贴图(需要特殊画笔)
- Bump:凹凸贴图
- 自定义槽位:遮罩、AO 等
3.4.2 画笔系统
Blender 的画笔系统功能强大,包含多种画笔类型和混合模式:
基础画笔类型:
画笔工具架构:
┌────────────────────────────┐
│ Draw(绘制) │ → 标准绘画
├────────────────────────────┤
│ Soften(柔化) │ → 模糊处理
├────────────────────────────┤
│ Smear(涂抹) │ → 颜色拖动
├────────────────────────────┤
│ Clone(克隆) │ → 复制纹理
├────────────────────────────┤
│ Fill(填充) │ → 区域填色
├────────────────────────────┤
│ Mask(遮罩) │ → 保护区域
└────────────────────────────┘
画笔参数详解:
-
Radius(半径): - 快捷键:F 键调整大小 - 压感支持:根据压力变化 - 单位:像素或 Blender 单位
-
Strength(强度): - 快捷键:Shift+F 调整 - 范围:0.0-1.0 - 累积效果:Accumulate 选项
-
Blend Mode(混合模式):
常用混合模式:
- Mix:标准混合
- Add:叠加增亮
- Multiply:正片叠底
- Overlay:叠加混合
- Screen:滤色
- Color Dodge:颜色减淡
- Falloff(衰减曲线): - 控制画笔边缘柔和度 - 自定义曲线形状 - 预设:平滑、尖锐、常量
画笔纹理与遮罩:
纹理应用层级:
画笔形状 × 纹理图案 × 遮罩 = 最终效果
纹理映射方式:
- Tiled:平铺重复
- 3D:投影到 3D 空间
- Random:随机旋转缩放
- Stencil:模板映射
自定义画笔创建:
- 设置基础参数(大小、强度、间距)
- 添加纹理图案(可选)
- 配置 Falloff 曲线
- 保存为画笔预设
- 组织到画笔库
3.4.3 纹理投影方式
不同的投影方式决定了纹理如何映射到模型表面:
- 视图投影(View Projection)
原理示意:
相机/视图
↓
━━━━━━━━ 投影平面
↓
╱╲╱╲╱╲╱╲ 3D 模型
- 特点:从当前视角投影
- 优点:直观可控
- 缺点:背面无法绘制
-
三维投影(3D Projection) - 纹理在 3D 空间中固定 - 移动模型时纹理位置不变 - 适合环境纹理(污渍、腐蚀)
-
UV 投影(UV Projection) - 标准投影方式 - 依赖 UV 展开质量 - 接缝处自动融合
-
模板投影(Stencil)
模板控制:
- 移动:右键拖动
- 旋转:Ctrl+右键
- 缩放:Shift+右键
- 重置:Alt+I
投影遮挡处理:
- Front Faces Only:仅绘制正面
- Occlude:考虑几何遮挡
- Backface Culling:背面剔除
- Normal Falloff:根据法线角度衰减
3.4.4 多层纹理工作流
专业的纹理绘制通常采用多层方式,类似于 Photoshop 的图层系统:
层级组织策略:
纹理栈结构(从下到上):
├─ 基础色层 (Base)
├─ 细节层 (Details)
│ ├─ 污渍 (Dirt)
│ ├─ 划痕 (Scratches)
│ └─ 磨损 (Wear)
├─ 贴花层 (Decals)
└─ 最终调整层 (Adjustments)
混合技术:
- 使用节点混合多个纹理:
纹理1 ─┐
├─ Mix RGB ─→ 输出
纹理2 ─┘
↑
遮罩控制
-
遮罩驱动的细节添加: - Cavity Mask:凹陷处积灰 - Edge Mask:边缘磨损 - AO Mask:环境遮蔽区域 - Curvature:曲率驱动
-
程序化与手绘结合:
工作流程:
1. 程序化基础 → Noise/Voronoi 生成底纹
2. 手绘细节 → 添加特定污渍、标记
3. 程序化变化 → ColorRamp 调整、扭曲
4. 手绘修正 → 最终调整和修复
纹理烘焙流程: 将复杂的材质节点烘焙成纹理贴图:
-
准备阶段: - 创建目标纹理(通常 2K/4K) - 设置 UV 映射 - 配置烘焙边距(Margin)
-
烘焙类型:
常用烘焙贴图:
- Combined:完整光照
- AO:环境光遮蔽
- Normal:法线贴图
- Roughness:粗糙度
- Emit:自发光
- 优化设置: - Samples:采样数(128-512) - Margin:边缘扩展(4-16px) - Clear:清除原有内容
性能优化建议:
- 绘制时使用较低分辨率(1K),最后升采样
- 及时保存外部文件(避免内存溢出)
- 使用 8-bit 色深(特殊贴图除外)
- 定期打包外部数据(File → External Data → Pack)
本章小结
本章介绍了 Blender 材质与纹理系统的核心概念和技术:
关键要点:
- Shader Editor:节点式材质编辑提供无限创作可能
- PBR 原理:基于物理的渲染确保材质在各种光照下的真实感
- UV 展开:合理的 UV 布局是高质量纹理的基础
- 纹理绘制:内置绘制工具实现完整的纹理制作流程
核心技能:
- 掌握 Principled BSDF 节点的参数调节
- 理解不同 UV 展开方法的适用场景
- 熟练使用画笔系统创建纹理细节
- 建立材质库提高工作效率
工作流程总结:
建模完成 → UV 展开 → 材质创建 → 纹理绘制 → 细节调整 → 烘焙输出
记住,好的材质不仅依赖技术参数,更需要对真实世界材质的观察和理解。多参考现实照片,分析不同材质的表面特性,将有助于创建更加可信的 3D 材质。
练习题
基础题
练习 3.1:PBR 材质参数调节 创建一个简单的立方体,为其制作以下材质:
- 抛光铬合金(高反射金属)
- 磨砂塑料(中等粗糙度非金属)
- 透明玻璃(带折射)
提示:注意 Metallic 和 Roughness 的配合使用
参考答案
抛光铬合金:
- Base Color: (0.8, 0.8, 0.85)
- Metallic: 1.0
- Roughness: 0.1-0.2
磨砂塑料:
- Base Color: 任意颜色
- Metallic: 0.0
- Roughness: 0.4-0.6
- IOR: 1.45
透明玻璃:
- Base Color: (1.0, 1.0, 1.0)
- Metallic: 0.0
- Roughness: 0.0
- Transmission: 1.0
- IOR: 1.5
练习 3.2:UV 展开练习 下载提供的"椅子模型"文件,完成 UV 展开:
- 标记合理的接缝位置
- 保持 UV 密度一致
- UV 空间利用率达到 70% 以上
提示:考虑部件的可见性和纹理连续性
参考答案
接缝放置策略:
- 椅背:沿背面中线和底部边缘
- 座面:沿底部边缘一圈
- 椅腿:沿内侧不可见边
- 横梁:沿底部中线
UV 密度检查:使用 UV 网格纹理验证各部分密度一致。 打包设置:Margin 0.01,允许旋转以优化空间。
练习 3.3:节点材质混合 使用节点编辑器创建一个"生锈金属"材质:
- 基础金属材质
- 锈迹纹理叠加
- 使用 Noise Texture 控制混合
提示:使用 Mix Shader 或 Mix RGB 节点
参考答案
节点设置:
- 创建两个 Principled BSDF(金属和锈迹)
- 使用 Noise Texture → ColorRamp 生成遮罩
- 用 Mix Shader 根据遮罩混合两个材质
- 调整 Noise Scale 控制锈迹分布
- ColorRamp 调整锈迹边缘硬度
挑战题
练习 3.4:UDIM 纹理工作流 为一个角色模型设置 UDIM:
- 头部使用 1001(4K 分辨率)
- 身体使用 1002(4K 分辨率)
- 手部使用 1011(2K 分辨率)
- 配件使用 1012(2K 分辨率)
提示:在 UV 编辑器中启用 UDIM 网格显示
参考答案
UDIM 设置步骤:
- UV Editing 工作区,启用 UDIM
- 选择头部网格,缩放移动到 0-1 区域(1001)
- 选择身体网格,移动到 1-2,0-1 区域(1002)
- 手部移动到 0-1,1-2 区域(1011)
- 配件移动到 1-2,1-2 区域(1012)
- 在 Shader Editor 中使用 Image Texture 节点,文件名格式:texture.1001.png
练习 3.5:程序化木纹材质 仅使用程序化纹理(不使用图像)创建逼真木纹:
- 使用 Wave 和 Noise 纹理组合
- 添加年轮效果
- 包含颜色变化
提示:研究真实木材的纹理模式
参考答案
节点组合策略:
- Wave Texture(Bands)作为基础年轮
- 扭曲:Wave → Noise Texture → Distortion
- 添加 Musgrave Texture 增加细节
- 使用两个 ColorRamp 分别控制颜色和粗糙度
- 混合多层 Wave 创建不规则性
- 最终通过 Bump 节点添加凹凸细节
练习 3.6:纹理绘制项目 在提供的"机器人模型"上完成以下纹理绘制:
- 战损效果(划痕、凹痕、烧痕)
- 编号和警告标识
- 油污和锈迹
- 边缘磨损效果
提示:分层工作,使用不同的混合模式
参考答案
绘制顺序和技巧:
- 基础色:先绘制基础金属色
- 贴花层:添加编号和标识(使用 Stencil)
- 磨损层:边缘使用 Cavity Mask 辅助
- 污渍层:使用低透明度多次叠加
- 划痕:使用自定义画笔,跟随表面流向
- 最后调整整体色调和对比度
常见陷阱与错误
Shader Editor 常见问题
- 节点连接错误
错误:将 Color 输出连接到 Value 输入导致意外的灰度转换
解决:理解数据类型转换规则,必要时使用 Separate RGB
- 纹理色彩空间设置错误
错误:将法线贴图设置为 sRGB 色彩空间
正确:Normal Map → Non-Color
Roughness/Metallic → Non-Color
Base Color → sRGB
- 过度复杂的节点树
症状:渲染速度极慢,视窗卡顿
解决:
- 简化节点结构
- 使用节点组封装复杂逻辑
- 考虑烘焙成纹理
UV 展开常见错误
- UV 重叠未处理
症状:纹理绘制时出现镜像效果
检查:UV 编辑器 → Overlays → Show Overlaps
解决:选择重叠面,分离或镜像处理
- UV 密度不一致
症状:某些部位纹理模糊,某些部位过于清晰
工具:UV → Average Island Scale
技巧:使用 Texel Density 插件统一密度
- 接缝位置不当
症状:明显的纹理断裂线
改进:
- 将接缝隐藏在自然分界处
- 使用 Clone 画笔修复接缝
- 增加 Margin 防止 Mipmap 出血
纹理绘制陷阱
- 分辨率设置过高
问题:4K/8K 纹理导致内存溢出
建议:
- 远景物体:512-1K
- 中景物体:1K-2K
- 特写/主角:2K-4K
- 忘记保存外部图像
风险:Blender 崩溃导致纹理丢失
习惯:
- Image → Save 定期保存
- 使用自动保存
- 设置合理的备份间隔
- 纹理拉伸未检查
检查方法:
- UV 编辑器 → Display Stretch
- 类型:Area / Angle
- 目标:保持蓝色(无拉伸)
最佳实践检查清单
材质创建检查项
- [ ] PBR 合规性
- Base Color 避免纯黑(0,0,0)或纯白(1,1,1)
- 金属材质的 Base Color 应该是其反射颜色
-
Roughness 极少使用 0 或 1 的极值
-
[ ] 节点组织
- 使用 Frame 对相关节点分组
- 添加节点标签说明用途
- 保持从左到右的数据流向
-
及时清理未使用的节点
-
[ ] 性能优化
- 纹理尺寸适配使用场景
- 避免过深的节点嵌套(>10层)
- 合理使用节点组复用
- 考虑 LOD 的材质简化版本
UV 展开检查项
- [ ] 展开质量
- UV 岛之间保持 2-4 像素间距
- 检查并修复翻转的面
- 密度差异控制在 ±20% 以内
-
重要细节分配更多 UV 空间
-
[ ] 接缝策略
- 接缝放置在隐蔽位置
- 利用硬边作为自然接缝
- 对称模型考虑镜像 UV
-
检查纹理在接缝处的连续性
-
[ ] 优化措施
- 小部件合并到同一 UV 岛
- 删除不可见面的 UV
- 直线边缘对齐到像素网格
- 充分利用 0-1 UV 空间
纹理工作流检查项
- [ ] 文件管理
- 使用描述性文件命名
- 保持纹理文件夹组织结构
- 定期打包外部数据
-
版本控制重要迭代
-
[ ] 绘制准备
- 检查模型法线方向
- 确认 UV 映射正确
- 设置合适的纹理分辨率
-
准备必要的参考图像
-
[ ] 质量控制
- 多角度检查纹理效果
- 测试不同光照条件
- 验证纹理平铺无缝隙
- 确保接缝处理自然
通过遵循这些最佳实践,您将能够创建专业级别的材质和纹理,为您的 3D 作品增添真实感和艺术表现力。