# EnvironmentOverride

> Talos next · Since next

A behaviour's override of the scene's environment ({@link EnvironmentInfo.override}), each field spelled and checked as the scene file's: `sky` over `meta.environment.sky`, `fog` over `meta.environment.fog`, `skyColor` and `ambient` over the fields of those names, and `exposure` over `meta.render.exposure`.

Every field is optional, and null gives it back to the scene.

## Signature

```ts
export interface EnvironmentOverride {
  /** Over `meta.environment.sky`: any of its fields, merged at any depth (a `preset` stands for the fields under it). */
  sky?: EnvironmentSkyOverride | null
  /** A `"kind": "color"` sky's colour, `"#RRGGBB"`. */
  skyColor?: string | null
  /** The flat ambient fill of a scene with no `sky`. */
  ambient?: number | null
  /** Over `meta.environment.fog`: any of its fields, merged at any depth (a `preset` stands for the fields under it). */
  fog?: EnvironmentFogOverride | null
  /**
   * Multiplier on lit light before the tonemap (`meta.render.exposure`), more than 0 and at most 64.
   * Over a scene that leaves exposure to the engine it draws manual exposure, as a scene's own
   * `exposure` does; beside `exposureMode: "auto"` it shifts HD's meter instead.
   */
  exposure?: number | null
  /**
   * `meta.render.exposureMode`. `"manual"`: `exposure` is the camera's, and HD's meter is off, so a
   * dark storm stays dark. `"auto"`: HD meters every frame and adapts, as an eye does.
   */
  exposureMode?: "manual" | "auto" | null
}
```

Import: `import type { EnvironmentOverride } from "@argus/api"`

## Members

| Member | Signature | Description |
|---|---|---|
| `sky` | `sky?: EnvironmentSkyOverride \| null` | Over `meta.environment.sky`: any of its fields, merged at any depth (a `preset` stands for the fields under it). |
| `skyColor` | `skyColor?: string \| null` | A `"kind": "color"` sky's colour, `"#RRGGBB"`. |
| `ambient` | `ambient?: number \| null` | The flat ambient fill of a scene with no `sky`. |
| `fog` | `fog?: EnvironmentFogOverride \| null` | Over `meta.environment.fog`: any of its fields, merged at any depth (a `preset` stands for the fields under it). |
| `exposure` | `exposure?: number \| null` | Multiplier on lit light before the tonemap (`meta.render.exposure`), more than 0 and at most 64. Over a scene that leaves exposure to the engine it draws manual exposure, as a scene's own `exposure` does; beside `exposureMode: "auto"` it shifts HD's meter instead. |
| `exposureMode` | `exposureMode?: "manual" \| "auto" \| null` | `meta.render.exposureMode`. `"manual"`: `exposure` is the camera's, and HD's meter is off, so a dark storm stays dark. `"auto"`: HD meters every frame and adapts, as an eye does. |
