Model Files
Gitlantis uses GLB (GL Transmission Format Binary) models for 3D objects. All models are stored in the/public/models/ directory.
Boat Model
Location:/public/models/boat/boat.glb
Description: The player’s boat with multiple customizable parts.
Model Structure:
Object_2- WallsObject_3- Floaters (pontoons)Object_5- HullObject_9- Miscellaneous partsObject_10- RoofObject_12- RailsObject_15- Body
- Walls color
- Floaters color
- Hull color
- Roof color
- Rails color
- Body color
- Normal view:
0.03 - Minimap fullscreen:
0.06
src/browser/components/world/boat/index.tsx:16
File Model
Location:/public/models/file/file.glb
Description: Represents a file in the 3D world.
Default Scale:
- Normal view:
27 - Minimap fullscreen:
30
- Y offset (normal):
13 - Y offset (minimap):
20
- Single mesh object
- Appears as a document/paper icon
- Includes collision detection
- Rotates to face the boat
- Floating animation with sine wave
Folder Model
Location:/public/models/folder/folder.glb
Description: Represents a folder/directory in the 3D world.
Default Scale:
- Normal view:
7 - Minimap fullscreen:
9
- Y offset:
2.5
- Single mesh object
- Appears as a folder icon
- Larger than file models
- Includes collision detection
- Rotates to face the boat
- Floating animation with sine wave
Birds Model
Location:/public/models/birds/birds.glb
Description: Decorative birds for the sky (if implemented).
Features:
- Ambient decoration
- May include animation
Model Loading
All models are loaded using@react-three/drei’s useGLTF hook.
Browser vs Extension Environment
When running in the browser (demo mode), models are loaded from CloudFront:Model Optimization
Instancing
Files and folders use instancing for performance:Geometry Sharing
The ocean uses shared geometry for all tiles:Texture Assets
Water Normals
Location: Referenced byOCEAN_MODEL_PATH config
Description: Normal map texture for water surface.
Features:
- Repeating wrapping mode (
RepeatWrapping) - Used by Water material shader
- Animated over time for wave effect
src/browser/hooks/useOcean/regen/index.ts:17
Model File Formats
All 3D models use the GLB format (Binary glTF). Advantages of GLB:- Single file containing geometry, materials, textures
- Efficient binary format
- Standard format for web 3D
- Supported by Three.js and React Three Fiber
Adding Custom Models
- Export your model as GLB from Blender, Maya, or other 3D software
- Place the
.glbfile in/public/models/[model-name]/ - Add a constant to
src/browser/config/index.ts: - Load using
useGLTF: - Render in your component: