Files
metaverseDubai/docs/BUILDING_PIPELINE.md

295 lines
6.4 KiB
Markdown

# 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]