Blender / Beginner Textbook

Blender 入门学习

这是一篇 Blender 入门文章。意在让初学者先建立概念,再掌握下载、建模、导出和 Python API 这些关键环节。

你会得到什么

一条可执行的 Blender 入门路径,而不是零散笔记。

重点问题

Blender 是什么、怎么装、怎么建模、怎么导出、怎么学 Python API。

适合谁

适合零基础新手,也适合已确定要把 Blender 用于实际项目的人。

阅读方式

建议从前到后读;如果只关心某个模块,也可以按章节跳读。

完整工具链建模、材质、动画、渲染、脚本都包含在内
免费GNU GPL,个人与商业项目均可使用
GLB / FBX网页与游戏引擎最常见的导出主线
bpyBlender Python 自动化与插件开发入口

导学:为什么要用“教材式”理解 Blender

很多人第一次接触 Blender,会被界面、快捷键和功能模块压住,于是很容易产生一种错觉:只要记住足够多的按钮,就算学会了 Blender。

真正更稳的入门顺序应该是:先理解 Blender 在 3D 工作流里的位置,再理解它的授权和版本选择,然后才进入建模、导出和 Python 自动化。这样学,信息量虽然更大,但不会乱。

这篇文章的目标不是让你“看完觉得知道了很多名词”,而是让你能把 Blender 放进一个清晰的知识框架里。

第 1 章:Blender 是什么,它解决什么问题

先不要急着点任何按钮。对新手来说,第一件事永远是弄清 Blender 到底是什么级别的工具。

Blender 是一套免费、开源的 3D 创作软件,覆盖建模、雕刻、动画、渲染、合成和视频剪辑等流程。它不仅能做静态模型,也能做角色、场景、材质和动画资产。

从实际用途看,Blender 适合三类场景:

  • 学习 3D 基础与建模流程;
  • 制作可交付给游戏引擎或网页项目的资产;
  • 完整的内容创作流程,包括动画和渲染。

第 2 章:免费、开源与授权边界

“能不能免费用”“能不能商用”是每个新手都会问到的问题,这一章先把授权边界说清楚。

结论很明确:Blender 本体是免费的,而且是开源软件。

  • 官方许可页说明 Blender 可以用于商业项目;
  • 它不是试用版,也不是订阅制;
  • 个人学习、独立制作、工作室商业项目都可以使用。

需要注意的是,免费指的是软件授权本身,不等于所有附带资源都自动免费。你在制作中使用的贴图、模型、字体、HDRI、音乐等素材,仍然要分别确认授权。

参考:

工程上更稳妥的理解是:Blender 软件本体的授权很清楚,真正容易踩坑的是第三方贴图、HDRI、模型、字体和音频素材的授权边界。

第 3 章:下载、安装与版本选择

下载 Blender 本身不复杂,真正让新手困惑的,是版本选择和安装决策。

最稳妥的方式只有一个:从 Blender 官方网站下载。

版本选择表

场景推荐版本原因
第一次学习 Blender官方稳定版教程覆盖广、资料多、兼容性最好
长期项目LTS更强调稳定和长期支持,适合持续生产
尝试新功能实验版 / 预览版适合体验,不适合作为稳定交付基础

第 4 章:建模入门方法

建模入门最重要的不是炫技,而是建立稳定的方法:先大形,再结构,后细节。

Blender 的建模可以理解成:先搭大形,再加结构,再加细节。

为什么新手要先练简单物体

杯子、桌子、箱子这类物体并不“低级”。它们正好覆盖 Blender 建模最核心的一批操作:移动、旋转、缩放、挤出、环切、倒角、细分。这些能力一旦熟练,后续再进入角色和场景时,效率会高很多。

先学方法,再学复杂度

一开始就追复杂角色,很容易把问题从“建模方法”变成“造型能力不足 + 工具不熟 + 拓扑混乱”的复合问题。

先做闭环,再做规模

初学者最重要的不是作品大,而是能否完成“建一个物体并成功导出”的完整闭环。

第 5 章:导出模型与目标平台选择

导出格式不应该死记硬背,而应该根据模型的下一站来判断。

Blender 支持很多导出格式,官方手册明确提到常见格式包括 ABC、USD、OBJ、FBX、PLY、STL 等。

参考:

目标场景优先格式为什么这样选导出后重点检查
Three.js / 网页 3DGLB / glTF更适合现代实时渲染流程,Three.js 官方直接支持材质、贴图、动画、文件体积
UnityFBX角色、动画和静态模型管线成熟比例、朝向、材质映射、骨骼层级
UnrealFBX常规引擎资产交换路径,工作流稳定单位换算、根骨、网格朝向
3D 打印STL核心关注几何是否正确传递闭合、厚度、法线、切片软件识别情况
记导出格式最不容易错的方法,不是背格式名,而是先问自己:这个模型的下一站到底是浏览器、游戏引擎,还是打印机。

第 6 章:Blender Python API 的入门认知

如果你只想手工做模型,这一章可以稍后再读;但只要你开始想做自动化、批处理、插件或程序化建模,Python API 就会成为 Blender 里最重要的进阶能力之一。

