Add Agrarian asset pipeline policy

This commit is contained in:
2026-05-21 22:16:57 +00:00
parent 3f27be7f88
commit f0713c6c46
4 changed files with 185 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
# Agrarian Asset Pipeline
Purpose: replace placeholder visuals with realistic, licensed, performant
assets while keeping the project clean enough to scale across Earth-sized
tiles.
## Visual Direction
Agrarian should read as realistic modern post-collapse frontier survival:
damaged but recoverable, practical, lived-in, and grounded. The world should
not look cartoonish, old-west, or exaggerated apocalypse junkyard.
## First Asset Priorities
1. Coastal scrub trees.
2. Shrubs and bushes.
3. Grasses and ground cover.
4. Water, banks, wet edges, and shoreline dressing.
5. Rocks, terrain decals, and material detail.
6. Two to four human character bodies/outfits.
7. Old abandoned equipment starting to be overtaken by nature.
## Approved Sources
- Fab free assets or assets explicitly owned for this project.
- Quixel/Megascans assets available under the current Epic/Unreal terms.
- CC0/public-domain art libraries.
- Assets created internally.
- Assets Nathan manually adds to the staging folder with permission to use.
Do not scrape random internet images or models. If an asset cannot be traced to
a usable license, reject it.
## Staging Workflow
1. Place downloaded/manual assets in:
`/home/nathan/AssetStaging/Agrarian/Incoming`
2. Save license evidence in:
`/home/nathan/AssetStaging/Agrarian/LicenseEvidence`
3. Review license and visual fit.
4. Move acceptable assets to:
`/home/nathan/AssetStaging/Agrarian/Approved`
5. Import into Unreal under the correct project path:
`/Game/Agrarian/Environment`, `/Game/Agrarian/Characters`,
`/Game/Agrarian/Props`, or `/Game/Agrarian/Effects`.
6. Rename using Agrarian naming policy.
7. Generate or verify:
- materials/material instances
- collision
- LODs or Nanite settings
- texture size limits
- foliage cull distances where relevant
- gameplay tags or placement metadata where relevant
8. Record the asset in `Docs/Art/AssetLicenses.md`.
9. Run visual and placeholder verifiers before packaging a demo.
## Unreal Import Notes
- Foliage should use HISM/foliage-friendly meshes with cull distances and
sensible material complexity.
- Nanite may be used for rigid static meshes where it improves visual density,
but grass and alpha-heavy foliage still need performance testing.
- Characters and animals must not be imported as static showcase meshes if
gameplay requires animation. They need skeletal meshes, animation targets,
collision, and gameplay integration.
- Water should be handled as a shader/system problem, not a generated model.
## Rejection Rules
Reject or quarantine assets that:
- have unclear licensing.
- require attribution we cannot satisfy in-game or in shipped notices.
- are visibly stylized against the realism target.
- are too high-poly or texture-heavy without a practical optimization path.
- include unrelated branding, logos, watermarks, or embedded marketplace demo
content.
+55
View File
@@ -0,0 +1,55 @@
# Agrarian Asset License Register
Every non-original art asset imported into Agrarian must be recorded here
before it is used in a playable map, packaged demo, screenshot, or trailer.
Allowed default sources:
- Fab assets explicitly marked free or otherwise purchased/owned for this
project.
- Quixel/Megascans assets available under the current Epic/Unreal terms for
this project.
- CC0 or public-domain assets.
- Assets created by the Agrarian team.
- Assets manually supplied by Nathan with permission to use in the game.
Do not import random internet images, models, scans, or textures unless the
license is clear, compatible with commercial game use, and recorded below.
## Staging Policy
Asset staging root on the Unreal Ubuntu VM:
`/home/nathan/AssetStaging/Agrarian`
Expected subfolders:
- `Incoming`: newly downloaded or manually supplied assets.
- `LicenseEvidence`: screenshots, text exports, or links proving license terms.
- `Approved`: assets reviewed and ready for Unreal import.
- `Processed`: assets imported, optimized, renamed, and verified.
- `Rejected`: assets that should not be used.
## Naming Policy
Use project-readable names before import:
- Static meshes: `SM_<Category>_<SpeciesOrObject>_<Variant>`
- Skeletal meshes: `SK_<Category>_<Name>_<Variant>`
- Materials: `M_<Category>_<Name>` or `MI_<Category>_<Name>_<Variant>`
- Textures: `T_<Category>_<Name>_<MapType>`
- Niagara systems: `NS_<Effect>_<Variant>`
Examples:
- `SM_Tree_CoastalOak_A`
- `SM_Shrub_CoyoteBrush_B`
- `MI_Ground_CoastalScrub_Dry`
- `SK_Human_FrontierAdult_A`
- `SM_Equipment_OvergrownTractor_A`
## License Entries
| Asset | Type | Source | License | Cost | Imported Path | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| Native Ground Zero proxy vegetation | Tree/shrub/grass placeholders | Created in project | Project-owned | N/A | `/Game/Agrarian/Environment/Vegetation` | Generated proxy meshes; replace with licensed/production assets during 0.2.0 visual credibility work. |