添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Python 控制台

Python 控制台是一种执行命令的快速方法,可以访问完整的Python API、查询命令历史记录和自动补全。命令提示符是 Python 3.x 的典型操作,加载解释器,并在提示符 >>> 处接受命令。

Python 控制台是内置的用于探索Blender 的可能性的绝佳方法。Python 控制台可用于测试小段Python代码,然后粘贴到更大的脚本中。

Python 控制台。

标题栏菜单

视图菜单

视图缩放

增加/减小控制台文本的字体大小。

移动到前一个单词 Ctrl - Left

将光标移到前一个单词的开头。如果光标位于单词的中间,则光标将移动到当前单词的开头。

移动到后一个单词 Ctrl - Right

将光标移动到下一个单词的末尾。如果光标位于单词的中间,则光标将移动到当前单词的末尾。

移动到行首 Home

将光标移动到行首。

移动到行尾 End

将光标移动到行尾。

清除行 Shift - Return

从提示符行中删除所有内容。

删除前一单词 Ctrl - Backspace

删除光标和前一个单词开头之间的所有内容(按句号分隔)。如果光标位于单词的中间,则删除到当前单词开头的所有内容。

删除下一个单词 Ctrl - Delete

删除光标和下一个单词末尾之间的所有内容。如果光标位于单词的中间,则删除到当前单词末尾的所有内容。

复制为脚本 Shift - Ctrl - C

将完整的历史记录缓冲复制到剪贴板,这可以粘贴到文本文件中,用作 Python 脚本。

复制 Ctrl - C

复制选中文本。

粘贴 Ctrl - V

粘贴到命令行。

缩进 Tab

在光标处插入一个制表符。

取消缩进 Shift - Tab

取消选中行缩进。

在历史记录中后退 Up

将当前命令更改为命令历史记录中出现的上一个命令。

在历史记录中前进 Down

将当前命令更改为命令历史记录中出现的下一个命令。

自动补全 Tab

更多信息见 自动补全

  • Ctrl - Left / Ctrl - Right -- 光标动作,用文字。

  • Backspace / Delete -- 擦除字符。

  • Ctrl - Backspace / Ctrl - Delete -- 擦除文字。

  • Return -- 执行命令。

  • Shift - Return -- 添加到命令历史记录而不执行。

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

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

    注意在启用自动补全后,命令提示符上方的绿色输出。您看到的是自动补全功能列出的可能结果。以上列表中所列出的内容都是模块属性名称,但凡您看到的任何以 ( 结尾的名称都是函数。

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

    小试牛刀前

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

  • 所有对象的都存在上下文,以及各种模式及其对应的操作。

  • 在任何情况下,只有一个物体处于活动状态,并且可以有多个选定对象。

  • 所有物体都是blend文件中的数据。

  • 存在创建和修改这些对象的操作/函数。

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

    bpy.context

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

    bpy.context.mode

    将打印当前3D视图的模式 (物体、 编辑、 雕刻等)。

    bpy.context.object bpy.context.active_object

    将获得对3D视图中当前活动物体的访问。

    将X位置数值更改为1:

    bpy.context.object.location.x = 1
    

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

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

    修改X, Y, Z 位置:

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

    只修改X,Y分量:

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

    物体位置的数据类型:

    type(bpy.context.object.location)
    

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

    dir(bpy.context.object.location)
    
    bpy.context.selected_objects

    可以访问所有选定对象的列表。

    输入以下内容,然后按 Tab

    bpy.context.selected_objects
    

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

    bpy.context.selected_objects[0]
    

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

    [obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
    

    bpy.data

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

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

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