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