4.1 KiB
Ground Zero MVP Natural Environment Pass
The Ground Zero map now has a first MVP natural environment pass so the investor demo reads as coastal California scrub/woodland instead of a plain grey-box test space.
Scope
- Terrain receives a procedural coastal scrub terrain material that blends dry soil, scrub green, and sandy path color families with broad and fine noise so Ground Zero does not read as flat tan placeholder ground.
- Foliage patch instances use native low-poly coastal scrub vegetation meshes
under
/Game/Agrarian/Environment/Vegetation: a coastal oak proxy, coyote brush proxy, and dry grass clump proxy. The foliage materials include per-instance color variation so repeated instances do not read as copied engine primitives. - Wood, fiber, stone, and freshwater actors receive distinct first-pass materials.
- Investor-facing asset variation actors add additional tree canopies/trunks, rounded bushes, brush clusters, grass mats, rock slabs, water-bank pieces, reeds, and a visible freshwater surface with varied meshes, scales, rotations, and material families.
- A first-pass ruin landmark placeholder gives the Ground Zero demo a visible point of interest using five native placeholder stone pieces: foundation, wall fragments, a cairn marker, and a threshold.
- The foliage and asset variation layers now use Agrarian-native placeholder
mesh assets from
/Game/Agrarian/Environment/PlaceholderMeshesinstead of directLevelPrototypingmesh references. - The setup remains repeatable through
Scripts/setup_ground_zero_demo_map.py.
Placeholder Mesh Assets
/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cube/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_ChamferCube/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cylinder/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_QuarterCylinder/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Plane
Material Assets
/Game/Agrarian/Materials/M_AGR_GZ_Terrain_CoastalScrub/Game/Agrarian/Materials/M_AGR_GZ_Tree_CoastalOak/Game/Agrarian/Materials/M_AGR_GZ_Shrub_CoyoteBrush/Game/Agrarian/Materials/M_AGR_GZ_Grass_DryCoastal/Game/Agrarian/Materials/M_AGR_GZ_Wood_Resource/Game/Agrarian/Materials/M_AGR_GZ_Fiber_Resource/Game/Agrarian/Materials/M_AGR_GZ_EdiblePlant_Resource/Game/Agrarian/Materials/M_AGR_GZ_Stone_Sandstone/Game/Agrarian/Materials/M_AGR_GZ_FreshWater
Validation
Scripts/verify_ground_zero_natural_environment_pass.py checks that the
materials exist, the landscape uses the terrain material, the foliage actor has
the expected investor-facing instance counts and material assignments, and
resource/water actors are visually dressed. It also checks that foliage no
longer points at /Engine/BasicShapes or template meshes, that the three
coastal-scrub vegetation assets are assigned, and that tree, shrub, and grass
components have explicit cull distances for performance. It also checks that the terrain
material contains procedural color breakup rather than a flat constant color:
noise, blend, and coastal-scrub color-vector expression families must be present
in the saved material package. It also checks the asset variation
layer: twenty-three labeled variation actors, at least four mesh silhouettes,
unique scale profiles, and coverage across tree, bush, grass, rock, and water
visual families. Scripts/verify_native_placeholder_meshes.py checks that playable
resource/structure/water Blueprints, foliage components, and environment
variation actors use Agrarian-native placeholder meshes rather than template
mesh paths. Scripts/verify_ground_zero_landmark_placeholder.py checks the
ruin landmark placeholder actor count, native mesh paths, stone material
assignment, distinct placement, and roadmap/doc coverage.
Follow-Up
This pass deliberately keeps the current prototype geometry so it stays small and stable. Later environment work should replace the Agrarian-native placeholder silhouettes with region-appropriate sourced or custom meshes, then drive density and shape selection from land-cover, slope, hydrography, and biome data.