10.1 API 分层

可以把 API 理解成三层:

  • bpy.data:直接读写对象、网格、材质、场景等数据块;
  • bpy.ops:调用 Blender 内置操作器,行为更像在界面里点按钮;
  • bpy.context:读取当前上下文,例如活动对象、选中项和当前场景。

其中最重要的分界是:bpy.data 更稳定,bpy.ops 更依赖上下文。

参考:

10.2 bpy.data

bpy.data 适合批量处理和精确修改。

import bpy for obj in bpy.data.objects: print(obj.name)

参考:

10.3 bpy.ops

bpy.ops 适合执行“像按钮一样”的流程型动作,例如添加基础体、渲染或导出。

import bpy bpy.ops.mesh.primitive_cube_add(location=(0, 0, 0))

但它对模式、选择状态和活动对象有要求。

参考:

10.4 bpy.context

bpy.context 是只读上下文,内容会随着 UI 区域变化。很多 operator 失败,本质上是上下文不满足要求。

参考:

模块定位适合做什么新手最容易踩的坑
bpy.data直接操作 Blender 数据块批量修改对象、网格、材质、场景不理解数据块的引用关系
bpy.ops像点击界面按钮一样调用内置流程添加物体、导出、渲染、模式切换忽略上下文和模式依赖
bpy.context读取当前 UI / 场景上下文获取活动对象、选中对象、当前场景误以为它是稳定不变的全局对象

第 7 章:深入 Python API:几何、数学与插件

当你开始写更严肃的 Blender 脚本时,仅仅知道 bpy 的入口还不够。你还需要知道几何处理层、数学层和插件层分别扮演什么角色。

10.5 bmesh

做程序化建模或网格拓扑处理时,bmesh 往往比 bpy.ops 更合适。

import bpy import bmesh obj = bpy.context.active_object mesh = obj.data bm = bmesh.new() bm.from_mesh(mesh) for v in bm.verts: v.co.z += 1.0 bm.to_mesh(mesh) bm.free()

参考:

10.6 mathutils

mathutils 提供 VectorMatrixEulerQuaternion 等数学类型,适合坐标变换、旋转、射线检测和空间计算。

参考:

10.7 插件骨架

做 Add-on 时,核心结构通常是:

  • Operator:执行动作;
  • Panel:提供按钮和界面;
  • PropertyGroup + bpy.props:定义自定义属性;
  • register() / unregister():注册和注销类。

参考:

10.8 handlers / timers

如果脚本要在特定时机自动运行,可以看:

  • bpy.app.handlers:事件回调;
  • bpy.app.timers:定时回调。

参考:

10.9 学习顺序

建议顺序是:

  1. bpy.databpy.context
  2. bpy.ops 的上下文依赖;
  3. bpy.types.Operatorbpy.types.Panelbpy.props
  4. bmesh
  5. mathutils
  6. handlerstimers

10.10 结论

  • Blender 的 Python API 很适合自动化、插件和程序化建模;
  • 新手先分清 bpy.databpy.opsbpy.context
  • 几何处理优先学 bmesh
  • 数学和空间计算优先学 mathutils
  • 插件开发的核心骨架是 Operator + Panel + props
对 Blender Python 来说,最大的学习跨越不是“学更多 Python 语法”,而是学会区分数据层、操作层、上下文层和几何层。

第 8 章:建议的学习路线与常见误区

Blender 的难点,很多时候并不是某个按钮,而是学习顺序。顺序错了,信息越多越乱;顺序对了,复杂度会下降很多。

如果你现在想立刻上手,建议按这个顺序来:

  1. 安装 Blender;
  2. 熟悉视图和快捷键;
  3. 做一个杯子;
  4. 做一个桌子;
  5. 导出成 GLB 或 FBX;
  6. 在目标软件里验证模型是否正常;
  7. 再开始做更复杂的角色或场景。

新手最常见的四个误区

  • 一上来就做复杂角色,而不是先做简单硬表面物体。
  • 把导出格式当成背诵题,而不是先按目标平台倒推。
  • bpy.ops 当成普通函数库,忽略它对上下文和模式的依赖。
  • 以为“学 Blender”就等于把所有模块一次学完,实际上应该按自己的目标拆开学。
  • Blender 是免费的、开源的 3D 创作软件;
  • 官方下载是最可靠的获取方式;
  • 新手建模应从基础体和网格编辑开始;
  • 导出时最常见的选择是 GLB、FBX、OBJ、STL;
  • 给 Three.js 优先用 GLB;
  • 给 Unity 和 Unreal 优先用 FBX;
  • 给 3D 打印优先用 STL。

参考资料与核对路径

对 Blender 这类工具软件来说,最可靠的信息来源依然是官方站点、官方 Manual 和官方 API 文档。下面是本文用到的主要参考链接。

说明: 本文按“教材式入门”重组了原始调研笔记。版本、许可、导出格式与 Python API 相关内容优先依据 Blender 官方文档整理;与 Three.js、Unity、Unreal 相关的导出建议,则依据对应官方文档和常见工作流做归纳。