98 lines
2.5 KiB
Bash
98 lines
2.5 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
#
|
||
|
|
# Script Name: setup_blockout.sh
|
||
|
|
# Description: Prepare blockout level setup instructions
|
||
|
|
# Usage: ./setup_blockout.sh
|
||
|
|
# Author: Dubai Metaverse Team
|
||
|
|
# Date: 2024
|
||
|
|
# Version: 1.0
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
# Configuration
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||
|
|
|
||
|
|
echo "=========================================="
|
||
|
|
echo "Blockout Level Setup Guide"
|
||
|
|
echo "=========================================="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
cat << 'EOF'
|
||
|
|
## Blockout Setup Steps
|
||
|
|
|
||
|
|
### 1. Create Main Level
|
||
|
|
- Open Unreal Editor
|
||
|
|
- File > New Level > Empty Level
|
||
|
|
- Save as: Content/Maps/MainLevel
|
||
|
|
- Enable World Partition
|
||
|
|
|
||
|
|
### 2. Import OSM Data
|
||
|
|
- Run: python3 scripts/data/import_osm_data.py --output data/processed/dubai_marina_buildings.geojson
|
||
|
|
- Import GeoJSON to Unreal (may require plugin or conversion)
|
||
|
|
- Create building footprint meshes from OSM data
|
||
|
|
|
||
|
|
### 3. Generate Terrain
|
||
|
|
- Run: python3 scripts/data/gis_to_unreal.py data/elevation/dem.tif --output data/processed/terrain_heightmap.raw
|
||
|
|
- Import heightmap to Landscape tool
|
||
|
|
- Create landscape from heightmap
|
||
|
|
- Set scale to 1:1 (100 units = 1 meter)
|
||
|
|
|
||
|
|
### 4. Create Building Footprints
|
||
|
|
- Use OSM building data
|
||
|
|
- Create simple box meshes for each building
|
||
|
|
- Place at correct locations
|
||
|
|
- Set correct heights (from reference or estimation)
|
||
|
|
- Use gray materials for blockout
|
||
|
|
|
||
|
|
### 5. Create Road Network
|
||
|
|
- Use OSM road data
|
||
|
|
- Create splines for roads
|
||
|
|
- Use Road Tool or spline meshes
|
||
|
|
- Set road width from reference
|
||
|
|
|
||
|
|
### 6. Add Basic Navigation
|
||
|
|
- Add NavMeshBoundsVolume
|
||
|
|
- Build navigation mesh
|
||
|
|
- Test player navigation
|
||
|
|
|
||
|
|
### 7. Validate Scale
|
||
|
|
- Verify 1:1 scale (100 units = 1 meter)
|
||
|
|
- Check building heights
|
||
|
|
- Verify distances match real-world
|
||
|
|
|
||
|
|
### 8. Test Navigation Flow
|
||
|
|
- Place player start
|
||
|
|
- Test walking through district
|
||
|
|
- Verify navigation works
|
||
|
|
- Check for clipping issues
|
||
|
|
|
||
|
|
## Blockout Checklist
|
||
|
|
|
||
|
|
- [ ] Main level created
|
||
|
|
- [ ] World Partition enabled
|
||
|
|
- [ ] OSM data imported
|
||
|
|
- [ ] Terrain generated from elevation data
|
||
|
|
- [ ] Building footprints placed
|
||
|
|
- [ ] Road network created
|
||
|
|
- [ ] Navigation mesh built
|
||
|
|
- [ ] Scale validated (1:1)
|
||
|
|
- [ ] Navigation flow tested
|
||
|
|
- [ ] Blockout reviewed
|
||
|
|
|
||
|
|
## Next Steps After Blockout
|
||
|
|
|
||
|
|
1. Identify exact buildings needed
|
||
|
|
2. Create Tier 1 asset list (Hero: Cayan Tower)
|
||
|
|
3. Create Tier 2 asset list (Primary buildings)
|
||
|
|
4. Begin asset production (Phase 2)
|
||
|
|
|
||
|
|
EOF
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "For detailed instructions, see:"
|
||
|
|
echo " - docs/planning/BLOCKOUT_REVIEW.md"
|
||
|
|
echo " - TASKS/phase1_tasks.md (Week 2)"
|
||
|
|
echo ""
|
||
|
|
|