# 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 1. **Basic Shape**: Create basic building shape 2. **Scale Verification**: Verify scale is 1:1 3. **Proportions**: Check proportions match reference 4. **Placement**: Place in blockout level #### High-Poly Modeling 1. **Main Structure**: Model main building structure 2. **Architectural Details**: Add windows, balconies, details 3. **Rooftop Elements**: Add rooftop features 4. **Base Structure**: Model base/podium #### Low-Poly Modeling (if not using Nanite) 1. **Optimization**: Create optimized low-poly version 2. **LODs**: Generate LOD0-3 3. **Topology**: Clean topology for performance #### UV Mapping 1. **UV Layout**: Create UV layout 2. **UDIM**: Use UDIM for hero assets (8K) 3. **Standard UVs**: Use standard UVs for primary/background (4K/2K) 4. **Optimization**: Optimize UV space usage --- ### 3. Texturing #### Substance Painter 1. **Project Setup**: Import mesh, set resolution 2. **Bake Maps**: Bake normal, AO, curvature 3. **Texture Creation**: Create texture sets 4. **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 1. **Create Material**: Create material asset 2. **Assign Textures**: Assign texture maps 3. **Configure**: Set material properties 4. **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 1. **Assign Materials**: Assign materials to mesh 2. **Test**: Test in level 3. **Adjust**: Adjust materials if needed 4. **Validate**: Validate visual quality --- ### 6. Placement & Integration #### Level Placement 1. **Place Building**: Place in level 2. **Position**: Verify position matches blockout 3. **Orientation**: Check orientation 4. **Scale**: Verify scale #### Integration 1. **Lighting**: Test with lighting 2. **Shadows**: Verify shadows 3. **Reflections**: Check reflections (glass) 4. **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_01` - `SM_Building_Support_01` ### Materials - **Format**: `M_Building_Type_Resolution` - **Examples**: - `M_Building_Glass_4K` - `M_Building_Concrete_4K` See [NAMING_CONVENTIONS.md](../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]