关于 3d-modeling
3d-modeling 是一项面向 AR/VR 工作流的 Blender 技能,用于创建、编辑和优化 3D 资源。它通过 Blender Python API 和命令行处理建模、材质、渲染与导出。
主要功能
- 01使用 Blender Python API 创建和编辑网格
- 02应用材质与纹理
- 03渲染场景并导出 GLTF
- 04通过命令行自动批量处理
适用场景
- 01为 AR/VR 原型制作自定义对象
- 02精简 VR 模型的多边形
- 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。
-
创建基础模型: 从命令行启动 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")
- 示例:创建立方体并将其导出为 GLTF,以便集成到 AR 中。
-
编辑 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')
- 示例:加载网格、减少多边形数量,并导出以兼容 VR 头显。
对于复杂任务,可将这些操作封装到脚本中,并通过 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 性能)