您的位置:首页 > 编程语言 > Python开发

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进行设计工作的,希望此文能够帮助你提高工作效率,减轻繁重的操作,实现工作半自动化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息