Files
metaverseDubai/docs/BUILDING_PIPELINE.md

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

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