> 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 da Skybox

Altere o horário da skybox

Você pode alterar como um jogador vê o skybox sempre que ele estiver na sua scene; isso também afeta o tom 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, então há 12 ciclos completos a cada dia real. Se a scene não estiver impondo um horário fixo do dia, os jogadores também podem mudar para um horário específico do dia alterando um slider na UI.

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

## Horário fixo do dia

Você pode definir um horário fixo do dia para a sua scene. Todos os jogadores verão a scene com esse horário do dia, e o skybox não seguirá o ciclo de dia/noite.

No Creator Hub, abra as configurações da scene e clique na **Configurações** aba para encontrar a **Skybox** seção. Desmarque a **Automático** opção e defina o horário do dia desejado.

![](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)

Você também pode definir o horário do dia do skybox no código da sua scene. Para fazer 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 scene usando a `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 scene alterar dinamicamente o horário do dia ou se o jogador mudar o horário do dia na UI. Caso contrário, ele 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 scene `engine.RootEntity`.

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

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

A `fixed_time` a 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 for adicionado, removido ou a `fixed_time` propriedade for alterada, o horário do dia do skybox faz a transição suavemente ao longo de alguns segundos para esse novo valor. O mesmo acontece quando o jogador sai ou entra na scene. Enquanto o horário do dia do skybox estiver fixo, o 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 via UI.

Por padrão, a transição sempre acontece na direção para frente, mas você pode alterar isso definindo a `transitionMode` property para `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 funcionais de controle do 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) scenes 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 runtime via `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-pt/scenes-sdk7/interatividade/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.
