diff --git a/7.-Collision-and-GLB-Export.md b/7.-Collision-and-GLB-Export.md new file mode 100644 index 0000000..466c195 --- /dev/null +++ b/7.-Collision-and-GLB-Export.md @@ -0,0 +1,101 @@ +# Collision and GLB Export + +This page defines collision and export requirements for NETFISHING assets. + +## Collision policy + +Do not include collision unless the related issue requests it. + +When collision is required, use a separate simplified object. + +Naming: + +- `AssetName_Visual` +- `AssetName_Collision` + +## Collision guidelines + +Collision should: + +- Be simpler than the visual model +- Remove small details +- Use broad surfaces +- Avoid narrow triangles +- Avoid small holes +- Avoid invisible ledges +- Match the visible shape closely enough for gameplay + +Suggested collision approaches: + +| Asset | Suggested collision | +|---|---| +| Tree | Cylinder or capsule | +| Small rock | Convex | +| Large rock | Simplified convex mesh | +| Building | Boxes around walls and footprint | +| Dock | Box collision | +| Bench | Simple box | +| Reeds | None | +| Grass | None | +| Mushroom | None | +| Terrain | Simplified terrain collision mesh | + +Do not use detailed trimesh collision for every prop. + +## Export format + +Export models as: + + glTF Binary (.glb) + +Recommended settings: + +- Format: `glTF Binary (.glb)` +- Include: `Selected Objects` +- Apply Modifiers: enabled +- Export scale: `1.0` +- Materials: enabled +- Cameras: disabled +- Lights: disabled +- Animations: enabled only when requested + +## Before export + +Confirm: + +- Only intended objects are selected +- Reference objects are excluded +- Rotation is applied +- Scale is applied +- Object scale is `1,1,1` +- Normals face outward +- Origins are intentional +- Names are descriptive +- No cameras are included +- No lights are included +- No missing textures exist + +Apply rotation and scale using: + + Ctrl+A → Rotation & Scale + +## Godot import validation + +After export, test the GLB in Godot. + +Confirm: + +- It imports without errors +- It appears at the expected scale +- The root scale remains `1,1,1` +- Materials render correctly +- Shading is correct +- Normals are correct +- Origins behave correctly +- Collision behaves as requested +- No unwanted cameras appear +- No unwanted lights appear +- No unexpected animations appear +- No external files are missing + +Always inspect the model from the actual gameplay camera distance. \ No newline at end of file