54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# DA_AtmosphereProfile — Data Asset
|
|
|
|
**Parent Class:** `UDataAsset`
|
|
**Dependencies:** [`BPC_AtmosphereStateController`](../10-adaptive/BPC_AtmosphereStateController.md)
|
|
**Purpose:** Defines an atmosphere preset — lighting key, audio ambience, VFX, and intensity — for the atmosphere controller.
|
|
|
|
---
|
|
|
|
## Variables / Structure
|
|
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| `ProfileTag` | `FGameplayTag` | Unique atmosphere preset identifier |
|
|
| `AtmosphereState` | `EAtmosphereState` | Exploration, Suspense, Combat, Panic, etc. |
|
|
| `LightingKey` | `FName` | Lighting preset key for LightEventController |
|
|
| `AudioAmbienceKey` | `FName` | Audio preset key for AudioAtmosphereController |
|
|
| `VFXPresetKey` | `FName` | VFX preset key |
|
|
| `Intensity` | `float` | Global intensity bias (0.0-1.0) |
|
|
| `TransitionTime` | `float` | Seconds for crossfade to this profile |
|
|
| `bLoops` | `bool` | Whether this profile loops indefinitely |
|
|
| `Priority` | `int32` | Higher priority overrides lower |
|
|
|
|
---
|
|
|
|
## Gameplay Tags
|
|
- Namespace: `Atmosphere.<State>` (e.g., `Atmosphere.Combat`, `Atmosphere.Panic`)
|
|
|
|
---
|
|
|
|
## Validation Rules
|
|
- `ProfileTag` must be unique
|
|
- `Intensity` must be 0.0-1.0
|
|
- `TransitionTime` must be > 0
|
|
|
|
---
|
|
|
|
## Example Data
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| ProfileTag | `Atmosphere.Combat.Intense` |
|
|
| AtmosphereState | Combat |
|
|
| LightingKey | `Lighting.Combat.RedAlert` |
|
|
| AudioAmbienceKey | `Audio.Combat.HighTension` |
|
|
| Intensity | 0.9 |
|
|
|
|
---
|
|
|
|
## Consumed By
|
|
- [`BPC_AtmosphereStateController`](../10-adaptive/BPC_AtmosphereStateController.md)
|
|
|
|
## Reuse Notes
|
|
- All preset data is keyed by FName for extensibility
|
|
- Profiles support full crossfade blending via TransitionTime |