10 Python bpy 控制 Blender 快速入门

📅 2026/8/10 9:48:05
10 Python bpy 控制 Blender 快速入门
10 Python bpy 控制 Blender 快速入门Blender 内置 Python APIbpy如果工业模型主要通过代码生成那么bpy就是 Python 与 Blender 场景之间的桥梁。一、导入 bpyimportbpy之后可以操作 Scene、Collection、Object、Mesh、Material、Camera、Light。二、创建 Emptyrootbpy.data.objects.new(BOF_ROOT,None)bpy.context.collection.objects.link(root)None表示没有 Mesh Data因此它是 Empty。三、设置位置root.location(0.0,0.0,0.0)对应 Blender 中的 Location X/Y/Z。四、设置旋转importmath root.rotation_euler.xmath.radians(30)Blender Python 的角度经常使用弧度因此常用math.radians()。五、设置缩放root.scale(1.0,1.0,1.0)六、设置 Parentmotor.parentbof_fixed父对象的 Transform 会影响子对象。七、创建 Collectioncollectionbpy.data.collections.new(BOF_LOD0)bpy.context.scene.collection.children.link(collection)把对象加入collection.objects.link(obj)八、Collection 与 Parent 可同时使用lod0_collection.objects.link(converter)converter.parenttilt_pivot表示 converter 属于 LOD0 分组同时跟随 tilt_pivot 运动。九、按名称查找对象objbpy.data.objects.get(BOF_TiltPivot)这也说明为什么对象名称必须稳定。十、创建材质matbpy.data.materials.new(MAT_Steel)mat.use_nodesTrue然后可以设置 Base Color、Metallic、Roughness、Alpha。十一、保存 blendbpy.ops.wm.save_as_mainfile(filepath/path/to/converter_master.blend)十二、建议避免过度依赖当前上下文大型脚本中不要到处依赖bpy.context.collection。更稳妥的方式是明确拿到目标 Collection再显式 link。十三、推荐构建顺序create_collections() create_controls() create_meshes() set_parent_relations() create_materials() set_visibility() validate_scene() save_blend()本篇的目标不是掌握整个 bpy而是理解 Python 可以直接创建和修改 Blender 场景。