Python 控制台

    可以先通过控制台来探索脚本的各种可能性,然后将脚本粘贴到更复杂的脚本中。

    在任何Blender编辑器类型(3D视图,时间线等)下,通过按 Shift-F4 您可以将其切换为控制台编辑器。

    命令提示符使用常用的Python 3.x,解释器已加载并准备接受提示符 后的命令。

    初探控制台环境

    若要检查已经加载到了解释器环境的模块,请在提示符下键入 dir() 并执行。

    ../_images/editors_python-console_dir.png

    自动补全

    现在,键入 bpy. ,然后按 Ctrl-Spacebar ,您会看到控制台的自动补全功能已经生效。

    您会注意到 bpy 子模块的列表出现。这些模块作为一组非常强大的工具,封装了我们用Blender Python API能做的一切。

    让我们列出 bpy.app 模块的所有内容。

    我们将充分利用这一点来帮助我们更快地学习API。既然您已经掌握了一些窍门,让我们继续研究 bpy 中的一些模块。

    如果您在3D视图查看默认的Blender场景,您将注意到三个物体:立方体、灯光和摄像机。

    • 在任何情况下,只有一个物体处于活动状态,并且可以有多个选定对象。
    • 所有物体都是blend文件中的数据。
    • 存在创建和修改这些对象的操作/函数。

    对于以上所简要列出的内容 (并非全部列出, 请注意…) "bpy" 模块提供了访问和修改数据的相关功能。

    bpy.context

    Note

    要使以下命令显示正确的输出, 请确保在3D视图中有选定的对象。

    ../_images/editors_python-console_bpy-context.png

    试试看!

    • bpy.context.mode
    • 将打印当前3D视图所处于的模式 (物体、 编辑、 雕刻等)。
    • bpy.context.objectbpy.context.active_object
    • 将获得对3D视图中当前活动对象的访问。

    将X位置数值更改为1:

    将物体从前一个X位置移动0.5个单位:

    1. bpy.context.object.location.x += 0.5

    修改X, Y, Z 位置:

    1. bpy.context.object.location = (1, 2, 3)

    只修改X,Y分量:

    1. type(bpy.context.object.location)

    现在您可以访问到许多的数据:

    1. dir(bpy.context.object.location)
    • 可以访问所有选定对象的列表。

    输入以下内容,然后按 Ctrl-Spacebar:

    打印列表中第一个对象的名称:

    1. bpy.context.selected_objects[0]

    以下是一个比较复杂的示例……但是这会打印一个不包含当前活动对象的对象列表:

      bpy.data

      bpy.data 具有访问.blend文件中所有数据的函数和属性。

      你可以访问当前.blend文件中的以下数据: 对象、网格、材质、纹理、场景、窗口、 声音、 脚本等。

      所有内容汇总起来将会有相当多的数据。

      试试看!

      该工具系统是围绕操作的概念构建的。操作常从按钮或菜单执行,但也可以直接从Python调用。

      见 所有的操作符API documentation列表。

      别名

      • C: 快速访问 bpy.context
      • D: 快速访问 。
      • bpy: 顶层级Blender Python API模块。

      键位绑定

      • Up / Down — Cycle 命令历史。
      • Left / Right — 光标动作。
      • Ctrl-Left / Ctrl-Right — 光标动作,用文字。
      • Backspace / Delete — 擦除字符。
      • Tab —缩进。
      • Shift-Tab — 取消缩进。
      • Ctrl-Backspace / Ctrl-Delete — 擦除文字。
      • Ctrl-Spacebar —自动补全。
      • Return — 执行命令。
      • Shift-Return — 添加到命令历史记录而不执行。
      • Ctrl-C — 复制选择内容。