我大约30分钟进入Blender的python API,我一直在阅读文档。也许我看得不够努力,但从我所看到的情况来看,我不能只将一个对象(如ico_sphere(分配给名为Sphere
的变量,然后用方法修改其属性?
import bpy
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete()
Sphere = bpy.ops.mesh.primitive_ico_sphere_add(location=[0,0,0])
# Does something like this work?
Sphere.set_color('red')
我做了很多matplotlib
,我想知道,bpy 是否有类似的面向对象的接口?
在 blender 中,运算符返回一个状态,通常为{'FINISHED'}
。
运行添加对象运算符后,可以在bpy.context.object
中找到新对象。
bpy.ops.mesh.primitive_ico_sphere_add(location=[0,0,0])
Sphere = bpy.context.object
Sphere.location = (1,2,3)
Sphere.active_material = bpy.data.materials.new('mymat')
Sphere.active_material.diffuse_color = (1,0,0,1)
请注意,基于节点的材料需要更多的工作。有一个特定于搅拌机的SE站点,您可以在其中找到一些脚本示例,如下所示。