add blueprints

This commit is contained in:
Lefteris Notas
2026-05-19 13:22:27 +03:00
parent f71bc678b2
commit 411edea8ce
138 changed files with 23330 additions and 0 deletions

View File

@@ -0,0 +1,133 @@
# 72 — BPC_AccessibilitySettings
## Blueprint Spec — UE 5.55.7
---
### Parent Class
`ActorComponent`
### Dependencies
- [`SS_SettingsManager`](71_SS_SettingsManager.md) — Reads accessibility settings
- [`WBP_AccessibilityUI`](../06-ui/46_WBP_AccessibilityUI.md) — UI integration
- [`BPC_TutorialSystem`](73_BPC_TutorialSystem.md) — Tutorial accessibility
- [`BPC_AudioManager`](../10-adaptive/66_BPC_AudioManager.md) — Audio accessibility
### Purpose
Applies accessibility-focused modifications to the game based on user settings including colorblind modes, subtitle configuration, screen shake reduction, high-contrast UI, text-to-speech, reduced motion, and audio cue visualizations. Operates as a local player component that reads from SS_SettingsManager and applies changes at runtime.
### Enums
**EColorBlindMode**
| Value | Description |
|-------|-------------|
| None | Default colors |
| Protanopia | Red-blind filter |
| Deuteranopia | Green-blind filter |
| Tritanopia | Blue-blind filter |
**ESubtitleSize**
| Value | Description |
|-------|-------------|
| Small | Default size |
| Medium | 150% size |
| Large | 200% size |
| ExtraLarge | 300% size |
**EScreenShakeLevel**
| Value | Description |
|-------|-------------|
| Full | All screen shakes enabled |
| Reduced | 50% intensity cap |
| Minimal | 25% intensity cap |
| Off | No screen shake |
### Variables
| Name | Type | Description |
|------|------|-------------|
| `ColorBlindMode` | EColorBlindMode | Current colorblind filter |
| `SubtitleSize` | ESubtitleSize | Subtitle text scale |
| `bHighContrastUI` | Bool | High contrast mode |
| `bTextToSpeech` | Bool | TTS for UI text |
| `bReducedMotions` | Bool | Disable UI animations |
| `bLargeText` | Bool | Enlarge all UI text |
| `ScreenShakeLevel` | EScreenShakeLevel | Camera shake intensity |
| `bVisualizeAudioCues` | Bool | Show audio direction indicators |
| `bAutoReadDialogue` | Bool | Auto-play dialogue subtitles |
| `bPauseOnDialogue` | Bool | Auto-pause during dialogue |
| `bDisableFlashEffects` | Bool | Prevent strobe/photosensitive effects |
### Functions
| Name | Inputs | Outputs | Description |
|------|--------|---------|-------------|
| `Initialize` | — | — | Read settings, apply initial state |
| `SetColorBlindMode` | Mode: EColorBlindMode | — | Apply colorblind filter |
| `SetSubtitleSize` | Size: ESubtitleSize | — | Update subtitle scale |
| `SetHighContrastUI` | bEnabled: Bool | — | Toggle high contrast |
| `SetTextToSpeech` | bEnabled: Bool | — | Toggle TTS |
| `SetReducedMotions` | bEnabled: Bool | — | Toggle reduced motion |
| `SetLargeText` | bEnabled: Bool | — | Toggle large text |
| `SetScreenShakeLevel` | Level: EScreenShakeLevel | — | Update shake intensity |
| `SetVisualizeAudioCues` | bEnabled: Bool | — | Toggle audio visualization |
| `SetDisableFlashEffects` | bEnabled: Bool | — | Disable flashing effects |
| `ApplyColorBlindCorrection` | — | — | Post-process color matrix |
| `ApplyHighContrastMaterials` | — | — | Override UI material |
| `DisableFlashInVFX` | — | — | Remove strobe from VFXManager |
| `HandleDialogueAutoRead` | DialogueText: FText | — | TTS for dialogue |
| `ProvideAudioDirectionIndicator` | SoundLocation: FVector | — | Show direction arrow |
| `ReadUITextAloud` | Text: FText | — | TTS for UI elements |
### Blueprint Flow
```
[Initialize]
└─► Read from SS_SettingsManager:
ColorBlindMode = GetSetting("ColorBlindMode")
SubtitleSize = GetSetting("SubtitleSize")
bHighContrastUI = GetSettingBool("HighContrastUI")
etc.
└─► ApplyColorBlindCorrection()
└─► ApplyHighContrastMaterials()
└─► Register callbacks for OnSettingChanged dispatcher
[ApplyColorBlindCorrection]
└─► Use UPostProcessComponent on player camera
└─► Set Color Grading LUT based on mode:
Protanopia: Shift red channel matrix
Deuteranopia: Shift green channel matrix
Tritanopia: Shift blue channel matrix
└─► Apply via PostProcessSettings.ColorGradingSettings
[ApplyHighContrastMaterials]
└─► Override all WBP widget materials with high-contrast versions
└─► Increase outline thickness on all interactive elements
└─► Increase font weight and contrast ratio
[DisableFlashInVFX]
└─► Call BPC_VFXManager.SetFearVFXEnabled(false) during flash sequences
└─► Remove strobe flicker from BPC_LightingManager fear-reactive lights
└─► Replace flash transitions with fade transitions
```
### Communications With
| Target | Method | Why |
|--------|--------|-----|
| [`SS_SettingsManager`](71_SS_SettingsManager.md) | Event | Settings changes |
| [`BPC_VFXManager`](../10-adaptive/67_BPC_VFXManager.md) | Get owner | Disable flash effects |
| [`BPC_LightingManager`](../10-adaptive/65_BPC_LightingManager.md) | Get owner | Disable flicker |
| [`BPC_AudioManager`](../10-adaptive/66_BPC_AudioManager.md) | Get owner | Audio cues |
| [`BPC_TutorialSystem`](73_BPC_TutorialSystem.md) | Direct call | Accessible tutorials |
### Reuse Notes
- Color blindness correction uses post-process color grading matrix
- Subtitle scaling modifies URichTextBlock font size globally
- High contrast mode uses alternate widget styles
- Screen shake reduction caps camera shake intensity in player controller
- Visual audio cues use world-space widget arrows pointing to sound origin
- Flash effect disable also affects DynamicEvent light flicker