SuperAPI AI 工具集

blender-3d-modeling

设计与创作

查看项目

更新于 10-15 16:49

技能介绍

用途:在 Blender 中通过 Python 脚本程序化创建 3D 几何体,适合从代码生成网格、构建参数化或程序化模型,而非手动建模。

主要能力:

  1. 从原始顶点与面数据构建网格,核心方法是 mesh.from_pydata(vertices, [], faces),构建后调用 mesh.update()。
  2. 使用 bmesh 进行高级网格编辑,如 extrude_face_region、translate、subdivide_edges 等操作,完成后调用 bm.to_mesh(obj.data)、bm.free() 与 obj.data.update()。
  3. 以代码添加并应用修改器,包括 Subdivision Surface、Mirror、Array、Boolean、Solidify、Bevel,并可通过 bpy.ops.object.modifier_apply 永久应用。
  4. 创建贝塞尔曲线与 NURBS 曲线,并通过 bevel_depth 生成管状几何。
  5. 程序化生成模式,如对象网格阵列、圆形阵列、基于高度图的地形。
  6. 为面分配材质,通过 poly.material_index 按面指定材质索引。

使用方式:新建对象后需用 bpy.context.collection.objects.link(obj) 链接到集合,否则不会出现在场景中。简单静态网格用 from_pydata,需要挤压、细分或逐面操作时用 bmesh。

限制与注意:Blender 使用 Z-up 坐标系,从 Y-up 系统导入时需注意。大量面(如 1 万面以上)时优先用 bmesh,避免反复调用 bpy.ops,因为操作符每次调用都有开销。先用小规模数据测试脚本再放大,100x100 网格再加细分修改器可能导致 Blender 卡死。平滑着色可用 bpy.ops.object.shade_smooth() 或设置 polygon.use_smooth = True。资料未提供收费、平台与效果等信息。