章节大纲

  • 本书的核心是一系列教程,其复杂性逐步递增,后续教程建立在前面教程的基础之上。虽然有经验的用户可以跳过部分内容,但建议初学者按照顺序依次学习。

    核心系列的教程分为四个单元:

    • 背景知识 —— 基本导引,包括:

      • 计算机图形学基础
      • Blender 用户界面(UI)
    • 基础建模与着色 —— 构建和渲染 3D 模型的基本技术

    • 拓宽视野

      • 其他建模与渲染技术
      • 光照、动画和游戏制作的基础介绍
    • 起飞

      • 脚本编写
      • 建模、动画和游戏制作的高级技术(注:自 Blender 2.8x 版本起,Blender 游戏引擎已被移除)

    每个单元都细分为多个部分,每个部分由若干模块组成。

    此外,书中还提供了三个附录:

    • 参考资料 —— 包括:

      • 常见问题解答(FAQ)
      • 术语表
    • 通用建议 —— 帮助您更高效地使用 Blender 的技巧

    • 其他教程 —— 不属于核心系列的教程


  • Blender 是一个功能强大且复杂的 3D 建模和渲染软件。然而,在真正开始创作之前,你需要理解 3D 建模及相关领域的一些基本概念,例如:

    • 了解 3D 建模和渲染的基本流程
    • 理解 Blender 中的坐标轴和 3D 坐标系统的运作方式
    • 认识正交视图和透视视图的区别
    • 掌握局部坐标、父对象和子对象的概念
    • 熟悉 Blender 的用户界面及其导航方法
    • 学会从不同的摄像机角度查看场景

    不用被这些术语吓到,其实很多概念都非常直观,易于理解。当然,由于本单元不会涉及实际建模,你可能会想直接跳到后面的内容,这完全可以。但请记住,扎实掌握这些基础概念将对你的学习大有帮助,而按照教程顺序学习可以帮助你建立稳固的知识体系。如果你之前使用过其他 3D 软件,那么你应该已经熟悉这些概念。

    话虽如此,真正有趣的部分(在 Blender 里制作东西)将在下一个单元开始。不过要注意,Blender 并不是那种可以随意摸索就能上手的软件。它以陡峭的学习曲线而闻名。这更像是在驾驶宇宙飞船,而不是在一座陌生的城市里漫步。如果在不了解基本操作的情况下直接“坐上驾驶座”,你几乎不可能顺利起飞。

    Blender 专有术语

    和其他领域一样,3D 图形学也有专门的术语来描述特定概念。本书中重要的术语会在首次出现时进行强调和定义。如果你错过或忘记了某个术语的含义,可以在术语表(Glossary)中查找。

    所需设备

    要按照本书的教程进行学习,你需要一台已安装 Blender 的计算机。你可以在官网下载最新版本的 Blender。

    根据你的操作系统,你可能还需要安装相应的 Python 版本。每个 Blender 版本都对应特定的 Python 版本,但通常 Blender 会自带所需的 Python 版本。

    Blender 团队提供了 长期支持(LTS)版本,该版本可获得 2 年的稳定支持。在此支持周期内,不会引入新功能、用户界面变更、API 修改或其他增强功能,只有关键修复会被应用。这种长期支持版本适合需要稳定版本进行长期项目的团队。LTS 版本以 "LTS" 后缀和最后支持年份标识。

    Blender 版本 Python 版本
    2.79 3.5
    2.83 LTS 2022 3.7
    2.90 3.7
    2.93 LTS 2023 3.9
    3.0 3.9
    3.1 3.10
    3.3 LTS 2024 3.10
    3.4 3.10
    3.5 3.10
    3.6 LTS 2025 3.10
    4.0 3.10
    4.1 3.11

    你可以在 Scripting 工作区检查 Python 版本,使用以下代码:

    import sys
    print(sys.version)
    

    安装指南

    安装完成后,Blender 应该会出现在桌面环境的 图形 类别下的应用程序菜单中。

    此外,你可能还需要下载一个 2D 图像编辑器(如 GIMP、Paint.NET 或 Photoshop),或一个 多媒体播放器(如 VLC),以便处理贴图和素材。

    建议准备 纸和笔 进行草图绘制和记录笔记。Blender 涉及大量信息,做笔记有助于日后回顾和学习。


  • 在本模块中,你将学习 Blender 的功能,包括其产出(图像)和制作过程(3D 建模)。

    Blender 简介

    Blender 是一款用于创建“三维”(3D)图形(也称为计算机图形或 CG)的免费软件,支持制作静态图像、游戏和视频。

    虽然大多数 Blender 项目的最终成果都是显示在平面屏幕(如显示器、电影屏幕或纸张)上的 二维(2D) 栅格图像(除头戴式虚拟现实应用外),但这些图像被称为“3D”,因为它们能够营造出深度的错觉。换句话说,观看者可以直观地判断图像中哪些部分更靠近,哪些部分更远。

    示例

    以下是一幅使用 Blender 创建的逼真静态图像:

    《孤独的房子》(A Lonely House),作者:Mayqel

    仔细观察建筑物,你可以发现:

    • 由于建筑物部分遮挡了后方的树木,你可以判断出树林在建筑物的后面,而不是前面。
    • 前墙的上下边缘向树的底部方向收敛,使你能够判断前墙与视角之间的角度。
    • 你可以通过墙面上较暗的部分来识别阴影,从而推测光源的位置,即使太阳不在画面中。

    虽然可以使用 2D 绘图软件(甚至是画笔)手动创造这种深度错觉,但 Blender 提供了更简单的方法。

    这座房子很可能并不存在于现实世界中。与其在德国的乡村搭建一个大型布景、等待合适的光照、然后拍摄照片,艺术家选择在 计算机内的虚拟 3D 世界 中创建这一场景(这被称为 计算机生成图像(CGI))。随后,他们使用 Blender 渲染 该场景,将其转换为 2D 图像。你可以在 Blender 官方画廊 看到更多作品。


    3D 制作流程

    要制作类似上述的图像,通常涉及以下两个主要步骤:

    1. 建模(Modeling) —— 创建 3D 世界(即模型或场景)。这包括:

      • 定义物体的几何形状
      • 赋予物体特定的材质
      • 设置光源
      • 定义摄像机视角
    2. 渲染(Rendering) —— 生成最终图像,相当于从摄像机视角对场景“拍照”,并呈现给观众。

    3D 技术不仅用于创建静态图像,还可用于 动画制作,这需要额外的步骤:

    • 绑定(Rigging) —— 设定控制角色变形的方法,使其能够流畅地模拟关节运动、面部表情等真实生物的动作。
    • 姿势调整(Posing) —— 在 3D 场景中为物体和角色设置时间序列的动作,通常利用之前创建的绑定结构。
    • 动画渲染 —— 渲染不只是单帧图像,而是一系列连续帧,呈现物体随时间的运动。

    此外,还有一些额外的处理步骤,以增强 3D 作品的真实感:

    • 雕刻(Sculpting) —— 通过类似黏土塑形的方式进行更有机的建模,以创建更复杂、不规则的形状,使其更接近自然界中的真实物体。
    • 贴图绘制(Texture Painting) —— 你可能熟悉 2D 图像编辑软件,这些软件常用于 3D 贴图制作。Blender 允许直接在 3D 物体表面绘制纹理,使其看起来更加真实。
    • 物理模拟(Physical Modeling) —— 计算现实世界中物体的运动,例如刚性物体碰撞、柔软布料的下垂、流体流动等。这些模拟基于数学公式,能逼真地再现真实现象,但需要强大的计算能力。
    • 动作捕捉(Motion Capture,Mocap) —— 通过拍摄带有标记点的真人动作,并将其转换为 3D 角色动画,以创建更自然的行走、跑步、跳舞等动态效果。
    • 合成(Compositing) —— 将 3D 渲染与真实拍摄的画面融合,使虚拟物体与现实环境无缝结合,或者让真实演员进入虚拟场景。若光照和阴影匹配得当,观众将难以分辨何为真实、何为合成。

    实时渲染 vs. 非实时渲染

    渲染可以分为两种类型:

    • 实时渲染(Real-time Rendering) —— 用于游戏等交互式应用,必须在极短时间内完成。例如,许多游戏要求 每秒更新 60 帧,以保证流畅的视觉体验。因此,这类渲染受时间限制,必须使用优化算法。
    • 非实时渲染(Non-real-time Rendering) —— 质量优先,计算时间较长。例如,为了追求更高的细节,一张静态图片的渲染可能需要数分钟到数小时。而制作好莱坞级别的电影,单帧可能需要几个小时渲染,但使用 渲染农场(Render Farm)(数百或数千台计算机并行工作),整个序列可以在几周内完成。

    Blender 其他功能

    除了 3D 生产工作流,Blender 还具备一些拓展功能:

    • 视频编辑(Video Editing) —— 渲染完动画后,你可以将其与实拍视频结合,制作完整的影片。
    • 3D 打印(3D Printing) —— 许多人希望通过 3D 打印制作实物。你可以使用 3D 扫描获取真实物体的形状数据,或直接在 Blender 中建模,甚至结合两者。

    Blender 涵盖了 3D 领域的方方面面,内容庞杂,但不要感到畏惧。本书将带你 一步步学习,从最基础的内容开始,你很快就能创作出有趣的作品!