Team Marker Camera Control System
This system provides enhanced camera controls for centering on the team marker and managing map overview in your RPG game.
Features
🎯 Team Marker Centering
- Hotkey: Press
C to center the camera on the team marker
- Auto-Focus: Automatically zooms to a comfortable level when centering
- Auto-Center: Optionally auto-centers when the team marker is first placed
🗺️ Full Map Overview
- Hotkey: Press
F to zoom out and show the entire map
- Smart Sizing: Automatically calculates the best zoom level to fit the whole map
- Increased Zoom Range: Enhanced zoom-out capability for large maps
🎮 Enhanced Controls
- Smooth Movement: All camera movements are smoothly animated
- Manual Override: User can take manual control during automatic movements
- Help System: Press
H to see available controls
Implementation
Method 1: Enhanced Existing Controllers
The following camera controllers have been enhanced with team marker functionality:
MapCameraController (BattleFieldMaker)
- Enhanced for battlefield/map scenes
- Respects UI boundaries (doesn't interfere with side panels)
- Default hotkeys:
C (center), F (full map), H (help)
MMCameraController (MapMaker2)
- Enhanced for MapMaker2 scenes
- Full camera control with mouse drag support
- Default hotkeys:
C (center), F (full map), H (help)
Method 2: Universal Component (Recommended)
TeamMarkerCameraController
A universal component that can be attached to any camera to provide team marker functionality.
Usage:
- Add the
TeamMarkerCameraController script to your main camera
- Configure the settings in the inspector
- The component will automatically find the team marker and provide controls
Key Settings:
centerOnTeamKey: Key to center on team marker (default: C)
zoomToFullMapKey: Key to zoom to full map (default: F)
centeringSpeed: Speed of camera animations (default: 2)
focusZoomLevel: Zoom level when focusing on team (default: 15)
maxZoomOut: Maximum zoom out for full map (default: 200)
autoCenterOnTeamPlacement: Auto-center when team is placed (default: true)
Hotkeys Summary
| Key |
Action |
Description |
C |
Center on Team |
Centers camera on team marker with comfortable zoom |
F |
Full Map View |
Zooms out to show entire map |
H |
Show Help |
Displays available controls in console |
| Mouse Wheel |
Zoom |
Standard zoom in/out |
| WASD/Arrows |
Move |
Manual camera movement (where supported) |
| Middle Mouse |
Drag |
Drag camera around (where supported) |
Integration with Existing Systems
Team Placement Integration
- Automatically detects
SimpleTeamPlacement component
- Works with both exploration and non-exploration modes
- Handles coordinate system conversions automatically
Map System Integration
- Compatible with
MapMaker2
- Automatically detects map dimensions for full map view
- Works with both static and dynamically generated maps
UI Integration
- Respects UI panel boundaries in
MapCameraController
- Doesn't interfere with existing UI systems
- Can be easily enabled/disabled as needed
Troubleshooting
"Team marker not found" Warning
- Ensure
SimpleTeamPlacement component exists in the scene
- Check that the team has been placed (call
RandomlyPlaceTeam() if needed)
- Verify the team marker GameObject exists and is active
Camera Not Moving
- Check that the camera has the enhanced controller script attached
- Ensure the script is enabled and not conflicting with other camera scripts
- Verify hotkeys are not being captured by other systems
Zoom Levels
- Adjust
maxZoom in camera controllers for larger zoom range
- Modify
focusZoomLevel for preferred team marker focus distance
- Use
maxZoomOut in TeamMarkerCameraController to limit maximum zoom
Performance Notes
- All camera movements use smooth interpolation for better UX
- Automatic movement stops when target is reached to save performance
- Manual controls override automatic movement to prevent conflicts
- Component automatically finds required references at startup
Future Enhancements
Possible future improvements:
- Save/restore camera positions
- Multiple preset camera positions
- Follow mode for team marker during movement
- Minimap integration
- Custom zoom curves for different map sizes