【blender插件】(1)快速开始

特性

blender的python API有如下特性:

  1. 编辑用户界面可以编辑的任意数据(场景,网格,粒子等)。
  2. 修改用户首选项、键映射和主题。
  3. 运行自己的配置运行工具。
  4. 创建用户界面元素,如菜单、标题和面板。
  5. 创建新的工具。
  6. 场景交互式工具。
  7. 创建与Blender集成的新渲染引擎。
  8. 修改模型的数据和属性。
  9. 在Blender现有的数据中定义新的设置。
  10. 使用Python在3D视图中绘制。

目前未实现的特性:

  1. 创建新的空间类型。
  2. 为每个类型分配自定义属性。

运行脚本

有两种方法运行脚本,第一种是在内置的编辑器中或是在python控制台输入命令。这两种方法都在顶部菜单单击Scripting可以打开,显示在UI布局中。

可以从编辑器打开.py文件或者从剪贴板粘贴代码上去,运行脚本并测试代码。Python控制台通常用于输入代码片段测试以获得即时反馈,但也可以将整个脚本粘贴到其中。

关键概念

数据访问

访问数据块

可以使用Python API来访问Blender的数据,访问加载的blender文件是通过bpy.data完成的。下面是在控制台输出的示例:

>>> bpy.data.objects # 当前对象集合
<bpy_collection[3], BlendDataObjects>
>>> bpy.data.scenes # 当前场景集合
<bpy_collection[1], BlendDataScenes>
bpy.data.materials # 当前材质结合
<bpy_collection[1], BlendDataMaterials>

访问集合

可以通过索引或字符串来访问集合的成员。

import bpy
l = list(bpy.data.objects)
print(l)
print(bpy.data.objects[0])
print(bpy.data.objects['Cube'])
# [bpy.data.objects['Camera'], bpy.data.objects['Cube'], bpy.data.objects['Light']]
# bpy.data.objects["Cube"]
# bpy.data.objects['Cube']

访问属性

可以查看数据块的属性。

>>> bpy.data.objects[0].name
'Camera'
>>> bpy.data.scenes["Scene"]
bpy.data.scenes['Scene']
>>> bpy.data.materials.new("MyMaterial")
bpy.data.materials['MyMaterial']
>>> bpy.data.scenes[0].render.resolution_percentage
100
>>> bpy.data.scenes[0].objects["Cube"].data.vertices[0].co.x
1.0

数据的创建与移除

新的数据块无法通过调用类来创建。

>>> bpy.types.Mesh()
Traceback (most recent call last):
  File "", line 1

你可能感兴趣的:(blender插件开发,blender,python)