Add haptics example documentation for Project Void controller feedback
- Introduced comprehensive guide for setting up controller haptics and force feedback. - Detailed directory structure for haptic profiles and creation steps for DA_HapticProfile instances. - Included platform-specific configurations for Xbox and PS5 DualSense adaptive triggers. - Outlined wiring of BPC_HapticsController to various gameplay systems and events. - Provided accessibility integration options and testing checklist for haptic functionality.
This commit is contained in:
@@ -36,6 +36,9 @@ Direct Reference │ Interface Calls
|
||||
│ LAYER 8: POLISH & META │
|
||||
│ Tutorials, Loading, Credits, Analytics, Achievements │
|
||||
├────────────────────────────────────────────────────────────────┤
|
||||
│ LAYER 7.5: HAPTICS │
|
||||
│ Controller vibration, DualSense triggers, heartbeat pulse │
|
||||
├────────────────────────────────────────────────────────────────┤
|
||||
│ LAYER 7: ADAPTIVE │
|
||||
│ Difficulty, Atmosphere, Pacing, Scares, Audio (MetaSounds) │
|
||||
├────────────────────────────────────────────────────────────────┤
|
||||
@@ -86,7 +89,10 @@ Never call `UGameplayStatics::PlaySound*` directly. All audio routes through `SS
|
||||
### 7. Enhanced Input Manager
|
||||
All input goes through `SS_EnhancedInputManager`. Context switching uses priority-based stack. Key rebinding is platform-aware via `DA_InputMappingProfile`.
|
||||
|
||||
### 8. Force Stack for State Overrides
|
||||
### 8. GameplayTag-Driven Haptics
|
||||
All controller vibration routes through `BPC_HapticsController` on the Player Controller. Gameplay systems trigger haptics by GameplayTag (e.g., `Haptic.Damage.Heavy`) — never calling raw `Play Force Feedback` nodes. The component detects platform (Xbox rumble vs PS5 DualSense adaptive triggers), respects accessibility toggles, and manages effect priority. Heartbeat pulse is driven by `BPC_StateManager.GetCurrentHeartRate()`.
|
||||
|
||||
### 9. Force Stack for State Overrides
|
||||
Death, cutscenes, void space push state onto a stack. `RestorePreviousState()` pops back — the player returns to exactly their previous state after a forced interruption.
|
||||
|
||||
---
|
||||
@@ -144,12 +150,13 @@ The 16 build phases follow dependency order:
|
||||
| `WBP_` Widget Blueprints | 14 | HUDController, InventoryMenu, MainMenu |
|
||||
| `DA_` Data Assets | 18 | ItemData, EquipmentConfig, AtmosphereProfile |
|
||||
| `SS_` GameInstance Subsystems | 7 | SaveManager, UIManager, AudioManager |
|
||||
| `BPC_` Components (haptics) | 1 | HapticsController (PlayerController) |
|
||||
| `GI_` Game Instances | 2 | GameFramework, GameTagRegistry |
|
||||
| `I_` Interfaces | 3 | InterfaceLibrary, HidingSpot, Persistable |
|
||||
| `GM_` GameMode, `GS_` GameState | 2 | CoreGameMode, CoreGameState |
|
||||
| `FL_` Function Library | 1 | GameUtilities |
|
||||
| `AI_` Controller, `BB_` Blackboard | 2 | BaseAgentController, AgentBoard |
|
||||
| **TOTAL** | **140** | |
|
||||
| **TOTAL** | **141** | |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user