5.7 KiB
5.7 KiB
Water System - Dubai Metaverse
Overview
This document describes the Marina water system implementation for the Dubai Metaverse project.
Marina Water Requirements
Visual Requirements
- Realistic Water: Photorealistic water appearance
- Reflections: Strong reflections of buildings and sky
- Caustics: Light refraction (caustics) on surfaces
- Waves: Animated wave surface
- Foam: Foam at edges and around objects
Technical Requirements
- Performance: Maintain 60-90 FPS
- Quality: High visual quality
- Scale: Large water area (Marina channel)
Water Material
M_Water_Marina
Primary water material for Marina
Material Properties
Base Properties
- Blend Mode: Translucent
- Shading Model: Default Lit
- Two-Sided: Enabled
Reflection
- Reflectivity: High (0.8-0.95)
- Reflection Method: Lumen Reflections
- Reflection Quality: High
Surface Properties
- Roughness: Low (0.05-0.1) for smooth surface
- Metallic: Low (0.0-0.1)
- Color: Slight blue/green tint
Animation
- Wave Animation: Animated normal map
- Wave Speed: Configurable
- Wave Intensity: Configurable
- Wave Direction: Configurable
Texture Requirements
Base Color
- Resolution: 4K
- Content: Water color, depth variation
- Tint: Blue/green
Normal Map
- Resolution: 4K
- Content: Wave patterns, surface detail
- Animation: Animated for wave movement
Roughness
- Resolution: 4K
- Content: Surface roughness (low for smooth water)
Additional Maps
- Caustics: Caustics texture (optional)
- Foam Mask: Foam areas (optional)
Water Shader Implementation
Wave Animation
-
Normal Map Animation:
- Use panner node to animate normal map
- Combine multiple wave layers
- Adjust speed and intensity
-
Vertex Animation (optional):
- Animate vertex positions
- Use world position offset
- Adjust wave height
Reflections
-
Lumen Reflections:
- Enable Lumen Reflections
- High reflection quality
- Verify reflections are accurate
-
Planar Reflections (optional):
- Use planar reflection actor
- For specific reflection needs
- Performance consideration
Caustics
-
Caustics Texture:
- Create or use caustics texture
- Project onto surfaces below water
- Animate for movement
-
Implementation:
- Use material function
- Project onto geometry
- Adjust intensity
Water System Blueprint
BP_WaterSystem
Purpose: Control water system behavior**
Components
-
Water Mesh:
- Large plane or custom mesh
- Covers Marina area
- Assigned water material
-
Water Controller:
- Controls wave animation
- Controls water level
- Controls water effects
-
Foam System:
- Foam at edges
- Foam around objects
- Foam material
Settings
- Wave Speed: Animation speed
- Wave Intensity: Wave strength
- Water Level: Water height
- Foam Intensity: Foam amount
Foam System
M_Water_Foam
Foam material for water edges
Properties
- Blend Mode: Translucent or Additive
- Color: White/light blue
- Opacity: Variable
- Emissive: Slight emissive
Implementation
-
Foam Mask:
- Create foam mask texture
- Or use distance-based mask
- Define foam areas
-
Foam Placement:
- Place at water edges
- Place around objects
- Use decals or separate mesh
Performance Optimization
Water Optimization
-
Material Complexity:
- Optimize shader instructions
- Use efficient nodes
- Minimize texture sampling
-
Mesh Optimization:
- Use efficient mesh
- Optimize vertex count
- Use LODs if needed
-
Reflection Optimization:
- Optimize Lumen Reflections
- Limit reflection distance
- Use lower quality if needed
Streaming
- World Partition: Use World Partition for large water areas
- Distance Culling: Cull water outside view
- LODs: Use LODs for distant water
Integration
With Lighting
- Reflections: Water reflects sky and buildings
- Caustics: Caustics on surfaces below
- Time of Day: Water appearance changes with time
With Buildings
- Reflections: Buildings reflect in water
- Interaction: Water interacts with building bases
- Foam: Foam around building foundations
With Vehicles
- Wake Effects: Vehicle wake (optional)
- Splashes: Water splashes (optional)
Testing
Visual Testing
- Reflections: Verify reflections are accurate
- Waves: Verify wave animation is smooth
- Caustics: Verify caustics are visible
- Foam: Verify foam placement is correct
Performance Testing
- Frame Rate: Test frame rate with water
- Memory: Test memory usage
- Optimization: Test optimization settings
Troubleshooting
Common Issues
Issue: Water not reflecting
- Solution: Check Lumen Reflections enabled
- Solution: Verify reflection quality settings
Issue: Waves not animating
- Solution: Check material animation nodes
- Solution: Verify time-based nodes
Issue: Performance issues
- Solution: Optimize material complexity
- Solution: Reduce reflection quality
- Solution: Use LODs
Issue: Water too transparent/opaque
- Solution: Adjust opacity settings
- Solution: Adjust color and tint
Reference
Dubai Marina Water
- Color: Clear blue/green
- Reflections: Strong reflections
- Waves: Gentle waves
- Clarity: Clear, visible depth
Material References
- Study real water materials
- Reference Dubai Marina photos
- Match visual appearance
Version: 1.0 Last Updated: [Current Date]