Add 1f. Environment Textures for 3D Assets

Alexander Sellite 2026-07-26 15:22:49 +00:00
parent cd281961f3
commit 28152a16ec

@ -0,0 +1,223 @@
# Environment Textures for 3D Assets
This page covers 2D textures used on NETFISHING terrain, cliffs, paths, buildings, and other 3D environment assets.
Environment textures should support the low-poly forms rather than simulate realistic materials.
## Visual direction
Textures should be:
- Low resolution
- Palette limited
- Graphic
- Slightly irregular
- Easy to tile
- Readable from the gameplay camera
- Compatible with chunky low-poly geometry
The reference environment uses:
- Olive grass with large angular value patches
- Dark brown and reddish cliff faces
- Sparse irregular marks
- Denser patterning near some edges
- Little or no realistic surface detail
- Hard color transitions
- No photographic noise
## Texture role
A texture should add:
- Color variation
- Material identity
- Controlled pattern
- Directional interest
- Visual breakup on broad surfaces
It should not:
- Hide poor geometry
- Simulate every small bump
- Overpower the model silhouette
- Introduce realistic detail inconsistent with the world
- Create excessive visual noise
## Suggested sizes
Typical tile sizes:
- 64 × 64
- 128 × 128
- 256 × 256
Use the lowest resolution that supports the intended pattern.
Large terrain areas may still use a small repeating texture.
Do not default to 2048 × 2048 or 4096 × 4096 textures.
## Tiling
A tileable texture must repeat cleanly on all intended edges.
Check:
- Left to right
- Top to bottom
- Four-way repetition
- Large repeated surface
- Different UV scales
Avoid obvious single central features that create a visible grid when repeated.
Some repeated motifs are acceptable in a stylized game, but they should not dominate the scene.
## Pattern scale
Pattern elements should be large enough to remain visible but not so large that every repeated tile becomes obvious.
For grass:
- Use broad angular patches
- Use nearby olive and moss values
- Keep bright flowers or accents separate as props where possible
- Avoid drawing individual grass blades across the entire texture
For soil and cliffs:
- Use broad reddish-brown shapes
- Add sparse darker marks
- Use edge or base patterning deliberately
- Avoid realistic stone photographs
For paths:
- Use subtle value shifts
- Use broad directional shapes
- Avoid tiny pebbles everywhere
- Keep the route visually distinct from grass
For wood:
- Use a few broad grain marks
- Keep plank shape primarily in geometry
- Avoid dense realistic grain
For sand:
- Use warm tan values
- Add subtle large patches
- Avoid noisy individual grains
## Texture orientation
Some textures may require a clear orientation.
Examples:
- Cliff face
- Wood grain
- Water-edge staining
- Grass edge
- Roof shingles
The filename or documentation should indicate directional use.
## Transparency
Avoid transparency in ordinary opaque terrain textures.
Use transparency only for assets designed for it, such as:
- Foliage cards
- Certain decals
- Edge overlays
Transparent textures require careful Godot testing because they can affect sorting and performance.
## Mipmaps
Environment textures viewed in 3D may need mipmaps to reduce shimmer at distance.
Test both:
- Close gameplay view
- Distant camera view
- Oblique angles
- Camera movement
Pixel art with mipmaps may soften at distance, but disabling mipmaps can create severe shimmering. Choose the setting that looks best in motion.
UI icon import rules do not automatically apply to 3D environment textures.
## Filtering
Nearest-neighbor filtering preserves pixel structure but may shimmer on distant or angled 3D surfaces.
Possible approaches include:
- Nearest filtering with mipmaps
- Nearest filtering without mipmaps for small close objects
- Carefully tested linear filtering where the pixel structure still reads
- Shader-based pixel or palette treatment later
The issue should identify the intended material and viewing conditions.
Do not assume one import setting is correct for every 3D texture.
## UV guidance
Textures should be tested on actual or representative geometry.
Contributors should provide:
- Intended tile scale
- Example UV mapping
- Preview on a simple mesh
- Preview in Godot
Avoid stretching a square texture across a very long surface without appropriate UV repetition.
## Variants
A useful environment set may include:
- Base grass
- Dark grass
- Grass edge
- Soil
- Cliff
- Path
- Sand
- Wood
Do not create dozens of nearly identical variants without a clear use.
## Seam and repetition test
Before submission:
1. Tile the texture at least 4 × 4.
2. View it zoomed out.
3. Look for visible seams.
4. Look for repeated faces, symbols, or obvious central marks.
5. Test it on angled geometry.
6. Walk past it in Godot.
## Deliverables
Include:
- Editable source
- Exported PNG
- Native dimensions
- Palette
- Tiling status
- Intended material
- Recommended UV scale
- Import-setting notes
- Tiled preview
- Godot screenshot on representative geometry
- Related issue number