Blender Python 笔记
Blender Python 笔记
-
Blender Python 内置模块
-
bpy blender python 基础模块
-
bpy.data 用于查找修改文件数据
-
bpy.ops 操作指令,比如创建物体、材质,移动物体 ...
-
bpy.props 在UI上定义属性,指定属性的数据类型、名称、描述等
-
bpy.types 包含bpy定义的各个内部类
-
bpy.context 包含了场景的所有上下文信息
-
bpy.utils 工具包
-
bgl 封装了opengl
-
blf UI字体相关
-
mathutils 数学库
-
-
Tips
-
打开blender python tooltip;
-
信息窗口查看在blender中做的操作对应的ops操作指令;对于写工作流脚本很有用;
-
python console 内置bpy 可以输入bpy代码,tab键自动补全
-
系统控制台 查看编辑的bpy脚本的运行信息,打印信息
-
新增加的物体会变为激活物体,激活物体只有一个;
-
-
选择对象&激活对象
-
单选
-
多选
-
激活 每一个时刻只有一个对象处于激活状态,对处于激活状态的对象,可以进入其编辑模式、Pose 模式
-
bpy.context.object 查询当前激活的对象
-
-
指定对象
-
通过给定的名称(字符串而非数字索引)访问数组元素bpy.data.objects[‘string’]data 返回对父数据块的引用.
- .data 返回对父数据块的引用
-
-
模式
-
编辑模式
-
对象模式
-
Pose模式
-
-
bmesh
-
在物体的编辑模式下,操纵物体的点、边、面
-
-
addon开发
-
bl_info 字典
-
location:add-on gui的主要位置
-
category:插件的类型
-
space
-
region space和region需要正确的组合
-
-
operator
-
继承bpy.types.Operator
-
bl_idname panel会通过该成员绑定operator
-
bl_label
-
定义运行函数:def Execute(self,context): 接收bpy.context作为参数,调用成功return {"FINISHED"};
-
定义注册、注销的方法 cls作为参数
- blender 注册、注销该operator类时都会调用其register、unregister方法
-
- Panel
-
-
继承 bpy.types.Panel
-
bl_space_type 、bl_region_type、bl_category、bl_label
-
space和region分别有一些可选的类型,二者需要正确的组合才能一起工作
3. 声明Draw方法 def Draw(self,context):核心组织功能是box()、row()、column()、分隔符()和label()。这五个函数中的每一个都可以嵌套在box()、row()或column()中,以实现更精细的组织。
4.同样可以定义注册、注销的方法
4.注册、注销
1.需要定义register()\unregister()函数,这两个函数负责调用bpy.utils中的register_calss()\unregister_class()\register_module()\unregister_module()函数;
2.继承了bpy.types的任何类都需要注册,如果父子类都需要注册,注册时先注册父类、注销时先注销子类
5.Scene Properties and bpy.props 场景变量
-
需要定义register()\unregister()函数,这两个函数负责调用bpy.utils中的register_calss()\unregister_class()\register_module()\unregister_module()函数;
-
继承了bpy.types的任何类都需要注册,如果父子类都需要注册,注册时先注册父类、注销时先注销子类
- 添加到场景和对象类型的特性将保存到.blend文件,为了能够修改这些特性的变量,必须将他们注册为bpy.props.*类型的对象
- 可以通过bpy.context.xxx访问到注册的特性
- 两种注册方法
-
-
-
-
-
在脚本的register()函数底部注册
-
在bpy.types.class 的register方法中注册
-
-
-
浙公网安备 33010602011771号