> 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-pt/scenes-sdk7/interatividade/skybox-control.md).

# Controle do Skybox

Altere o tempo do skybox

Você pode alterar como um jogador vê a skybox sempre que ele estiver em sua cena; 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 que leva 2 horas para ser concluído, portanto há 12 ciclos completos por dia real. Se a cena não estiver impondo um horário fixo do dia, então os jogadores também podem mudar para um horário específico do dia ajustando um controle deslizante na UI.

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

## Horário fixo do dia

Você pode definir uma hora do dia fixa para 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 configurações da cena e clique na **Configurações** aba para encontrar a **Skybox** seção. Desmarque a **Auto** opção e defina a hora do dia desejada.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-85bd070c455c7e5852eba1e78902edb88dbfd17b%2Ffixed-time-of-day.png?alt=media\&token=56081304-f57b-475b-94e4-07c292805637)

Você também pode definir a hora do dia do skybox no código da sua scene. Para isso, adicione a seguinte seção ao seu `scene.json` na raiz:

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

O número se refere à quantidade de segundos desde o início do dia, variando de 0 (que se refere a *00:00*) até 86400 (que 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*

## Lendo o horário do dia

Você pode ler o horário do dia no código da sua cena usando o `getWorldTime()` função.

```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, onde 0 é meia-noite e 86400 é 24:00. Esse valor é atualizado se a cena alterar o horário do dia dinamicamente ou se o jogador alterar o horário do dia na UI. Caso contrário, ela retorna o valor relativo ao ciclo padrão de dia/noite.

## Alterando o horário do dia dinamicamente

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

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

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

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

Sempre que esse componente é adicionado, removido, ou o `fixed_time` propriedade é alterada, o horário da skybox faz uma transição suave ao longo de alguns segundos para esse novo valor. O mesmo acontece quando o jogador sai ou entra na cena. Enquanto o horário da skybox estiver fixo, a skybox não seguirá mais o progresso do seu ciclo de dia/noite e os jogadores não poderão alterar o horário do dia pela UI.

Por padrão, a transição sempre acontece na direção para a frente, mas você pode mudar isso definindo o `transitionMode` property como `TransitionMode.TM_FORWARD` ou `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" %}
**💡 Dica**: Para exemplos práticos de controle da skybox, veja as [`2,1-skybox-sdk-scene-a`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/2,1-skybox-sdk-scene-a) e [`3,1-skybox-sdk-scene-b`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/3,1-skybox-sdk-scene-b) cenas de teste, que controlam `SkyboxTime` e `TransitionMode` ao vivo a partir de um painel da UI, e [`2,0-skybox-scene-json`](https://github.com/decentraland/sdk7-test-scenes/tree/main/scenes/2,0-skybox-scene-json), que lê o `fixedTime` definido em `scene.json` de volta em tempo de execução por meio de `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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
