mcpField
C
calibrate-model

calibrate-model

github.com/playcanvas開発31309 回インストール1 週間前に更新
リポジトリ

calibrate-model について

アプリ内で GLB モデルを一貫して配置するためのキャリブレーションスキルです。アセットごとに計測した境界、目標サイズ、スケール、位置、向きを記録し、アニメーションモデルや支持点の扱いも示します。

主な機能

  1. 01GLB を一度ずつ計測
  2. 02アセットごとの調整値を記録
  3. 03スケールと垂直オフセットを算出
  4. 04アプリ内で向きを確認
  5. 05ルート、ヨー、表示変換をネスト
  6. 06アニメーション中の接触を確認

活用シーン

  1. 01実寸または相対寸法に合わせたモデル調整
  2. 02計測済みの支持点にモデルを一貫して配置

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/playcanvas/skills --skill calibrate-model

インストール後、Claude Code で/calibrate-modelを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
direct-engine.md
react.md
web-components.md

詳細

モデルのキャリブレーション

inspect-glb で固有の各 GLB を一度だけ測定し、boundsSource が vertices の場合に限りバウンディングボックスを信頼して、アセットごとに調整記録を 1 つ保持します。

const ASSET_TUNING = {
    model: {
        boundsSource: 'vertices', dims: [8, 7, 18], center: [0, 2.5, 0], groundOffset: 1,
        intended: { dimension: 'length', size: 18 }, scale: 1, y: 1, yaw: 180
    }
} as const;
  1. モデルの実寸を定義する寸法を選びます。単位はメートル、またはキャリブレーション済みのモデルに対する相対値とします。
  2. scale = intendedSize / measuredDimension を設定します。床に置くモデルでは、y = groundOffset * scale とします。床に接地させないモデルには、意図的なオフセットを記録します。
  3. 起動中のアプリで向きを一度確認し、yaw を記録します。

3 階層にネストし、どのアセットでもルート位置が同じ意味になるようにします。セマンティックルート、ヨー回転のラッパー、次にスケールとローカル位置 (-center.x * scale, y, -center.z * scale) を設定したビジュアル子要素の順にします。キャリブレーションは一度だけ適用し、インスタンスごとには適用しないでください。

ルートは、グローバルな AABB の最大値ではなく、マウントポイントやレイキャストなど、測定された支持点に配置します。スキン付きモデルのバウンディングボックスはバインドポーズの推定値です。アニメーション中のポーズで接地を確認してください。

コードに対応するリファレンスだけを参照してください。直接 Engine を使う場合、React、または Web Components。

コメント