Control de skybox

Cambia la hora del skybox

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

El cielo en Decentraland sigue un ciclo día/noche predeterminado donde 1 minuto pasa por cada segundo, por lo que un ciclo completo tarda 24 minutos en completarse. Si la escena no impone una hora fija del día, los jugadores también pueden cambiar a una hora concreta moviendo un control deslizante en su UI.

Siempre que los jugadores entren en una escena con una hora del día diferente, o la escena cambie la hora del día dinámicamente, el skybox hace una transición suave durante unos segundos a 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 esa hora del día y el skybox no seguirá el ciclo día/noche.

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



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

El número se refiere a la cantidad de segundos desde el inicio del día, que va de 0 (que se refiere a 00:00) a 86400 (que se refiere a 24:00). 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

Leer la hora del día

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

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 día/noche predeterminado.

Cambiar la hora del día dinámicamente

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

El fixed_time la propiedad 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.

Siempre que este componente se añada, se elimine o la fixed_time propiedad cambie, la hora del día del skybox hace una transición suave durante unos segundos a este nuevo valor. Lo mismo sucede cuando el jugador sale o entra en la escena. Mientras la hora del día del skybox esté fija, el skybox ya no seguirá el progreso de su ciclo día/noche y los jugadores no podrán cambiar la hora del día mediante la UI.

Por defecto, la transición siempre ocurre en la dirección hacia adelante, pero puedes cambiar esto estableciendo el campo propiedad en TransitionMode.TM_FORWARD u TransitionMode.TM_BACKWARD.

Última actualización