blender python API 编程让3D建模插上双翼腾飞
2018-02-18 19:53
537 查看
blender作为一款开源的3D建模工具,软件小巧,但是功能强悍。
blender不仅仅可以通过软件的UI界面用鼠标和键盘手工建模,也可以通过python编写程序自动批量建模。
如果你用过EXCEL VBA,你就会知道,VBA这种通过编写宏来自动化操作EXCEL非常方便,就像为EXCEL插上了双翼,爽到飞起。
而在blender中,使用python也可以以类似VBA的方式,为自动化操作blender提供实现,blender借助python,也可以插上双翼,爽到飞起。
具体如何在blender中使用python编程呢?
首先我们可以将主界面中某一个编辑窗口类型设置为“Text Editor”,这样就可以在这个文本编辑器内编写python脚本了。
这个blender内部的文本编辑器可以直接编写python脚本,也可以将编写好的python脚本保存为文件,或者将写好的python脚本打开。
编写好的脚本点击脚本编辑窗口下方的“Run Script”按钮就可以运行脚本。
bpy模块是blender python API最常用最主要的模块。
具体如何编写blender的python脚本,可以参考Chris Conlan写的《The Blender Python API》这本书。
像我目前需要在blender中将一个房屋单元模型复制很多份,并且布局到指定的坐标上,如果手工操作,会非常繁琐,我们通过python脚本,就可以将这一工作自动化。
import bpy
for i in range(10):
for j in range(10):
bpy.ops.object.select_all(action="DESELECT")
bpy.data.objects["cube"].select=True
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(9*i, 9*j, 0)})
上面的python脚本是将名称为“cube”的物体复制一百份,并间隔9个单位纵横排列。
其实在blender几乎每个操作按钮上,只要将鼠标悬停久点,就会出现该按钮对应命令的python脚本提示。通过鼠标右键菜单“Online Python Reference”还可以跳转到官网查看对应命令的python参考。
另外,打开“Info”窗口,几乎每一步操作都会出现对应的python脚本信息显示,类似EXCEL VBA录制。通过这种功能,我们遇到不知道怎么写python代码的时候,可以先在blender里通过传统的手动方式操作一遍,然后将生成的python脚本复制下来,稍微调整参数就可以使用了。通过这种方式,你应该很快可以通过模仿掌握blender python的各种用法。
在blender的python console窗口可以交互式的写python代码,类似于在python的console控制台直接写命令即时执行。
如果你是使用blender进行设计工作的,希望此文能够帮助你提高工作效率,减轻繁重的操作,实现工作半自动化。
blender不仅仅可以通过软件的UI界面用鼠标和键盘手工建模,也可以通过python编写程序自动批量建模。
如果你用过EXCEL VBA,你就会知道,VBA这种通过编写宏来自动化操作EXCEL非常方便,就像为EXCEL插上了双翼,爽到飞起。
而在blender中,使用python也可以以类似VBA的方式,为自动化操作blender提供实现,blender借助python,也可以插上双翼,爽到飞起。
具体如何在blender中使用python编程呢?
首先我们可以将主界面中某一个编辑窗口类型设置为“Text Editor”,这样就可以在这个文本编辑器内编写python脚本了。
这个blender内部的文本编辑器可以直接编写python脚本,也可以将编写好的python脚本保存为文件,或者将写好的python脚本打开。
编写好的脚本点击脚本编辑窗口下方的“Run Script”按钮就可以运行脚本。
bpy模块是blender python API最常用最主要的模块。
具体如何编写blender的python脚本,可以参考Chris Conlan写的《The Blender Python API》这本书。
像我目前需要在blender中将一个房屋单元模型复制很多份,并且布局到指定的坐标上,如果手工操作,会非常繁琐,我们通过python脚本,就可以将这一工作自动化。
import bpy
for i in range(10):
for j in range(10):
bpy.ops.object.select_all(action="DESELECT")
bpy.data.objects["cube"].select=True
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(9*i, 9*j, 0)})
上面的python脚本是将名称为“cube”的物体复制一百份,并间隔9个单位纵横排列。
其实在blender几乎每个操作按钮上,只要将鼠标悬停久点,就会出现该按钮对应命令的python脚本提示。通过鼠标右键菜单“Online Python Reference”还可以跳转到官网查看对应命令的python参考。
另外,打开“Info”窗口,几乎每一步操作都会出现对应的python脚本信息显示,类似EXCEL VBA录制。通过这种功能,我们遇到不知道怎么写python代码的时候,可以先在blender里通过传统的手动方式操作一遍,然后将生成的python脚本复制下来,稍微调整参数就可以使用了。通过这种方式,你应该很快可以通过模仿掌握blender python的各种用法。
在blender的python console窗口可以交互式的写python代码,类似于在python的console控制台直接写命令即时执行。
如果你是使用blender进行设计工作的,希望此文能够帮助你提高工作效率,减轻繁重的操作,实现工作半自动化。
相关文章推荐
- Revit中Dynamo编程——在Python中怎么利用RevitAPI来写一个过滤
- Blender Python API中文介绍文档一
- Revit中Dynamo编程——Python Script模块(引用RevitApi、RevitApiUI、math库)
- Blender Python API中文介绍文档二
- BlenderPython (二)基本API
- Revit中Dynamo编程——Python脚本编程与RevitAPI交互的注意事项
- Blender Python API中文介绍文档三
- Blender Python API中文介绍文档六
- 使用Python和Blender来学习3D编程
- python flask api接口开发编程
- Linux C高级编程——网络编程之API(5)
- sqlite3 -- DB-API 2.0 SQLite数据库接口[Python参考库翻译] (转)
- 趣学Python-教孩子学编程--第十三章
- python面向对象程序编程学习记录
- python socket 编程的简单example
- Python3 编程第一步
- [Python编程]正则表达式
- 编程学习第二天,初识Python
- Python即时网络爬虫:API说明
- 学习编程之Python篇(一)