305 lines
5.8 KiB
Markdown
305 lines
5.8 KiB
Markdown
# Vehicle System - Dubai Metaverse
|
|
|
|
## Overview
|
|
|
|
This document describes the vehicle system implementation using Chaos Physics for the Dubai Metaverse project.
|
|
|
|
## Chaos Vehicle System
|
|
|
|
### Overview
|
|
|
|
Chaos Vehicle is Unreal Engine 5's physics-based vehicle simulation system. It provides realistic vehicle physics and handling.
|
|
|
|
### Setup
|
|
|
|
1. **Enable Chaos Physics**:
|
|
- Project Settings > Physics > Chaos Physics
|
|
- Enable Chaos Vehicle
|
|
|
|
2. **Vehicle Blueprint**:
|
|
- Create vehicle blueprint
|
|
- Add Chaos Vehicle components
|
|
- Configure physics settings
|
|
|
|
---
|
|
|
|
## Vehicle Assets
|
|
|
|
### Dubai Supercars
|
|
|
|
#### Lamborghini
|
|
|
|
- **Model**: SM_Vehicle_Lamborghini
|
|
- **Blueprint**: BP_Vehicle_Lamborghini
|
|
- **Type**: Supercar
|
|
- **Characteristics**:
|
|
- High speed
|
|
- High acceleration
|
|
- Sporty handling
|
|
|
|
#### G-Wagon
|
|
|
|
- **Model**: SM_Vehicle_GWagon
|
|
- **Blueprint**: BP_Vehicle_GWagon
|
|
- **Type**: Luxury SUV
|
|
- **Characteristics**:
|
|
- High ground clearance
|
|
- Stable handling
|
|
- Luxury aesthetic
|
|
|
|
#### Ferrari
|
|
|
|
- **Model**: SM_Vehicle_Ferrari
|
|
- **Blueprint**: BP_Vehicle_Ferrari
|
|
- **Type**: Supercar
|
|
- **Characteristics**:
|
|
- High speed
|
|
- High acceleration
|
|
- Sporty handling
|
|
|
|
---
|
|
|
|
## Vehicle Blueprint Setup
|
|
|
|
### BP_VehicleBase
|
|
|
|
**Base class for all vehicles**
|
|
|
|
### Components
|
|
|
|
1. **Chaos Vehicle Movement Component**:
|
|
- Main vehicle physics component
|
|
- Handles acceleration, braking, steering
|
|
- Configures vehicle dynamics
|
|
|
|
2. **Mesh Component**:
|
|
- Vehicle static mesh
|
|
- Visual representation
|
|
|
|
3. **Camera Component** (optional):
|
|
- Third-person camera
|
|
- First-person camera (if needed)
|
|
|
|
4. **Audio Component**:
|
|
- Engine sounds
|
|
- Tire sounds
|
|
- Other vehicle sounds
|
|
|
|
### Physics Settings
|
|
|
|
#### Engine
|
|
|
|
- **Max RPM**: 6000-8000
|
|
- **Torque**: High for supercars
|
|
- **Gear Ratios**: Configure for vehicle type
|
|
|
|
#### Transmission
|
|
|
|
- **Type**: Automatic or Manual
|
|
- **Gear Count**: 6-8 gears
|
|
- **Shift Points**: Configure shift points
|
|
|
|
#### Suspension
|
|
|
|
- **Spring Rate**: Adjust for vehicle type
|
|
- **Damping**: Adjust for handling
|
|
- **Travel**: Suspension travel distance
|
|
|
|
#### Tires
|
|
|
|
- **Friction**: Tire friction coefficient
|
|
- **Pressure**: Tire pressure
|
|
- **Radius**: Tire radius
|
|
|
|
---
|
|
|
|
## Vehicle Controller
|
|
|
|
### BP_VehicleController
|
|
|
|
**Purpose**: Handle player input and vehicle control
|
|
|
|
### Input Mapping
|
|
|
|
- **Throttle**: W key / Gamepad trigger
|
|
- **Brake**: S key / Gamepad trigger
|
|
- **Steering**: A/D keys / Gamepad stick
|
|
- **Handbrake**: Space key / Gamepad button
|
|
|
|
### Implementation
|
|
|
|
1. **Input Handling**:
|
|
- Capture player input
|
|
- Convert to vehicle commands
|
|
- Send to vehicle movement component
|
|
|
|
2. **Camera Control**:
|
|
- Third-person camera follow
|
|
- Camera smoothing
|
|
- Camera offset
|
|
|
|
3. **UI**:
|
|
- Speedometer (optional)
|
|
- Gear indicator (optional)
|
|
|
|
---
|
|
|
|
## AI Traffic System
|
|
|
|
### PCG_Traffic Graph
|
|
|
|
**Purpose**: Generate AI traffic on roads
|
|
|
|
### Implementation
|
|
|
|
1. **Spline System**:
|
|
- Create road splines
|
|
- Define traffic paths
|
|
- Set traffic direction
|
|
|
|
2. **Vehicle Spawning**:
|
|
- Spawn vehicles at intersections
|
|
- Spawn vehicles at entry points
|
|
- Vary vehicle types
|
|
|
|
3. **AI Movement**:
|
|
- Follow spline paths
|
|
- Maintain speed
|
|
- Avoid collisions
|
|
|
|
### AI Vehicle Controller
|
|
|
|
1. **Spline Following**:
|
|
- Follow road splines
|
|
- Maintain lane position
|
|
- Adjust speed
|
|
|
|
2. **Traffic Behavior**:
|
|
- Stop at intersections (optional)
|
|
- Yield to other vehicles
|
|
- Maintain safe distance
|
|
|
|
---
|
|
|
|
## Vehicle Materials
|
|
|
|
### Paint Materials
|
|
|
|
- **M_Vehicle_Paint**: Base paint material
|
|
- **Variations**: Different colors per vehicle
|
|
- **Properties**:
|
|
- High reflectivity
|
|
- Low roughness
|
|
- Metallic (for some colors)
|
|
|
|
### Material Instances
|
|
|
|
- **MI_Vehicle_Lamborghini_Yellow**: Yellow paint
|
|
- **MI_Vehicle_Lamborghini_Orange**: Orange paint
|
|
- **MI_Vehicle_GWagon_Black**: Black paint
|
|
- **MI_Vehicle_Ferrari_Red**: Red paint
|
|
|
|
---
|
|
|
|
## Vehicle Audio
|
|
|
|
### Engine Sounds
|
|
|
|
- **A_Vehicle_Engine_Lamborghini**: Lamborghini engine
|
|
- **A_Vehicle_Engine_GWagon**: G-Wagon engine
|
|
- **A_Vehicle_Engine_Ferrari**: Ferrari engine
|
|
|
|
### Implementation
|
|
|
|
1. **Audio Component**:
|
|
- Attach to vehicle
|
|
- Play engine sound
|
|
- Adjust pitch based on RPM
|
|
|
|
2. **Tire Sounds**:
|
|
- Tire screech on hard braking
|
|
- Tire squeal on sharp turns
|
|
|
|
---
|
|
|
|
## Performance Optimization
|
|
|
|
### Vehicle Optimization
|
|
|
|
1. **LODs**: Use LODs for distant vehicles
|
|
2. **Culling**: Cull vehicles outside view
|
|
3. **Instancing**: Use instanced meshes for traffic
|
|
|
|
### Physics Optimization
|
|
|
|
1. **Update Frequency**: Optimize physics update rate
|
|
2. **Collision**: Optimize collision shapes
|
|
3. **Simulation**: Limit physics simulation distance
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
### Vehicle Testing
|
|
|
|
1. **Handling**: Test vehicle handling
|
|
2. **Physics**: Verify physics are realistic
|
|
3. **Performance**: Test performance with vehicles
|
|
4. **Audio**: Test vehicle audio
|
|
|
|
### Traffic Testing
|
|
|
|
1. **Spawn Rate**: Test vehicle spawn rate
|
|
2. **AI Behavior**: Test AI traffic behavior
|
|
3. **Performance**: Test performance with traffic
|
|
4. **Collisions**: Test collision avoidance
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**Issue**: Vehicle handling too sensitive/loose
|
|
- **Solution**: Adjust suspension settings
|
|
- **Solution**: Adjust tire friction
|
|
|
|
**Issue**: Vehicle not accelerating
|
|
- **Solution**: Check engine torque settings
|
|
- **Solution**: Check transmission settings
|
|
|
|
**Issue**: AI traffic not moving
|
|
- **Solution**: Check AI controller setup
|
|
- **Solution**: Verify spline paths
|
|
|
|
**Issue**: Performance issues
|
|
- **Solution**: Reduce vehicle count
|
|
- **Solution**: Optimize vehicle meshes
|
|
- **Solution**: Use LODs
|
|
|
|
---
|
|
|
|
## Documentation
|
|
|
|
### Vehicle Specifications
|
|
|
|
Document each vehicle:
|
|
- Model name
|
|
- Blueprint name
|
|
- Physics settings
|
|
- Material settings
|
|
- Audio settings
|
|
|
|
### Controls
|
|
|
|
Document vehicle controls:
|
|
- Input mapping
|
|
- Camera controls
|
|
- Special features
|
|
|
|
---
|
|
|
|
**Version**: 1.0
|
|
**Last Updated**: [Current Date]
|
|
|