# Controlo do skybox

Você pode alterar como um player vê o skybox sempre que ele estiver em pé na sua scene; isso também afeta o matiz e a direção da iluminação global.

O céu em Decentraland segue um ciclo padrão de dia/noite em que 1 minuto passa a cada segundo, então um ciclo completo leva 24 minutos para ser concluído. Se a scene não estiver impondo nenhum horário fixo do dia, então os players também podem alternar para um horário específico do dia alterando um slider na sua UI.

Sempre que os players entram numa scene com um horário do dia diferente, ou a scene altera dinamicamente o horário do dia, o skybox faz uma transição suave ao longo de alguns segundos para esse novo valor.

## Horário fixo do dia

Pode definir uma hora do dia fixa para a sua scene. Todos os jogadores verão a scene com esta hora do dia, e o skybox não seguirá o ciclo dia/noite.

No Creator Hub, abra as definições da scene e clique no **Definições** separador para encontrar a secção **Skybox** Desmarque a **Auto** opção e defina a hora do dia que pretende.

![](/files/57b03d3e58e17579cefefa6b336c9aa8af41ceb4)

Também pode definir a hora do dia do skybox no código da sua scene. Para isso, adicione a seguinte secção ao seu `scene.json` ao nível raiz:

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

O número se refere à quantidade de segundos desde o início do dia, variando de 0 (isso se refere a *00:00*) a 86400 (isso se refere a *24:00*). Qualquer número maior que 86400 também é interpretado como meia-noite.

Aqui estão mais alguns exemplos de valores válidos:

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

## Ler o horário do dia

Você pode ler o horário do dia no código da sua scene usando o `getWorldTime()` function.

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

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

A função retorna um número entre 0 e 86400, em que 0 é meia-noite e 86400 é 24:00. Esse valor é atualizado se a scene alterar dinamicamente o horário do dia ou se o player alterar o horário do dia na UI. Caso contrário, ele retorna o valor relativo ao ciclo padrão de dia/noite.

## Alterar dinamicamente o horário do dia

Você pode alterar dinamicamente o horário do dia usando o `SkyboxTime` component. Esse component só pode ser adicionado à entidade raiz da scene `engine.rootEntity`.

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

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

O `fixed_time` property é um número entre 0 e 86400, em que 0 é meia-noite e 86400 é 24:00. Qualquer número maior que 86400 também é interpretado como meia-noite.

Sempre que esse component é adicionado, removido, ou o `fixed_time` property é alterado, o horário do skybox faz uma transição suave ao longo de alguns segundos para esse novo valor. O mesmo acontece quando o player sai ou entra na scene. Enquanto o horário do skybox estiver fixo, o skybox deixará de acompanhar o progresso do seu ciclo de dia/noite e os players não poderão alterar o horário do dia pela UI.

Por padrão, a transição sempre acontece na direção para frente, mas você pode mudar isso definindo o `direction` propriedade para `TransitionMode.TM_FORWARD` ou `TransitionMode.TM_BACKWARD`.

```ts
import { TransitionMode } from '~system/Runtime'
import { SkyboxTime } from '@dcl/sdk/ecs'

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


---

# Agent Instructions: 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:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/interatividade/skybox-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
