multiview-fit-loop について
multiview-fit-loopは、テンプレートや原図に合わせて3Dモデルをレンダリング、比較、調整する反復型のスキルです。各ビューの輪郭やバウンディングボックスの差を測定し、制約間の矛盾も確認します。
主な機能
- 01各ビューのフラットな輪郭をレンダリング
- 02テンプレートのオブジェクトマスク抽出
- 03境界、重心、輪郭の比較
- 04モデルを調整して再レンダリング
- 05ビュー制約の整合性確認
活用シーン
- 01正投影テンプレートへのモデル適合度を改善
- 02ビュー間のサイズや中心のずれを特定
- 03矛盾するテンプレート制約に対応
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ roble3/ cc-blender-skill --skill multiview-fit-loopインストール後、Claude Code で/multiview-fit-loopを入力して読み込まれたか確認します。
同梱ファイルscripts/multiview_fit_report.py
詳細
マルチビュー適合ループ
このスキルは、不足しているループである レンダリング → 比較 → 調整 → 再レンダリング を完結させます。ユーザーがモデルはまだテンプレート/元画像に合っていないと言った場合、必ずこのループを実施してください。
必須ループ
- 利用可能な各テンプレートビュー(正面、側面、背面、上面)について、マテリアルに依存しない平坦なシルエットをレンダリングします。
- ラベル、シアンのガイド、背景を除外して、テンプレートオブジェクトのマスクを抽出します。
- ビューごとにテンプレートとレンダリング結果を比較します。
- バウンディングボックスの中心とサイズ
- 重心のずれ
- モダリティが有効な場合のシルエットのカバレッジ/IoU
- 視覚的なオーバーレイ
- 測定した差分を、モデル/カメラ/レシピの調整に反映します。
- モデルを再構築または変換します。
- すべてのハードゲートに合格するまで、または残る矛盾を記録するまで繰り返します。
制約の不整合ゲート
調整を強行する前に、指定された正投影テンプレート同士に矛盾がないか確認します。たとえば、側面図では全体の奥行きが高さの0.39倍、上面図では奥行きが幅の0.98倍と示されている場合、単一の剛体3Dモデルで矛盾する物理的な比率を同時に満たすことはできません。このような場合は、最終的に適合したと主張するのをやめ、矛盾レポートを作成し、個別のバリエーションを作るか、どのビューを正とするか確認してください。
ハードゲート
- すべての必須ビューに検証レポートとオーバーレイがあること。
- バウンディングボックス中心のずれが画像幅の1.5%以下であること。
- バウンディングボックスサイズのずれが、正面では3%以下、側面/上面/背面の初回奥行きでは5%以下であること。
- 構造パーツの数が正確であること。
- ジオメトリの変更後もテクスチャのUV領域が有効であること。
ビューマスクのルール
注釈付きワイヤーフレームでは、意図した構造/オブジェクトの線だけを分離し、ガイドカラー、ラベル、キャプション、背景の注釈を除外するテンプレートマスクモードを選択してください。Blender の検証レンダリングでは、グローやコンテキスト要素を含むビューティーレンダーではなく、黒地に白の平坦なシルエットを使用してください。
スクリプト
scripts/multiview_fit_report.pyはビューのペアを比較し、JSON とオーバーレイを書き出します。
調整ルール
カメラのスケールで見かけを調整するより、レシピのパラメーターまたはソースジオメトリの変更を優先してください。カメラのスケールを使用できるのは、モデルの寸法が正しい場合に限られます。