尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

10 Python bpy 控制 Blender 快速入门

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 场景。
返回列表