mcpField
3
3d-modeling

3d-modeling

github.com/alphaonedev创意与媒体138 次安装
代码仓库

关于 3d-modeling

3d-modeling 是一项面向 AR/VR 工作流的 Blender 技能,用于创建、编辑和优化 3D 资源。它通过 Blender Python API 和命令行处理建模、材质、渲染与导出。

主要功能

  1. 01使用 Blender Python API 创建和编辑网格
  2. 02应用材质与纹理
  3. 03渲染场景并导出 GLTF
  4. 04通过命令行自动批量处理

适用场景

  1. 01为 AR/VR 原型制作自定义对象
  2. 02精简 VR 模型的多边形
  3. 03为 Unity 或 Unreal 导出资源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill 3d-modeling

安装后在 Claude Code 中输入/3d-modeling确认已加载。

详细介绍

3D 建模

用途

此技能提供使用 Blender 创建、编辑和优化 3D 模型的工具,专为 AR/VR 应用量身打造。它侧重于生成网格和纹理等资产,使其能够无缝集成到虚拟环境中。

适用场景

在开发需要自定义 3D 模型的 AR/VR 原型时使用此技能,例如为 VR 模拟设计交互式对象,或在 AR 场景中叠加数字资产。适用于涉及资产创建、修改或导出到 Unity 或 Oculus 等平台的工作流。

主要功能

  • 使用 Blender 的 Python API 创建和操作 3D 网格,例如,通过 bpy.ops.mesh.primitive_cube_add() 生成立方体。
  • 应用材质和纹理,打造逼真的 AR/VR 效果,例如,使用 bpy.data.materials.new() 添加着色器。
  • 渲染针对 AR/VR 优化的场景,包括通过 bpy.ops.export_scene.gltf() 导出为嵌入纹理的 GLTF 格式。
  • 通过 CLI 执行批量操作以实现自动化,例如处理多个文件。
  • 通过导出支持实时渲染的模型与 AR/VR 工具集成,例如适用于移动 VR 的低多边形网格。

使用模式

遵循以下模式可有效利用此技能。始终在安装了 Python 3.7+ 的兼容环境中运行 Blender。

  1. 创建基础模型: 从命令行启动 Blender 并编写脚本来创建简单对象。可用于快速制作 AR 原型。

    • 示例:创建立方体并将其导出为 GLTF,以便集成到 AR 中。
      import bpy
      bpy.ops.mesh.primitive_cube_add(size=2, location=(0,0,0))
      bpy.ops.export_scene.gltf(filepath="cube.gltf")
      
  2. 编辑 VR 模型: 导入现有模型,进行修改并优化,以提升 VR 性能。

    • 示例:加载网格、减少多边形数量,并导出以兼容 VR 头显。
      import bpy
      bpy.ops.import_scene.obj(filepath="model.obj")
      bpy.ops.object.modifier_add(type='DECIMATE')
      bpy.ops.export_scene.gltf(filepath="optimized_model.gltf", export_format='GLTF_SEPARATE')
      

对于复杂任务,可将这些操作封装到脚本中,并通过 Blender 的 CLI 运行,以自动化 AR/VR 资产管线。

常用命令/API

使用 Blender 的 CLI 和 Python API 执行核心操作。指定准确的标志以提高效率。

  • CLI 命令: 在后台模式下运行脚本。

    • blender --background input.blend --python script.py --render-output output.png:加载文件、运行脚本,并渲染图像以用于 AR 预览。
    • blender -b file.blend -P script.py -F PNG -o //render_:对 blend 文件执行脚本并输出渲染结果;使用 -F 指定格式,例如用 PNG 制作 VR 缩略图。
  • Python API 代码片段: 在 Blender 脚本中通过 bpy 模块访问。

    • 添加材质的代码片段:
      mat = bpy.data.materials.new("AR_Material")
      mat.diffuse_color = (1, 0, 0, 1)  # Red color for AR visibility
      
    • 操作网格的代码片段:
      obj = bpy.context.active_object
      obj.scale = (1.5, 1.5, 1.5)  # Scale object for VR fitting
      

配置格式:在 Blender 文件(.blend)中使用类似 JSON 的结构设置自定义属性,例如,通过 bpy.types.Scene.my_prop = "value" 添加。导出时,在脚本中指定 GLTF 选项,例如使用 export_extras=True 添加元数据。

集成说明

通过以兼容格式导出模型,将此技能集成到 AR/VR 框架中。对于外部服务(例如云渲染),请使用环境变量进行身份验证,例如在访问付费 API 时使用 $BLENDER_API_KEY,不过 Blender 本身是在本地运行的。使用模式:在脚本中设置 export os.environ['BLENDER_API_KEY'] = 'your_key',然后再调用 API。如果使用外部编辑器,请确保通过 pip install bpy 安装 bpy 等 Python 包。对于 AR/VR 平台,可将 GLTF 文件直接导入 Unity 或 Unreal,并匹配坐标系(例如 Blender 使用 Z 轴向上)。

错误处理

预判并处理脚本中的错误,以保持 AR/VR 工作流的可靠性。导入前检查文件是否存在:使用 if not bpy.data.filepath: raise ValueError("File not found")。对于 API 故障(例如导出失败),请捕获异常:

try:
    bpy.ops.export_scene.gltf(filepath="output.gltf")
except RuntimeError as e:
    print(f"Export failed: {e}")  # Log and retry or fallback

常见问题:路径无效(使用绝对路径)、大型模型导致内存错误(先使用 decimate modifier 进行优化),或版本不匹配(确保使用 Blender 2.8+)。始终在非破坏性环境中测试脚本。

图关系

  • 所属集群:ar-vr
  • 相关标签:3d-modeling、blender、ar-vr
  • 关联技能:rendering(用于 AR/VR 资源的后期处理)、mesh-optimization(用于提升 VR 性能)

评论

支持 Markdown