← ClaudeAtlas

calibrate-modellisted

Use before repeatedly placing GLB models in PlayCanvas Engine, React, or Web Components to measure each asset once and record its uniform scale, grounding offset, and yaw correction in a stable nested transform.
playcanvas/skills · ★ 15 · AI & Automation · score 80
Install: claude install-skill playcanvas/skills
# Model calibration Use the `inspect-glb` skill to measure every unique GLB before mass placement. Rely on `dims` and `groundOffset` for contact-accurate placement only when it reports `boundsSource: vertices`. Store one tuning record per asset: ```ts const ASSET_TUNING = { model: { boundsSource: 'vertices', aabb: { min: [-4, -1, -9], max: [4, 6, 9] }, dims: [8, 7, 18], center: [0, 2.5, 0], groundOffset: 1, intended: { dimension: 'length', size: 18 }, scale: 0.9, y: 0.9, yaw: 180 } } as const; ``` ## Calculate the record 1. Pick and record the intended dimension and size: character height, building footprint, or vehicle length. Base it on world units or an already calibrated reference model. 2. Calculate `scale = intendedSize / measuredDimension`. 3. For a floor-resting model, calculate `y = groundOffset * scale`. Record a deliberate offset for waterlines, embedded objects, or airborne models. 4. Confirm directional facing once in the running app, as the `apply-conventions` skill describes. PlayCanvas entities face -Z while glTF convention is +Z, but asset packs vary. 5. Retain `boundsSource`, `aabb`, `dims`, `center`, `groundOffset`, and the intended size with `{ scale, y, yaw }`. Use the scaled footprint and centre for initial spacing; do not re-derive or add per-instance nudges. Keep gameplay position and heading on an outer semantic root, and seat the model on one predictab