model-pipeline · diff
git:20260912.6a4e943 to git:20260913.1acd634
13 added, 11 removed. Audit A to A.
---
name: model-pipeline
- description: Generic 3D model contract for games — units, origin, collision vs render, export. Use before rigging or dropping a mesh in-engine.
+ description: Use when 3D assets need consistent source units, origins, collision proxies, transforms, sockets, export rules, or engine-ready validation.
---
# Model pipeline
- 1. 1 unit = 1 meter. Origin at the feet (characters) or bounds center (props).
- 2. Apply / freeze transforms before export. Do not fix scale in the game loop.
- 3. Render mesh ≠ collision mesh. Collision is hulls / capsules / simplified tris.
- 4. Joint loops at bend points if the mesh will deform.
- 5. Export glTF with extras you actually read. AI-generated meshes are retopo'd before bind.
- 6. Name sockets (hand_r, weapon, camera_pivot) in the file, not in tribal knowledge.
- 7. Layout data is shared by render and collision. Do not author two mismatched floors.
- 8. Do not static-batch a skinned or socketed node. Attach sockets survive optimize.
- 9. After texture compress, re-check pose and collision. A cheaper map that moves a foot is a failed export.
+ 1. Publish the source/interchange unit and axis convention. For glTF, author physical scale in meters; an engine adapter may convert once at import. Do not repair scale continuously in the game loop.
+ 2. Characters use a documented ground/contact origin; props use a documented pivot appropriate to placement. Do not assume every runtime uses the same up axis or engine unit.
+ 3. Apply/freeze authoring transforms before export when the format/workflow requires it, while preserving skin and animation transforms.
+ 4. Render mesh ≠ collision mesh. Collision uses explicit hulls, capsules or simplified meshes appropriate to the target physics system.
+ 5. Deforming meshes keep topology needed for the required poses; AI-generated meshes are cleaned/retopologized when deformation, UV, shading or performance evidence requires it.
+ 6. Export only metadata/extras that a consumer actually reads. Name required sockets/attachment points in the asset contract rather than tribal knowledge.
+ 7. Shared layout measurements drive both render and collision. Do not author two mismatched floors or two incompatible scales.
+ 8. Optimization must preserve skinned nodes, sockets, morphs and required animation data. Do not merge/batch nodes whose runtime identity is required.
+ 9. After texture/mesh compression or LOD processing, re-check silhouette, pose, socket positions, bounds and collision.
- Accept: dropping the file into any adapter leaves the character standing on y=0 at human scale. A weapon still finds its socket.
+ ## Accept
+
+ Import the asset into the selected adapter with exactly one documented unit/axis conversion. The character or prop lands at the intended physical scale and contact plane, required sockets still resolve, animation/morph data survives, and collision overlays the render body within the project tolerance. Re-export/reimport must not accumulate rotation or scale corrections.