El actor Secuenciador del día de sol/luna que se incluye en el complemento Day Sequence es idóneo para cielos artísticos, pero carece de las posiciones exactas de los cuerpos celestes, que son necesarias para una simulación o proyectos arquitectónicos más precisos.
Este complemento es una implementación de u secuenciador del día con consideraciones más científicas. Familiarízate con el secuenciador del día antes de usar el complemento Celestial Vault.
El complemento Celestial Vault ofrece las siguientes consideraciones adicionales para obtener representaciones más precisas del cielo:
Un fondo de recámara celestial considerando la rotación de la Tierra.
Un campo de estrellas en el que las posiciones y la magnitud de las estrellas se basan en datos de catálogos oficiales o de ubicaciones ficticias arbitrarias.
Planetas del sistema solar colocados con precisión mediante las ecuaciones VSOP87.
La luna, con sus correspondientes fases en función de las efemérides. (El control manual sigue siendo posible).
Todas las unidades de iluminación se establecen de acuerdo con las unidades físicas de la vida real, con una gran diferencia de luminancia entre el día y la noche.
La atención se ha establecido en el sistema solar visto desde la Tierra, usando el mismo enfoque geocéntrico que Platón. Aún no se ha considerado un enfoque heliocéntrico que permita viajar entre planetas.
Cómo habilitar el secuenciador del día de recámara celestial en un proyecto
Para empezar a usar el actor Secuenciador del día de recámara celestial en tu escena, primero debes activar el complemento Celestial Vault en tu proyecto. Puedes encontrarlo en el explorador de complementos ubicado en el menú Editar.
No es necesario añadir el complemento DaySequence; se define una dependencia automática.
Este complemento no depende del complemento de GeoReferencing, pero ambos pueden usarse a la vez. Solo debes asegurarte de establecer la misma posición de georreferenciación en los actores GeoReferencing y CelestialVaultDaySequence.
Cómo trabajar con el actor Secuenciador del día de recámara celestial
Aunque el actor Secuenciador del día de recámara celestial se basa en el mismo concepto que un recurso de colección de secuenciador del día, esta secuencia tiene opciones limitadas para garantizar que el comportamiento del cielo sea coherente con la realidad.
Los distintos objetos relacionados con el firmamento estarán controlados por un secuenciador de recámara celestial procedimental que leerá las propiedades compartidas en el actor Secuenciador del día de cámara celestial.
Por lo tanto, asegúrate de que secuenciador de recámara celestial no esté asignado a otro tipo de actor Secuenciador del día.
Este secuenciador procedimental tiene en cuenta las siguientes consideraciones:
La recámara celestial gira alrededor del eje de rotación de la Tierra en 24 horas.
Las estrellas tienen una posición fija con respecto a la recámara.
Los planetas se encuentran en la posición correcta. (Debido a su cámara lenta, asumimos que no se moverán durante el secuenciador del día).
La luna sigue su movimiento sideral. (Se desplaza unos 13 grados hacia el este en relación con las estrellas de fondo y sale unos 50 minutos más tarde cada día).
Se representa la fase lunar propiamente dicha. (Para simplificar, se supone que es constante a lo largo de un día, lo que no es así en la realidad).
El sol sigue su trayectoria en el cielo.
Notas sobre las limitaciones actuales
Algunas ecuaciones celestes se han simplificado por motivos de rendimiento y, aunque la precisión es bastante buena (fracciones de grado), no se garantiza que este sistema proporcione posiciones exactas o ultraprecisas.
El efecto de nutación/precesión del eje de la Tierra no se simula.
Las coordenadas RA y DEC son las de la época J2000, no las de la fecha.
El sistema Secuenciador del día realiza un bucle sobre un solo día.
Debido a su movimiento sideral, la luna saltará sobre su posición anterior cuando pase la medianoche.
Las ecuaciones VSOP87 usan un número limitado de coeficientes, excepto para la Tierra y la luna. Las posiciones de los planetas son aproximadas.
No se han considerado los casos de uso de eclipses (solar/lunar).
El componente SkyAtmosphere considera a la Tierra como un objeto esférico con un radio fijo. Cuando se trabaja con datos geoespaciales precisos usando el elipsoide WGS84 como referencia, no es posible la coincidencia de radios. La solución recomendada es establecer el radio de la atmósfera del cielo para que tenga el radio correcto alrededor del origen del mundo de UE y, cuando la cámara esté lejos del origen, cambiar dinámicamente este radio.
Todavía no es posible tener un fotograma ECEF geocéntrico (con origen en el centro de la Tierra).
Es posible que estas limitaciones mejoren en futuras iteraciones del complemento.
Actor Secuenciador del día de recámara celestial
Cómo añadir el actor al mundo
El actor Secuenciador del día de recámara celestial es un ciclo completo preconfigurado de día y noche que puedes arrastrar y soltar en tu nivel. No requiere configuración adicional para funcionar correctamente.
Sigue estos pasos para empezar:
Crea un nuevo nivel en blanco o abre un nivel existente. Si tu nivel ya tiene componentes de iluminación del entorno (luces direccionales, luz cenital, atmósfera del cielo, nubes volumétricas y volumen de posprocesamiento global), deberías eliminarlos.
En la barra de herramientas principal del editor de niveles, haz clic en Crear y arrastra un actor Secuenciador del día de recámara celestial hasta la escena desde la categoría Todo del menú desplegable.
Este sistema utiliza unidades físicamente precisas para las intensidades de las luces y la luminancia de los cuerpos. Existe un enorme intervalo dinámico entre la noche y el día (EV100 que va de -7 a 14).
Para ello, se necesitan valores especiales en los ajustes de adaptación a la vista HDR y de la exposición local. El actor ya incluye un componente de volumen de posprocesamiento preconfigurado de extensión infinita.
Puedes usarlo para tu proyecto, pero si quieres tener el tuyo propio, asegúrate de desactivarlo. Tanto el actor como los distintos materiales te permiten trabajar con otras unidades falsas.
Y como la adaptación a la vista tardará un poco en ajustarse, plantéate aumentar los valores de aceleración y reducción de velocidad mientras trabajas.
Cómo trabajar con las propiedades del actor
Cuando hayas añadido el actor Secuenciador del día recámara celestial al nivel, podrás cambiar cualquier valor de sus componentes. Sin embargo, algunos de ellos estarán controlados por el secuenciador procedimental, por lo que es normal que la edición de algunos esté bloqueada.
Asimismo, el actor Secuenciador del día de recámara celestial siempre debe estar situado en el origen del mundo. No deberías cambiar su posición.
Todas las propiedades que necesitas controlar son parte del propio actor:
Fecha y ubicación
| Propiedad | Descripción |
|---|---|
Usar fecha actual | Con esta opción marcada, el sistema se inicializará con el año, el mes y el día de tu ordenador. Eso sí, no tendrá en cuenta tu zona horaria ni el horario de verano. |
Año | Un año para mostrar el cielo |
Mes | Un mes para mostrar el cielo |
Día | Un día para mostrar el cielo Ten en cuenta que no se requiere un una hora, ya que lo define el limpiador de hora del día. Se supone que es la hora local de la ubicación. |
Zona horaria GMT | Introduce manualmente tu zona horaria aquí; no se rellena automáticamente a partir de la posición. |
Tiene horario de verano | Comprueba manualmente si estás en horario de verano. No se calcula automáticamente a partir de tu fecha local. |
Latitud | Latitud en la Tierra del punto correspondiente a tu origen del mundo. |
Longitud | Longitud en la Tierra del punto correspondiente a tu origen del mundo. |
GMST en hora del día 0 [solo lectura] | Indica la hora sideral media de Greenwich correspondiente a t=0 (comienzo del día) para la fecha actual. |
Transformación de centro de planeta [solo lectura] | Para simplificar las animaciones, todos los componentes están vinculados a un componente de escena con una transformación configurada correctamente, que se ubica en el centro del planeta y se orienta hacia su eje de rotación. La rotación de este componente simulará la rotación del planeta. |
Estrellas
| Propiedad | Descripción |
|---|---|
Catálogo de estrellas celestes | La tabla de datos de entrada que se usará para estrellas reales con propiedades celestes. |
Catálogo de estrellas ficticias | La tabla de datos de entrada que se usará para estrellas ficticias con propiedades básicas. |
Magnitud máxima visible | Todas las estrellas cuya magnitud sea superior a este umbral se ignorarán en el momento de la generación. Las magnitudes bajas significan estrellas brillantes. Normalmente, a simple vista solo se puede ver hasta una magnitud de 6. Cuanto mayor sea el umbral, más estrellas se generarán, pero es posible que no sean visibles a menos que aumentes artificialmente su visibilidad con el material de las estrellas. |
Conservar información de estrellas | Si esta opción está marcada, se generará una tabla que se guardará en la memoria para poder consultar los datos de las estrellas. Si solo te interesa la representación visual, déjala sin marcar. |
En el momento de la generación, ambos catálogos se fusionan en un solo componente ISM para el renderizado. Sin embargo, dado que las estrellas ficticias no tienen los mismos detalles, cada una tiene un formato de tabla de datos diferente:
Las tablas de datos de las estrellas celestes deben ser del tipo CelestialStarInputData.
Las tablas de datos de las estrellas ficticias deben ser del tipo StarInputData.
Si usas un formato incorrecto, aparecerá una advertencia en el registro de mensajes y no se generarán las estrellas correspondientes.
Algunas tablas de datos base se encuentran en la carpeta Engine/Plugins/CelestialVault/Data.
Estrellas celestes
Las estrellas celestes son estrellas de los catálogos oficiales. Contienen mucha información que se puede consultar más adelante. Se puede importar un catálogo de estrellas celestes desde archivos CSV siempre que contenga los campos del tipo CelestialStarInputData:
ID: ID único [de 1 a n].
Name: nombre de la estrella; puede estar vacío.
RA: ascensión recta; expresada en horas (1 hora = 15°).
DEC: declinación; expresada en grados.
DistanceInPC: distancia; expresada en pársecs.
Magnitud: por lo general [-2 a 13].
ColorIndex: también conocido como B-V; representa el color de la estrella [-0.33 a 2.0].
HipparcosID: ID de estrella en el catálogo de Hipparcos; puede estar vacío.
HenryDraperID: ID de estrella en el catálogo de Henry Draper; puede estar vacío.
YaleBrightStarID: ID de estrella en el catálogo de estrellas brillantes de Yale, puede estar vacío.
Se proporcionan dos tablas de datos con el complemento
DT_HYGCatalog_Full: el catálogo completo HYG de la página de Astronomy Nexus. Contiene 120 000 registros de estrellas.
DT_HYGCatalog_10K: El mismo catálogo HYG, pero limitado a las 10 000 estrellas más brillantes (hasta una magnitud de 6). Suficiente para la mayoría de los casos de uso.
Estrellas ficticias
Las estrellas ficticias están pensadas para ser más simples y diseñadas por el usuario. Usan el mismo concepto de un catálogo, pero como solo se necesitan los elementos visuales, la tabla de datos necesita contener solo un conjunto simplificado de campos del tipo StarInputData:
ID: ID único [de 1 a n].
Name: nombre de la estrella; puede estar vacío.
RA: ascensión recta; expresada en horas (1 hora = 15°).
DEC: declinación; expresada en grados.
Magnitud: por lo general [-2 a 13].
Color: cadena de color RGB lineal con el formato «(R=0.924,G=0.114,B=1)».
Se proporcionan dos tablas de datos con el complemento
DT_FictionalStars: un ejemplo sencillo de estrellas colocadas al azar
DT_FictionalEasterEgg: un ejemplo más avanzado de una constelación con forma de huevo de Pascua.
Crear tu propio catálogo de estrellas ficticias queda fuera del ámbito de esta documentación, pero determinados programas de código abierto de visión artificial pueden extraer fácilmente las coordenadas de píxeles de un conjunto de puntos y, con un poco de magia de las hojas de cálculo, se pueden crear archivos CSV, lo que permite llevar a cabo experimentos elaborados.
Importación de tu propio archivo CSV
Los catálogos de estrellas se pueden importar con archivos CSV como estos:
También puedes exportar una de las tablas de datos proporcionadas como CSV para tener una plantilla inicial.
Arrastra y suelta el archivo CSV en el explorador de contenido.
Asegúrate de seleccionar el tipo de fila CelestialStarInputData/StarInputData adecuado para el contenido que vayas a importar.
Comprueba las distintas opciones de entrada si tienes otros campos en tu conjunto de datos.
Asegúrate de dar el nombre adecuado al campo que se usará como clave principal. (aquí ID)
Planetas
| Propiedad | Descripción |
|---|---|
Catálogo de planetas | La tabla de datos de entrada contiene las propiedades de los planetas. |
Tamaño de los planetas | Un factor de escala artificial que se aplicará a los planetas. |
Conservar información de planetas | Si esta opción está marcada, se generará una tabla que se guardará en la memoria para poder consultar los datos de los planetas. Si solo te interesa la representación visual, déjala sin marcar. |
Actualmente, la atención se centra en los planetas del sistema solar. Las efemérides del VSOP87 simulan sus trayectorias exactas. El sistema también permite el uso de planetas arbitrarios con trayectorias elípticas, pero aún no se ha implementado.
Una tabla de datos de planetas debe contener los siguientes campos:
ID: ID único [de 1 a n].
Name: nombre del planeta; puede estar vacío.
OrbitType: enumeración para las órbitas de los planetas solares. La órbita elíptica aún no está en uso.
Radius: radio del planeta (km).
TextureColumnIndex: índice de la textura del planeta en el atlas global de planetas.
Los planetas se renderizan usando impostores de planos, con un sombreador que los escala para que siempre tengan un tamaño mínimo en píxeles en pantalla. El efecto de la propiedad Tamaño de los planetas solo es visible si el tamaño real del planeta está por encima de este tamaño de píxel, en función de su radio, la distancia y el campo de visión de la cámara.
Luna
Actualmente, el sistema se limita solo a la luna de la Tierra, por lo que las opciones son limitadas.
| Propiedad | Descripción |
|---|---|
Escala de la luna | Un factor de escala artificial que se aplicará a la luna |
Control manual | Por defecto, la posición y la fase de la luna se calculan a partir de los valores de fecha y posición. Al marcar esta casilla, puedes activar opciones adicionales (ver nota más abajo). |
Edad de la luna | Corresponde a la edad lunar de la luna: 0 = Luna nueva, 0.25 = Cuarto creciente, 0.5 = Luna llena, 1.0 = Próxima luna nueva. |
Desfase de la luna respecto a la ascensión recta del sol | Desviación horizontal de la posición de la luna respecto al sol, en horas. (1 hora = 15°). Si la compensación es de 3 h, la luna seguirá al sol con una compensación de 45° y pasará por el horizonte 3 horas después que el sol. |
Desfase de la luna respecto a la declinación del sol | Desfase vertical de la posición de la luna en relación con el sol, en grados. |
Por defecto, la posición y la fase de la luna se calculan automáticamente sin que tengas que hacer nada. Sin embargo, en algunos casos de uso de entrenamiento y simulación, es importante controlar el brillo por la noche, porque la visibilidad durante una noche oscura o con luz es muy diferente.
Encontrar el día exacto en un calendario en el que la luna esté en la fase y posición adecuadas suele ser una tarea engorrosa, por lo que la opción de control manual ayuda a solucionar este problema.
Tener un desfase con respecto al sol es la forma más sencilla de hacerlo desde tu perspectiva. Es intuitivo, sea cual sea tu hemisferio, tu latitud, la duración del día actual...
Pero ten en cuenta que puede tener efectos visuales descontrolados que deberías tener considerar: supongamos que estableces una compensación de 3 horas. La luna estará «a la izquierda» del sol. En este caso, la luz solar debería producir una media luna creciente. Por lo tanto, evita ajustar un valor de edad lunar superior a 0.75. En el caso extremo, podrías tener una luna llena cerca del sol, lo que nunca sucede. Ten cuidado con esto si quieres tener un mínimo de realismo.
Debido al requisito del control manual, la luna se renderiza usando un plano con un material personalizado en lugar de una esfera en 3D.
Avanzadas
El cielo se renderiza como una esfera, con un conjunto de distintas capas de radios más pequeños para los distintos cuerpos celestes, por intervalo decreciente: el fondo de la recámara, las estrellas, los planetas y la luna.
Deben estar lejos del planeta para evitar los efectos de paralaje, pero suficientemente lejos juntos para evitar la competencia en profundidad. Las propiedades avanzadas permiten ajustar los distintos intervalos de los objetos.
También te permite establecer los valores base para las luces direccionales del sol y la luna.
| Propiedad | Descripción |
|---|---|
Distancia de recámara celestial | Radio (km) de la esfera que se mapeará con la textura de fondo (la Vía Láctea, las constelaciones o las líneas de la cuadrícula celeste) |
Porcentaje de recámara de estrellas | Porcentaje del radio de la esfera celestial donde se generarán las estrellas. |
Porcentaje de recámara de planetas | Porcentaje del radio de la esfera celestial donde se generarán los planetas. |
Porcentaje de salto a la luna | Porcentaje del radio de la esfera celestial donde se generará la luna. |
Intensidad de la luz solar | Intensidad de la luz solar físicamente correcta (por defecto: 120 000 lux). |
Intensidad de la luz de la luna | Corrección física de la intensidad de la luz de la luna (por defecto: 0.1 lux) |
Nota sobre luces y adaptación a la vista:
Este sistema se ha diseñado pensando en la precisión física y los valores por defecto se han establecido automáticamente.
Las luces del sol y la luna se han definido como luces de atmósfera, índice 0 para el sol e índice 1 para la luna.
La intensidad del sol de 120 000 lux implica una luminancia de la superficie blanca en el suelo de unas 8000-12 000 cd/m² al mediodía.
La intensidad base de la luna se ha establecido en 0.1 lux, que es la media de una luna llena. La literatura ofrece intervalos de entre 0.05 y 0.1 lux, hasta 0.32 lux para una superluna, ¡así que no dudes en ajustarlo! Implica una luminancia de la superficie blanca en el suelo de alrededor de 0.01-0.02 cd/m².
Reducimos esta intensidad base en función de la fase, por lo que puede ser muy baja cuando no hay luz artificial cerca.
¡La superficie de la luna suele ser muy brillante! (~1000-2500 cd/m²). Mirar a la luna durante la luna llena será deslumbrante.
Debido a este amplio intervalo, también se han tenido que ajustar los valores por defecto para la adaptación a la vista.
MinEV100 se ha fijado en -0.5 para que la noche de luna llena esté clara y el entorno esté oscuro cuando haya luna nueva.
La adaptación a la vista basada en el histograma no es suficiente para hacer frente a tal intervalo de brillo, sobre todo si el tamaño de la luna en pantalla es pequeño. Así que hemos establecido una curva de contraste de altas luces local para acomodar el brillo de la luna.
Todos estos ajustes específicos forman parte de un volumen de posprocesamiento global asociado al actor.
El sistema también se encarga de la cobertura de nubes para la iluminación, el sombreado y el efecto de niebla en los objetos. Tanto la luz del sol como la de la luna están establecidas para proyectar sombras y sombras de nubes, lo que repercute en el rendimiento. No dudes en desactivarlo si no lo necesitas.
Cómo ajustar la apariencia del cielo
El sistema cuenta con instancias de material para todos los componentes, que puedes reemplazar por las tuyas propias. Este párrafo describirá las propiedades de las instancias de material.
Ten en cuenta que cambiar los valores de intensidad de los materiales probablemente implique cambiar los ajustes de adaptación ocular o exposición.
Si tienes pensado cambiar estos materiales, usa copias en el contenido de tu proyecto en lugar de cambiar los originales.
Celestial Vault
El material MI_CelestialVault es un material multitextura que también contiene el halo solar.
| Propiedad | Descripción |
|---|---|
Intensidad global | Factor de brillo de toda la recámara celestial (fondo + constelaciones + cuadrícula celeste) |
Intensidad del fondo | Factor de brillo de la textura de fondo única (Vía Láctea) |
Textura del fondo | Textura de reemplazo para el fondo de la recámara. Debe estar en coordenadas celestes. |
Mostrar constelaciones | Activa una capa de textura adicional con un mapa de constelación (blanco) |
Color de constelaciones | Color del tono de la constelación. |
Intensidad de constelaciones | Factor de brillo de la única textura de constelaciones |
Textura de constelaciones | Textura de reemplazo para las constelaciones. Debe estar en coordenadas celestes. |
Mostrar cuadrícula celeste | Activa una capa de textura adicional con un mapa de cuadrícula celeste (blanco) |
Color de la cuadrícula | Color del tono de la cuadrícula celeste |
Intensidad de cuadrícula | Factor de brillo de la única textura de cuadrícula celestial |
Textura de cuadrícula | Textura de reemplazo para la cuadrícula celeste. Debe estar en coordenadas celestes. |
El sistema incluye texturas medias, pero puedes encontrar opciones en alta resolución aquí: https://svs.gsfc.nasa.gov/4851/
Estrellas
El material MI_Stars se usa para texturizar los planos individuales de las estrellas, renderizándolos como un componente de malla estática instanciada. Contiene opciones para el aspecto y el tamaño de las estrellas.
Aspecto
| Propiedad | Descripción |
|---|---|
Desaturación | Todas las estrellas se renderizan usando un color por instancia, establecido manualmente para las estrellas ficticias, calculado a partir del valor B-V para las estrellas celestes. Este ajuste permite desaturar el valor del color (0=sin modificar, 1=solo en escala de grises) |
Desfase de magnitud | El brillo de la estrella se calcula a partir de su magnitud. Este parámetro permite aumentar artificialmente el brillo de la estrella cambiando su magnitud teórica. Los valores negativos reducen la magnitud y, por tanto, aumentan el brillo. El brillo es un factor exponencial de la magnitud. |
Máscara | Máscara de texturas usada para las estrellas. Consulta T_StarMask_* para obtener más máscaras. |
Caída de máscara | Valor exponencial aplicado al color de la máscara y al alfa para aumentar o disminuir el contraste. |
Tamaño base
El brillo de las estrellas no es suficiente para verlas; deben tener un tamaño mínimo en pantalla, si es posible superior a 1 pixel, para evitar artefactos de escalado.
Mientras que el brillo es un factor exponencial de la magnitud, el tamaño de las estrellas en pantalla puede ser una función lineal, definida por pares magnitud/tamaño. (Acotado sobre los límites del intervalo)
| Propiedad | Descripción |
|---|---|
Magnitud de la estrella más brillante | Magnitud de referencia de la estrella más brillante. Las estrellas por debajo de esta magnitud seguirán teniendo el tamaño máximo. |
Tamaño de la estrella más brillante (píxeles) | Tamaño de pixel de referencia para las estrellas de la magnitud más brillante. Las estrellas de menor magnitud tendrán un tamaño interpolado hacia los ajustes de estrella más débiles. |