89 lines
3.4 KiB
Markdown
89 lines
3.4 KiB
Markdown
# 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. Paid Fab assets are blocked unless Nathan explicitly approves
|
|
the purchase in a later task.
|
|
- 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.
|
|
|
|
## Free-Only Lockdown
|
|
|
|
The asset pipeline is currently free-only. Before download or import, verify
|
|
that the asset page is marked free or that the asset is project-owned/internal.
|
|
Record the cost in `Docs/Art/AssetLicenses.md` as `Free`, `$0`, `0`, or `N/A`.
|
|
|
|
Do not click purchase, checkout, add payment, subscription, or paid-license
|
|
flows. If an asset looks useful but is not free, record it as a candidate in
|
|
notes outside the import flow and wait for explicit approval.
|
|
|
|
## 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.
|