3d-modeling について
3d-modelingは、AR/VR向けアセットの作成、編集、最適化を行うBlender用スキルです。BlenderのPython APIとコマンドラインで、モデリング、マテリアル設定、レンダリング、書き出しを自動化します。
主な機能
- 01BlenderのPython APIでメッシュを作成・編集
- 02マテリアルとテクスチャの適用
- 03シーンのレンダリングとGLTF書き出し
- 04コマンドラインによる一括処理
活用シーン
- 01AR/VRプロトタイプ用オブジェクトの作成
- 02VRモデルのポリゴン数削減
- 03Unityまたは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()で立方体を生成できます。 bpy.data.materials.new()を使用してシェーダーを追加するなど、AR/VR のリアリティを高めるマテリアルやテクスチャを適用します。- テクスチャを埋め込んだ GLTF 形式への
bpy.ops.export_scene.gltf()によるエクスポートなど、AR/VR 向けに最適化したシーンをレンダリングします。 - 複数のファイルを処理するなど、CLI を介した一括操作を自動化のために実行します。
- モバイル VR 向けのローポリメッシュなど、リアルタイムレンダリングに対応したモデルをエクスポートして AR/VR ツールと連携します。
使用パターン
このスキルを効果的に活用するには、次のパターンに従ってください。Python 3.7+ がインストールされた互換性のある環境で、必ず Blender を実行してください。
-
基本的なモデルの作成: まず、コマンドラインから Blender を起動し、簡単なオブジェクトをスクリプトで作成します。手早く AR プロトタイプを作成する際に使用します。
- 例:立方体を作成し、AR 連携用に GLTF としてエクスポートします。
import bpy bpy.ops.mesh.primitive_cube_add(size=2, location=(0,0,0)) bpy.ops.export_scene.gltf(filepath="cube.gltf")
- 例:立方体を作成し、AR 連携用に GLTF としてエクスポートします。
-
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 ファイルに対してスクリプトを実行し、レンダリング結果を出力します。VR サムネイルなどの形式には-Fを使用して PNG などを指定します。
-
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" で追加できます。エクスポート時には、メタデータ用の export_extras=True など、スクリプトで GLTF オプションを指定してください。
連携に関する注意事項
モデルを互換性のある形式でエクスポートし、このスキルを AR/VR フレームワークと連携させます。外部サービス(クラウドレンダリングなど)では、認証に環境変数を使用してください。たとえば、有料 API にアクセスする場合は $BLENDER_API_KEY を使用できますが、Blender 自体はローカルで動作します。API 呼び出しの前にスクリプトで export os.environ['BLENDER_API_KEY'] = 'your_key' を設定するパターンを使用してください。外部エディターを使用する場合は、pip install bpy などを使って bpy などの Python パッケージをインストールし、依存関係が揃っていることを確認してください。AR/VR プラットフォームでは、座標系(Blender の Z アップなど)を合わせたうえで、GLTF ファイルを Unity または Unreal に直接インポートします。
エラー処理
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
よくある問題:無効なパス(絶対パスを使用してください)、大きなモデルでのメモリエラー(最初にデシメートモディファイアーを使って最適化してください)、バージョンの不一致(Blender 2.8 以降であることを確認してください)。スクリプトは必ず非破壊的な環境でテストしてください。
グラフの関係
- 属するクラスター:ar-vr
- 関連タグ:3d-modeling、blender、ar-vr
- 関連スキル:レンダリング(AR/VR アセットの後処理用)、メッシュ最適化(VR のパフォーマンス向上用)