blender-export-pipelines について
Blenderアセットをゲームエンジン、Web形式、交換パイプライン向けに出力するスキルです。テスト済みのプリセット、形式別ガイド、事前チェックに加え、メッシュ、リグ、マテリアル、アニメーションの出力後検証を扱います。
主な機能
- 01エンジンや形式別のプリセット
- 02選択オブジェクトの一括エクスポート
- 03エクスポート前のアセットチェック
- 04メッシュ、リグ、マテリアル、アニメーションのガイド
- 05出力検証と再インポート確認
活用シーン
- 01UnrealやUnity向けのスケルタルアセット出力
- 02WebやGodot向けGLBアセットの準備
- 03複数オブジェクトの一括エクスポート
- 04出力後のスケールとアニメーション確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ el4cteo/ blender-skills --skill blender-export-pipelinesインストール後、Claude Code で/blender-export-pipelinesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/godot-web.mdroblox.mdunity.mdunreal.mdscripts/_bpyx.pyexport_asset.py詳細
エクスポートパイプライン
実行モデルは blender-core にあります。エクスポートする前に blender-asset-qa(予算の確認には blender-game-optimization も)を実行してください。
1 回の呼び出し
scripts/export_asset.py -- --preset unreal_skeletal --objects SK_Hero --out //export/SK_Hero.fbx
scripts/export_asset.py -- --preset web --collection Export --out //export/scene.glb
scripts/export_asset.py -- --preset unity --objects SM_A SM_B SM_C --batch --out //export/x.fbx # one file each, at origin
プリセット:roblox、roblox_gltf、unity、unity_skeletal、unreal、unreal_skeletal、godot、web、gltf、usd。--set key=value を使って、任意のエクスポーターのキーワード引数を渡せます。すべてのプリセットは、スケールを維持し、アーマチュアのスケールが 100 倍になるのを防ぐラウンドトリップテスト済みです。
エンジン別リファレンス(必要なものだけ読み込んでください)
- references/roblox.md:MeshParts、アバターボディ(R15)、アクセサリー、レイヤード衣装ケージ、SurfaceAppearance、制限
- references/unity.md:FBX 設定、Humanoid リグ、URP/HDRP マップ、アニメーションクリップ
- references/unreal.md:スタティック/スケルタル FBX、ルートボーン、コリジョン UCX、LOD、Nanite、ORM/DirectX
- references/godot-web.md:glTF/GLB、インポート接尾辞、three.js/Babylon、圧縮、KHR 拡張機能
共通のエクスポート前チェックリスト
- スケール:シーンの単位スケールは 1.0、オブジェクトのスケールは 1、回転は適用済みにします(意図的なオブジェクト変換を除く)。単位変換はプリセットが処理します。
- ピボット/原点:エンジンが期待する位置に設定します。プロップは底面中央、キャラクターは両足の間にあるワールド原点に置き、正面を -Y(Blender の前方)に向けます。各プリセットがエンジンの前方方向に変換します。
- モディファイアー:プリセットは評価済みメッシュをエクスポートします。Mirror、bevel、weighted normals は維持され、ブーリアンは実ジオメトリになります。
- 法線:カスタム法線/ウェイト付き法線がエクスポートされます。スムーズシェーディングを設定し、ハードエッジにはシャープのマークを付けます。
- 三角形化:FBX プリセットは
use_trianglesを使って三角形化するため、ベイクとエンジンのタンジェントが一致します。glTF は常に三角形化されます。 - マテリアル:画像テクスチャから Principled へのチェーンのみを使用し、名前は
M_*、テクスチャはT_*にします。プロシージャルノードはエクスポートされないため、先にベイクしてください。 - アーマチュア:変形ボーンのみを使用し、リーフボーンは使わず、レストポーズをバインドポーズにします。頂点あたりのウェイトは最大 4 つとし、ルートは原点に置きます。
- アニメーション:クリップごとにアクションを 1 つ作成し、
Rig_Clipという名前を付けます。制約/IK はキーにベイクします(blender-animation)。FBX はプリセット設定に応じてアクティブアクション/NLA アクションをエクスポートします。glTF のACTIONSモードは、アーマチュア用のスロットを持つすべてのアクションをエクスポートします。 - 命名:名前は一意の ASCII 文字列とし、スペースは使いません。エンジンは再インポート時に、名前をキーとしてマテリアル/メッシュを識別します。
形式の選択
| 用途 | 形式 |
|---|---|
| Unity、Unreal(スケルタル用途で最も安定) | FBX |
| Godot、Web、Roblox(サポートあり)、Unreal 5.x Interchange、Blender↔Blender | glTF 2.0(.glb) |
映画/VFX、Omniverse、Apple AR(.usdz)、レイアウト交換 | USD |
| プリント/CAD 用のスタティックジオメトリ | OBJ / STL(wm.obj_export、wm.stl_export) |
| ポイントキャッシュ/変形シミュレーション | Alembic(wm.alembic_export) |
エクスポート後の確認(必須)
- スクリプトは
ok、ファイルサイズ、さらに.glbの場合は解析済みの概要(メッシュ、マテリアル、画像、アニメーション、スキン、三角形数、拡張機能)を返します。想定した内容と比較してください。 - FBX/USD の場合:空のシーンに再インポートし(
import_scene.fbx/wm.usd_import)、dimensions、アーマチュアのスケール(100 ではなく 1 であること)、アクション数を確認します。 - エンジン内で確認する項目:参照モデルとのスケール比較(UE マネキン 180 cm、Unity カプセル 2 m、Roblox キャラクター 5 studs)、法線/スムージング、法線マップの緑チャンネル、アニメーションのルートモーション。
コレクションエクスポーター(ワンクリックで再エクスポート、4.2+)
blender-scene-setup を参照してください。collection.exporters はコレクションごとに形式と設定を保存し、bpy.ops.wm.collection_export_all() ですべてを再エクスポートできます。
注意点
- FBX の
use_tspaceは n ゴンではエラーなしに失敗します。最初に三角形化してください(プリセットでは実行されます)。 bake_space_transform(Apply Transform)は実験的な機能です。Unity の静的メッシュにのみ使用し、アーマチュアには決して使用しないでください。- glTF はスロット/NLA を通じてリンクされたアクションをエクスポートします。アーマチュア上にユーザーがいないアクションはスキップされます(
export_animation_modeのオプション:ACTIONS、ACTIVE_ACTIONS、NLA_TRACKS、SCENE、BROADCAST)。 - glTF では画像テクスチャに PNG/JPEG/WebP が必要です。EXR/TIFF は変換されます(
export_image_format)。 - リンクされたライブラリデータは問題なくエクスポートされますが、先に変更する必要がある場合はローカル化するか、オーバーライドしてください。
- シェイプキー:FBX はブレンドシェイプとして、glTF はモーフターゲットとしてエクスポートします(
export_morph)。Armature モディファイアーより前のモディファイアーは、FBX のシェイプキーのエクスポートを妨げることがあります(先に適用してください)。
コメント
Markdown 対応