> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-es/escenas-sdk7/interactividad/skybox-control.md).

# Control del skybox

Puedes cambiar cómo ve un jugador el skybox cuando está dentro de tu escena; esto también afecta el tono y la dirección de la iluminación global.

El cielo en Decentraland sigue un ciclo de día/noche predeterminado que tarda 2 horas en completarse, así que hay 12 ciclos completos cada día real. Si la escena no está imponiendo ninguna hora fija del día, los jugadores también pueden cambiar a una hora del día específica ajustando un deslizador en su UI.

Cada vez que los jugadores entran en una escena con una hora del día diferente, o la escena cambia la hora del día dinámicamente, el skybox realiza una transición suave durante unos segundos hacia este nuevo valor.

## Hora fija del día

Puedes establecer una hora fija del día para tu escena. Todos los jugadores verán la escena con esta hora del día, y el skybox no seguirá el ciclo de día/noche.

En Creator Hub, abre la configuración de la escena y haz clic en la **Configuración** pestaña para encontrar la **Skybox** sección. Desmarca la **Auto** opción y establece la hora del día que quieras.

![](/files/63ea08d1e2b88d4cb4065a5bbd49abecd7819f75)

También puedes establecer la hora del día del skybox en el código de tu escena. Para hacerlo, agrega la siguiente sección a tu `scene.json` en el nivel raíz:

```json
 "skyboxConfig": {
    "fixedTime": 36000
  }
```

El número se refiere a la cantidad de segundos transcurridos desde el inicio del día, desde 0 (que se refiere a *00:00*) hasta 86400 (que se refiere a *24:00*medianoche). Cualquier número mayor que 86400 también se interpreta como medianoche.

Aquí hay algunos ejemplos más de valores válidos:

* 0 segundos => *00:00*
* 21600 segundos => *06:00*
* 43200 segundos => *12:00*
* 64800 segundos => *18:00*
* 86400 segundos => *24:00*

## Lectura de la hora del día

Puedes leer la hora del día desde el código de tu escena usando la `getWorldTime()` función.

```ts
import { getWorldTime } from '~system/Runtime'

executeTask(async () => {
  let time = await getWorldTime({})
  console.log(time.seconds)
})
```

La función devuelve un número entre 0 y 86400, donde 0 es medianoche y 86400 es 24:00. Este valor se actualiza si la escena cambia la hora del día dinámicamente o si el jugador cambia la hora del día en la UI. De lo contrario, devuelve el valor relativo al ciclo predeterminado de día/noche.

## Cambio dinámico de la hora del día

Puedes cambiar la hora del día dinámicamente usando el `SkyboxTime` componente. Este componente solo puede añadirse a la RootEntity de la escena `engine.RootEntity`.

```ts
import { SkyboxTime } from '@dcl/sdk/ecs'

function main() {
  SkyboxTime.create(engine.RootEntity, { fixedTime: 36000 })
}
```

La `la propiedad fixed_time` es un número entre 0 y 86400, donde 0 es medianoche y 86400 es 24:00. Cualquier número mayor que 86400 también se interpreta como medianoche.

Cada vez que este componente se añade, se elimina o la `la propiedad fixed_time` propiedad cambia, la hora del día del skybox realiza una transición suave durante unos segundos hacia este nuevo valor. Lo mismo ocurre cuando el jugador sale de la escena o entra en ella. Mientras la hora del día del skybox está fija, el skybox ya no seguirá el progreso de su ciclo de día/noche y los jugadores no pueden cambiar la hora del día mediante la UI.

De forma predeterminada, la transición siempre ocurre en dirección hacia adelante, pero puedes cambiar esto configurando el `transitionMode` propiedad a `TransitionMode.TM_FORWARD` o `TransitionMode.TM_BACKWARD`.

```ts
import { SkyboxTime, TransitionMode } from '@dcl/sdk/ecs'

function main() {
  SkyboxTime.create(engine.RootEntity, { fixedTime: 36000, transitionMode: TransitionMode.TM_BACKWARD })
}
```

{% hint style="info" %}
**💡 Consejo**: Para ver ejemplos funcionales del control del skybox, consulta las [`2,1-skybox-sdk-scene-a`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/2,1-skybox-sdk-scene-a) y [`3,1-skybox-sdk-scene-b`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/3,1-skybox-sdk-scene-b) de prueba, que controlan `SkyboxTime` y `TransitionMode` en vivo desde un panel de UI, y [`2,0-skybox-scene-json`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/2,0-skybox-scene-json), que lee el `fixedTime` establecido en `scene.json` de vuelta en tiempo de ejecución mediante `getSceneInformation()`.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-es/escenas-sdk7/interactividad/skybox-control.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
