Production context
GDD/06-Art-Audio/01-Art-Direction-and-MetaHuman.mdVerified implementation evidence
- Not verified for this documentation pass.
Relationships
TECH-PERFORMANCE-PROFILING— capture and performance-debugging procedure.FEAT-INVENTORY— held-item grip contract across MetaHuman presets.
Document contract coverage
Use these required Art Direction areas during review. The HTML content below is authoritative; items not stated explicitly remain unresolved.
- ReviewVisual Pillars
- ReviewRealism / Stylization Target
- ReviewShape Language
- ReviewMaterial Language
- ReviewColor & Lighting Direction
- ReviewCharacter / Environment / Prop Rules
- ReviewDo / Don’t
- ReviewReference Collections
- ReviewApproval Rules
Authoritative project content
Art direction — [CONFIRMED]
- Photoreal, using Nanite (geometry) and Lumen (GI/reflections).
- Modern post-apocalyptic mood: grounded, weathered, decayed contemporary world — overgrown towns, rusted vehicles, scavenged interiors, muted/desaturated palette with selective color for readability (loot, threats, UI).
- Readability is a pillar: even in a photoreal world, threats (zombies, players) and interactables must read clearly at gameplay distances and in third person.
Player characters — MetaHuman [CONFIRMED]
- Players use the MetaHuman pipeline (plugins
MetaHuman,MetaHumanCoreTech,MetaHumanCharacteralready enabled; Win64 + Linux supported). - Workflow: author/import MetaHumans, store under
Content/Lambeer/Characters/Player/MetaHumans/, drive with the player Anim BP. - Cosmetic customization (outfits/skins) fits buy-to-play; cosmetic-only.
Character creation — curated, no runtime morph — [CONFIRMED scope] / [RECOMMENDATION pipeline]
- Players pick a curated preset (each preset is a fully pre-authored MetaHuman; male + female base bodies) and customize hairstyle (curated grooms), skin color (UMG color picker, HSV-clamped), and eye color (UMG color picker, free RGB). No face morph, no body scaling.
- Art tasks: author preset MetaHumans, curated groom/hair-card set (with LODs). Ensure MetaHuman materials expose
SkinTintandIrisTintvector parameters (or document alternate names for engineering). No skin/eye swatch texture sets required for v1. - [RISK] two base bodies ≈ double the character/animation-retarget authoring; grooms are costly at 40–60 players — cap detailed grooms, fall back to hair cards.
- Full system spec (data model, replication, persistence, barber): ../01-Gameplay/08-Character-Creation.md.
Held-item fit across presets: the character grip contract in FEAT-INVENTORY separates mesh/body calibration from per-item placement, animation/IK and per-item finger Pose Assets. Extra weapon sockets alone do not establish correct contact across different proportions. The owner approved shared hand_r/hand_l sockets, per-item transforms with optional PresetId overrides, KeepWorld scale and AnimBP Two Bone IK on 2026-09-16, then per-item hand poses on 2026-09-17. Runtime/AnimBP wiring for placement/IK and finger blends landed; numeric offsets, Pose Assets and owner PIE remain pending.
MetaHuman cost management — [RISK]
MetaHumans are expensive (memory, animation, shader complexity). Mitigations: - Use MetaHuman LODs aggressively; cap the number of fully-detailed MetaHumans rendered at once. - For a ~40–60-player server, profile worst case (many players in view, e.g., at a boss or raid) and set quality scalability accordingly. - Reserve full MetaHuman fidelity for the local player and nearby players; distant players use lower LODs.
Zombies — NOT full MetaHumans — [RECOMMENDATION]
- Zombies must use optimized custom skeletal meshes with shared materials and strong LODs — not individual MetaHumans. There can be many zombies on screen; MetaHuman-per-zombie would not scale.
- Use a small set of base zombie meshes + material/texture variation (decals, color, damage states) to create visual variety cheaply.
- Bosses can have bespoke, higher-detail meshes (few on screen at once).
- Store under
Content/Lambeer/Characters/Zombies/per ../05-Technical/03-Content-Folder-Structure.md.
Environment
- Nanite static meshes for architecture/props; modular kits for towns/POIs to build a dense world efficiently.
- Trim sheets / shared materials to control memory.
- Foliage and decals for the overgrown decayed look; instanced rendering for performance.
Performance budget — [RISK], final target [TBD]
- Final target hardware, resolution, frame rate, and dedicated-server tick/load targets are not yet defined.
- Optimization cannot be deferred entirely: profile representative client GPU, server CPU, memory, streaming, AI, and replication workloads at every phase exit. Large content expansion is blocked when the current slice misses its measured budget.
- Provide scalability settings so the visual stack can be reduced on mid-range PCs. Final ship targets must be confirmed before content lock.
Detailed measurement procedure: TECH-PERFORMANCE-PROFILING. Final targets remain open under TBD-BFF08134; diagnostic improvements must not be reported as a shipping-budget pass.
Asset standards
- Follow naming/structure in ../05-Technical/03-Content-Folder-Structure.md.
- Texture guardrails — [CONFIRMED] provisional: 4K maximum for hero/player/boss/vehicle/first-person weapon sets; 2K default for standard characters, clothing, weapons, and medium environment assets; 1K for small props and reusable masks; 512 or lower for minor masks/details. Mipmaps and texture streaming are mandatory; 8K requires explicit review.
- Geometry guardrails — [CONFIRMED] provisional: use Nanite for suitable opaque static environment/prop geometry and judge density by silhouette and measured streaming cost rather than an arbitrary source-triangle cap. Non-Nanite static assets require authored LODs. Initial skeletal LOD0 ceilings are 100k triangles for
Zombie_General, 140k forZombie_Hulk, and 180k forBoss_Butcher, with progressively reduced LODs and profile-based exceptions. MetaHumans use their generated LOD pipeline. - Material guardrails — [CONFIRMED] provisional: prefer material instances from shared masters; one slot for small props, four or fewer for standard assets, and six or fewer for hero/boss/vehicle assets. Default to opaque/masked materials; translucency and heavy World Position Offset require review and profiling.
- Persistent blood uses scalar
BloodAmount(0–1) and mask texture parameterBloodMask. Persistent wetness uses scalarWetAmount(0–1). Materials must compose both effects without one overwriting the other. - Use the enabled Modeling Tools for in-engine blockouts/greyboxing during prototyping.