Add Terrain and Water
parent
ce15c42a3e
commit
89daa7fc47
1 changed files with 147 additions and 0 deletions
147
Terrain-and-Water.md
Normal file
147
Terrain-and-Water.md
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
# Terrain and Water
|
||||
|
||||
This page defines how contributors should build terrain and shorelines for NETFISHING.
|
||||
|
||||
## Do not create one giant island mesh
|
||||
|
||||
The complete world should not be one enormous Blender mesh.
|
||||
|
||||
Prefer one terrain mesh per major region:
|
||||
|
||||
- Village
|
||||
- Starter Pond
|
||||
- River
|
||||
- Lake
|
||||
- Marsh
|
||||
- Coast
|
||||
|
||||
This allows each region to be:
|
||||
|
||||
- Replaced independently
|
||||
- Edited without exporting the whole world
|
||||
- Assigned separate collision
|
||||
- Worked on by different contributors
|
||||
- Rearranged in Godot
|
||||
|
||||
## What terrain may include
|
||||
|
||||
A regional terrain mesh may include:
|
||||
|
||||
- Broad land shape
|
||||
- Shoreline
|
||||
- Hills
|
||||
- Slopes
|
||||
- Main path shape
|
||||
- Pond or lake basin
|
||||
- Underwater slopes
|
||||
- Visible seabed
|
||||
|
||||
Terrain should not include:
|
||||
|
||||
- Water surfaces
|
||||
- Docks
|
||||
- Bridges
|
||||
- Trees
|
||||
- Rocks
|
||||
- Buildings
|
||||
- Signs
|
||||
- Fishable-water areas
|
||||
- Recovery triggers
|
||||
- Safe respawn points
|
||||
- Interaction areas
|
||||
|
||||
Those remain separate in Godot or separate reusable assets.
|
||||
|
||||
## Water ownership
|
||||
|
||||
Blender owns:
|
||||
|
||||
- Shoreline shape
|
||||
- Bank shape
|
||||
- Underwater slopes
|
||||
- Beaches
|
||||
- Visible seabed
|
||||
- Water-body openings
|
||||
|
||||
Godot owns:
|
||||
|
||||
- Water surface
|
||||
- Water shader or material
|
||||
- Fishable-water volume
|
||||
- Recovery trigger
|
||||
- Water animation
|
||||
- Gameplay behavior
|
||||
|
||||
Do not export primary playable water as part of the terrain GLB.
|
||||
|
||||
## Water reference plane
|
||||
|
||||
A temporary reference plane may be used in Blender.
|
||||
|
||||
Recommended name:
|
||||
|
||||
REF_WaterLevel
|
||||
|
||||
Exclude it from the final export.
|
||||
|
||||
Suggested local vertical reference:
|
||||
|
||||
Land walking surface: Z = 0
|
||||
Water reference: Z = 0.1 to 0.2
|
||||
Shallow shoreline shelf: Z = -0.3 to -1
|
||||
Main seabed: Z = -4 to -6
|
||||
|
||||
Do not place a flat solid slab immediately beneath the water surface.
|
||||
|
||||
## Region origins
|
||||
|
||||
Model regional terrain around a predictable local origin.
|
||||
|
||||
Recommended convention:
|
||||
|
||||
- Region center near `0,0,0`
|
||||
- Ground near `Z = 0`
|
||||
- Water reference near `Z = 0.2`
|
||||
- Seabed between `Z = -4` and `Z = -6`
|
||||
|
||||
Godot places the region at its final world position.
|
||||
|
||||
Do not bake the complete world’s Godot coordinates into every regional Blender file.
|
||||
|
||||
## Terrain collision
|
||||
|
||||
Terrain collision should be simpler than the visual mesh.
|
||||
|
||||
A terrain Blender file may contain:
|
||||
|
||||
- `StarterPondTerrain_Visual`
|
||||
- `StarterPondTerrain_Collision`
|
||||
|
||||
The collision mesh should:
|
||||
|
||||
- Remove small bumps
|
||||
- Remove decorative details
|
||||
- Use broad slopes
|
||||
- Avoid tiny holes
|
||||
- Avoid narrow triangles
|
||||
- Avoid invisible lips
|
||||
- Follow the visible shoreline reasonably closely
|
||||
|
||||
Do not use detailed terrain geometry directly as collision without testing it in Godot.
|
||||
|
||||
## Region composition in Godot
|
||||
|
||||
A region will typically contain:
|
||||
|
||||
StarterPondRegion
|
||||
├── TerrainVisual
|
||||
├── TerrainCollision
|
||||
├── Water
|
||||
├── FishingRegion
|
||||
├── WaterRecovery
|
||||
├── SafeRespawns
|
||||
└── Props
|
||||
|
||||
Contributors normally provide visual models and requested collision.
|
||||
|
||||
Gameplay nodes are configured in Godot.
|
||||
Loading…
Add table
Add a link
Reference in a new issue