6.4 KiB
6.4 KiB
Building Pipeline - Dubai Metaverse
Overview
This document describes the complete pipeline for creating building assets for the Dubai Metaverse project, from modeling to final placement in Unreal Engine.
Pipeline Stages
1. Planning & Reference
Reference Collection
- Photography: Collect reference photos
- Architectural Plans: If available
- Material References: Glass, concrete, metal samples
- Context: Surrounding buildings, scale reference
Asset Planning
- Building Type: Residential, commercial, mixed-use
- Priority: Tier 1 (hero), Tier 2 (primary), Tier 3 (background)
- Specifications: Dimensions, materials, details
- Timeline: Estimated completion date
2. Modeling
Blockout
- Basic Shape: Create basic building shape
- Scale Verification: Verify scale is 1:1
- Proportions: Check proportions match reference
- Placement: Place in blockout level
High-Poly Modeling
- Main Structure: Model main building structure
- Architectural Details: Add windows, balconies, details
- Rooftop Elements: Add rooftop features
- Base Structure: Model base/podium
Low-Poly Modeling (if not using Nanite)
- Optimization: Create optimized low-poly version
- LODs: Generate LOD0-3
- Topology: Clean topology for performance
UV Mapping
- UV Layout: Create UV layout
- UDIM: Use UDIM for hero assets (8K)
- Standard UVs: Use standard UVs for primary/background (4K/2K)
- Optimization: Optimize UV space usage
3. Texturing
Substance Painter
- Project Setup: Import mesh, set resolution
- Bake Maps: Bake normal, AO, curvature
- Texture Creation: Create texture sets
- Export: Export textures (see TEXTURING_WORKFLOW.md)
Texture Sets
- Base Color: Material colors
- Normal: Surface detail
- Roughness: Surface roughness
- Metallic: Metallic map
- AO: Ambient occlusion
4. Material Creation
Material Setup
- Create Material: Create material asset
- Assign Textures: Assign texture maps
- Configure: Set material properties
- Parameters: Expose parameters for instances
Material Library
- Shared Materials: Use shared materials where possible
- Instances: Create instances for variations
- Documentation: Document material usage
5. Import to Unreal
Import Settings
- Nanite: Enable for high-poly (hero/primary)
- LODs: Generate LODs for non-Nanite
- Collision: Auto-generate or custom
- Scale: Verify 1:1 scale
Material Assignment
- Assign Materials: Assign materials to mesh
- Test: Test in level
- Adjust: Adjust materials if needed
- Validate: Validate visual quality
6. Placement & Integration
Level Placement
- Place Building: Place in level
- Position: Verify position matches blockout
- Orientation: Check orientation
- Scale: Verify scale
Integration
- Lighting: Test with lighting
- Shadows: Verify shadows
- Reflections: Check reflections (glass)
- Performance: Test performance
Building Categories
Hero Buildings (Tier 1)
- Count: 1-2 buildings
- Quality: Maximum (8K textures, Nanite)
- Examples: Cayan Tower
- Pipeline: Full pipeline with maximum detail
Primary Buildings (Tier 2)
- Count: 20-40 buildings
- Quality: High (4K textures, optimized geometry)
- Examples: Marina residential towers
- Pipeline: Full pipeline with high detail
Background Buildings (Tier 3)
- Count: 30-50 buildings
- Quality: Standard (2K textures, simplified geometry)
- Examples: Generic modern buildings
- Pipeline: Simplified pipeline, procedural where possible
Quality Standards
Geometry
- Hero: Maximum detail, photoreal quality
- Primary: High detail, recognizable features
- Background: Simplified but recognizable
Textures
- Hero: 8K (UDIM workflow)
- Primary: 4K
- Background: 2K
Materials
- PBR Workflow: All materials use PBR
- Consistency: Maintain consistency across assets
- Performance: Optimize for performance
Naming Conventions
Static Meshes
- Format:
SM_Building_Category_Number - Examples:
SM_Building_Marina_01SM_Building_Support_01
Materials
- Format:
M_Building_Type_Resolution - Examples:
M_Building_Glass_4KM_Building_Concrete_4K
See NAMING_CONVENTIONS.md for details.
Performance Optimization
Nanite
- Usage: All static meshes where possible
- Benefit: High-poly without performance penalty
- Target: 100% of static meshes use Nanite
LODs
- Usage: Non-Nanite assets
- LODs: LOD0-3 for primary, LOD0-2 for background
- Generation: Auto-generate or manual
Material Optimization
- Shared Materials: Use shared materials
- Instances: Use material instances for variations
- Complexity: Minimize shader complexity
Validation Checklist
Modeling
- Scale is correct (1:1)
- Proportions match reference
- Geometry is clean
- UVs are optimized
Texturing
- Textures meet resolution requirements
- All texture maps are present
- Textures are artifact-free
- Colors are accurate
Materials
- Materials are assigned correctly
- PBR workflow is correct
- Materials look realistic
- Performance is acceptable
Integration
- Building placed correctly
- Lighting works correctly
- Shadows are correct
- Performance is acceptable
Troubleshooting
Common Issues
Issue: Building scale is wrong
- Solution: Check import scale settings
- Solution: Verify reference dimensions
Issue: Textures not displaying
- Solution: Check material assignment
- Solution: Verify texture import settings
Issue: Performance issues
- Solution: Enable Nanite
- Solution: Generate LODs
- Solution: Optimize materials
Tools
Modeling
- Blender: Free, recommended
- Maya: Professional alternative
- 3ds Max: Alternative
Texturing
- Substance Painter: Primary tool
- Substance Designer: Procedural materials
- Photoshop: Additional editing
Import
- Unreal Engine: Direct import
- FBX: Standard format
- Datasmith: For CAD data (optional)
Version: 1.0 Last Updated: [Current Date]