Regional vegetation production
Five independent vegetation families are prepared from original Blender geometry and verified CC0 source files. They are separate from the Alpine environment implementation and do not edit chapter placement. Integration entry point: RegionalVegetation.Place(parent, family, localPosition, yaw, uniformScale).
| Family | LOD0 triangles | LOD1 triangles | LOD2 triangles | Intended use |
|---|---|---|---|---|
| CoastalPalm | 940 | 940 | 516 | Upright coastal palm, normalized to 12 m |
| CoastalPalmBent | 940 | 940 | 517 | Curved coastal palm, normalized to 12 m |
| DatePalm | 1,928 | 1,928 | 1,434 | Original thicker-stem, denser-crown Nile adaptation |
| Cypress | 18,454 | 6,516 | 2,056 | Original 12 m narrow evergreen with modelled scale sprays |
| TropicalTree | 17,843 | 7,284 | 2,071 | Approximately 5 m scanned root/branch tree, retained natural proportions |
The inexpensive palm source retains its full silhouette at the first two distances; the final level reduces geometry. These are five reusable families, not five botanically certified species. The date palm is an original silhouette adaptation using coastal frond artwork. The tropical asset provides small-tree and lower-canopy stock; it does not claim to replace every large jungle tree. The cypress uses original geometry and colour, with licensed bark detail, and has no opaque conical crown or borrowed fir-needle alpha.
Tools/Art/prepare_regional_vegetation.py stages exports and materials under ArtSource/RegionalVegetation. The editable RegionalVegetation.blend keeps source-space models, each LOD, documented materials and a common CPU preview camera. Exports/ contains static FBXs with metre units, Y-up conversion for Unity and semantic material names. Textures/ holds source-byte copies and one explicitly recorded colour/alpha channel combination.
The final publishing pass is separate: python Tools/Art/prepare_regional_vegetation.py --publish. It verifies staged FBX hashes before copying them to Resources and emits Docs/regional-vegetation-build.json. Texture import metadata enables mipmaps and alpha coverage, gives normal maps a linear normal import, and preserves repeat UVs required by the palm's trunk atlas. No normal/specular map is incorrectly packed as a metallic map.
The runtime helper shares Mesh and Material instances, validates every required LOD before creating an object, assigns a single semantic material per mesh, and creates a LODGroup with authored levels. It adds no new collision surface. Foliage uses alpha clipping and explicit HDRP double-sided normal mode None; source cards are not made into black/white opposites by flipping custom canopy normals. There are no crossed whole-tree billboard cards in this family. RepresentativeMaterials must be included by the build configurator's existing shader-retention step before release.
The subsequent native import audit identified required unit/axis conversion on all nine palm prefab roots. RegionalVegetation.Load now retains that imported transform for CoastalPalm, CoastalPalmBent and DatePalm only; the prior cancellation reduced them to centimetre-sized sideways meshes. Cypress and TropicalTree have identity imported roots and retain their existing treatment. The original metre-scale assets and placement scales are unchanged; visual acceptance of the corrected runtime palms remains a later-build check.
CPU source QA checks geometry and material preparation. It does not establish Unity shader retention, regional placement, target-GPU performance, or AAA visual acceptance. Those require the actual game-camera review after integration. The source preview is labelled as Blender CPU artwork, never as a gameplay screenshot.
Sources and notices
- Yughues / Nobiax, Palm TreeZ v3: original author upload, CC0 1.0. Five original OBJ/FBX variants and 2k diffuse/normal/specular/translucency source maps. The source readme is retained under
Tools/Downloads/RegionalVegetation/palm_treez_v3/extracted/readme.txt. Runtime delivery uses diffuse with original alpha and normal; original specular/translucency remain source material. Source UVs remain unchanged; units and date-palm shape are adapted. - Rob Tuytel and Rico Cilliers, Island Tree 01: Poly Haven asset, CC0 license. Scanned wood is reduced, tiny redundant branch cards removed and source crown positions sampled for bent photographic leaf cards. Original leaf alpha is combined with the source RGB; colour encoding is preserved. Original scale remains approximately 5 m.
- Rico Cilliers and Rob Tuytel, Fir Tree 01 bark: Poly Haven asset, CC0. Only bark colour/normal is reused for the original cypress's stem and branches. The fir tree itself is not relabelled as a cypress.
Acquisition URLs, byte counts and original SHA-256 values: Docs/regional-vegetation-sources.json and the already established fir source manifest. Export hashes, material processing and final triangle counts: ArtSource/RegionalVegetation/build.json, duplicated to Docs/regional-vegetation-build.json on publication. No Royalty-Free olive model, paid asset, new service account or Blender addon is included.