本文环境系统OS(Win10)
方式一,在Script(脚本)功能里面的Console(控制台输入python代码)。
如下图:
对应的三句代码是:
print("Hi, blender.")
import bpy
bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0,0, 0), scale=(1, 1, 1))
按下回车键,代码立刻执行,如果有打印信息则直接显示在这个控制台(Console)中。
方式二,在Script(脚本)功能里面的代码文本写代码,然后执行。
第一步, 打开代码执行的控制台窗口,方便查看代码执行过程中的输出信息:
注意,有时候由于debug或者出错导致脚本代码指定卡主,只需要在这个窗口执行Ctrl + C快捷键就能解决问题,以免整个Blender软件卡死。
第二步
第三步:
第四步,写入代码:
对应的代码:
import bpy
import mathutils
# 创建一个cube
bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0,0, 0), scale=(1, 1, 1))
# 获取这个cube
cube = bpy.data.objects["Cube"]
print("a cube: ", cube)
v0 = mathutils.Vector((2.0, 0.0, 0.0))
# 设置这个cube的坐标(X轴坐标为2.0,Y轴和轴为0.0), 移动这个cube
cube.location = v0
第五步,运行代码:
执行结束,可以看到创建了一个cube,并且移动了。
控制台中,也可以看到输出信息:
可以接着再用下面的这段代码让blender渲染出一张图(关于这个cube的),保存在指定路径下:
import bpy
renderer = bpy.context.scene.render
renderer.image_settings.file_format='JPEG'
renderer.filepath = "D:/dev/blender/renderingImg/cube.jpg"
renderer.resolution_x = 512 #perhaps set resolution in code
renderer.resolution_y = 512
bpy.ops.render.render(write_still=True)
加载一个obj格式的模型:
import bpy
obj_filePath = "D:/dev/blender/modules/box01.obj"
imported_object = bpy.ops.import_scene.obj(filepath=obj_filePath)
obj_object = bpy.context.selected_objects[0]
print('Imported obj name: ', obj_object.name)
开启Scripting脚本的即时运行(编辑后立刻自动运行)
方式三,直接在CMD或者其他程序中调用blender.exe,并将python脚本文件当做参数传入。
1. 将上述python代码写到一个.py类型的文本文件里面,这里明明为createCube.py
2. 打开 window cmd命令行控制台窗口
3. 然后再window cmd命令行控制台窗口里面执行,如下图:
注意blender.exe的路径和createCube.py的路径要写成自己的。
blender通过的python script示例源码:your path \blender\3.2\scripts\templates_py
Blender 执行程序的命令行参数:
1. 可以通过 blender.exe -h获得详细信息
2. 命令行参数文档: 命令行参数 — Blender Manual
关于blender的API:
1. Quickstart — Blender Python API
2. Blender 3.5 Python API Documentation — Blender Python API