L'acteur de séquence de jour soleil lune fourni dans le plug-in Day Sequence convient parfaitement aux ciels artistiques, mais il ne précise pas l'emplacement exact des corps célestes, nécessaire pour des simulations plus précises ou des projets architecturaux.
Ce plug-in est une implémentation d'un acteur Séquence de jour avec des considérations plus scientifiques. Assurez-vous de bien connaître l'acteur Séquence de jour avant d'utiliser le plug-in Celestial Vault.
Le plug-in Celestial Vault offre les éléments supplémentaires suivants pour obtenir une représentation plus précise du ciel :
Un arrière-plan de la voûte céleste qui tient compte de la rotation de la Terre.
Un champ d'étoiles où la position et la magnitude des étoiles sont déterminées à partir de données issues de catalogues officiels ou d'emplacements fictifs arbitraires.
Des planètes du système solaire, placées avec précision grâce aux équations de VSOP87.
La Lune, avec les phases correspondantes en fonction des Éphémérides. (Le contrôle manuel est toujours possible.)
Toutes les unités d'éclairage sont définies conformément aux unités physiques réelles, avec une grande différence de luminance entre le jour et la nuit.
L'accent a été mis sur le système solaire tel qu'on le voit depuis la Terre, avec la même approche géocentrique que celle de Platon. Une approche héliocentrique permettant les déplacements entre les planètes n'a pas encore été envisagée.
Activer la séquence de jour de voûte céleste dans un projet
Pour pouvoir utiliser l'acteur de séquence de jour de voûte céleste dans votre scène, vous devez commencer par activer le plug-in Celestial Vault pour votre projet. Celui-ci se trouve dans le navigateur de plug-ins situé dans le menu Modifier.
Il n'est pas nécessaire d'ajouter le plug-in DaySequence, car une dépendance automatique est définie.
Ce plug-in ne dépend pas du plug-in de géoréférencement, mais les deux peuvent être utilisés ensemble. Assurez-vous simplement de définir le même emplacement de géoréférencement dans les acteurs GeoReferencing et CelestialVaultDaySequence.
Utiliser l'acteur de séquence de jour de voûte céleste
Bien que l'acteur de séquence de jour de voûte céleste repose sur le même concept qu'une ressource de collection de séquence de jour, cette séquence dispose d'options limitées pour que le comportement du ciel soit cohérent avec la réalité.
Les différents objets liés au ciel sont régis par une séquence procédurale de voûte céleste, qui lit les propriétés partagées dans l'acteur de séquence de jour de voûte céleste.
Par conséquent, veillez à ce que la séquence de jour de voûte céleste ne soit pas assignée à un autre type d'acteur DaySequence.
Cette séquence procédurale prend en compte les points suivants :
La voûte céleste tourne autour de l'axe de rotation de la Terre en 24 heures.
Les étoiles ont une position fixe par rapport à la voûte.
Les planètes sont placées à la bonne position. (En raison de leur mouvement lent, nous partons du principe qu'elles ne bougent pas pendant la séquence de jour.)
La Lune suit son mouvement sidéral. (Elle se déplace vers l'Est d'environ 13 degrés par rapport aux étoiles en arrière-plan et se lève environ 50 minutes plus tard chaque jour.)
La phase de Lune correcte est représentée. (Pour simplifier, nous supposons qu'elle est constante au cours d'une journée, ce qui n'est pas le cas dans la réalité.)
Le Soleil suit sa trajectoire dans le ciel.
Remarques concernant les limitations actuelles
Certaines équations célestes ont été simplifiées à des fins de performances et, même si la précision est assez bonne (fractions d'un degré), ce système ne garantit pas une position exacte ou ultra-précise.
L'effet de précession/nutation de l'axe de la Terre n'est pas simulé.
Les coordonnées AD et DEC sont celles de l'époque J2000 et non celles d'aujourd'hui.
Le système DaySequence parcourt en boucle un jour.
En raison de son mouvement sidéral, la Lune change son emplacement précédent au passage de minuit.
Les équations de VSOP87 utilisent un nombre limité de coefficients, sauf pour la Terre et la Lune. La position des planètes est approximative.
Les cas d'utilisation d'une éclipse (solaire/lunaire) n'ont pas été pris en compte.
Le composant SkyAtmosphere considère la Terre comme un objet sphérique doté d'un rayon fixe. Lorsque vous travaillez avec des données géospatiales précises en utilisant l'ellipsoïde WGS84 comme référence, la correspondance de rayon n'est pas possible. La solution de contournement recommandée est de définir le rayon du composant SkyAtmosphere de manière à obtenir le rayon approprié autour de l'origine du monde de l'UE, puis à modifier dynamiquement ce rayon lorsque la caméra s'éloigne de l'origine.
Il n'est pas encore possible d'obtenir une image ECEF géocentrique (origine du centre de la Terre).
Nous pallierons ces limitations dans de futures versions du plug-in.
Acteur de séquence de jour de voûte céleste
Ajouter l'acteur au monde
L'acteur de séquence de jour de voûte céleste permet de créer un cycle jour-nuit préconfiguré que vous pouvez faire glisser sur votre niveau. Il ne nécessite aucune configuration supplémentaire pour être complètement fonctionnel.
Suivez ces étapes pour commencer :
Créez un niveau vide ou ouvrez un niveau existant. Si votre niveau dispose déjà de composants d'éclairage de l'environnement (éclairages directionnels, lumière naturelle, atmosphère, nuages volumétriques et volume de post-traitement), vous devez les supprimer.
Dans la barre d'outils principale de l'éditeur de niveau, cliquez sur Créer et faites glisser un acteur de séquence de jour de voûte céleste dans la scène depuis la catégorie Tout.
Ce système utilise des unités physiquement précises pour l'intensité des lumières et la luminance des corps. Il existe une vaste plage de valeurs dynamiques entre la nuit et le jour (EV100 allant de -7 à 14).
Pour cela, vous devez définir des valeurs spéciales pour les paramètres Adaptation visuelle HDR et Exposition locale. L'acteur inclut déjà un composant de volume de post-traitement préconfiguré d'une étendue infinie.
Vous pouvez l'utiliser pour votre projet, mais si vous souhaitez créer le vôtre, assurez-vous de le désactiver. L'acteur ou les différents matériaux vous permettent de travailler avec d'autres unités factices.
Par ailleurs, dans la mesure où l'adaptation visuelle prend un certain temps, pensez à augmenter les valeurs d'accélération et de ralentissement lorsque vous travaillez.
Travailler avec les propriétés de l'acteur
Une fois l'acteur de séquence de jour de voûte céleste ajouté au niveau, vous êtes libre de modifier la valeur de ses composants. Notez toutefois que certains d'entre eux sont régis par la séquence procédurale. Il est donc normal que vous ne puissiez pas les modifier.
De la même manière, l'acteur de séquence du jour de voûte céleste doit toujours être situé à l'origine du monde. Vous ne devez pas changer son emplacement.
Toutes les propriétés que vous devez contrôler font partie de l'acteur proprement dit :
Date et lieu
| Propriété | Description |
|---|---|
Utiliser la date actuelle | Lorsque cette option est activée, le système est initialisé en fonction de l'année, du mois et du jour de votre ordinateur. Notez cependant qu'elle ne prend pas en compte votre fuseau horaire ni l'heure d'été. |
Année | Année de l'affichage du ciel |
Mois | Mois de l'affichage du ciel |
Jour | Jour de l'affichage du ciel Notez qu'aucune heure n'est nécessaire, car elle est définie par l'outil de défilement du moment de la journée. Elle est censée correspondre à l'heure locale de l'emplacement où vous vous trouvez. |
Fuseau horaire GMT | Saisissez manuellement votre fuseau horaire ici ; celui-ci n'est pas automatiquement renseigné à partir de votre emplacement. |
Est en heure d'été | Vérifiez manuellement si vous êtes en heure d'été. Ce paramètre n'est pas automatiquement calculé à partir de votre date locale. |
Latitude | Latitude sur Terre du point correspondant à votre origine du monde. |
Longitude | Longitude sur Terre du point correspondant à votre origine du monde. |
GMST au moment de la journée 0 [lecture seule] | Indique le temps sidéral correspondant à t=0 (début de la journée) pour la date actuelle. |
Transformation du centre de la planète [lecture seule] | Pour simplifier les animations, tous les composants sont apparentés à un composant de scène doté d'une transformation correctement configurée, situé au centre de la planète et orienté vers son axe de rotation. La rotation de ce composant simule la rotation de la planète. |
Étoiles
| Propriété | Description |
|---|---|
Catalogue d'étoiles célestes | Table de données d'entrée à utiliser pour les étoiles avec des propriétés célestes. |
Catalogue d'étoiles fictives | Table de données d'entrée à utiliser pour les étoiles fictives avec des propriétés de base. |
Magnitude visible max | Toutes les étoiles dont la magnitude est supérieure à ce seuil sont ignorées au moment de la génération. Qui dit faible magnitude, dit étoiles brillantes. L'œil nu ne voit normalement que jusqu'à une magnitude de 6. Plus ce seuil est élevé, plus le nombre d'étoiles générées est élevé ; il est toutefois possible qu'elles ne soient pas visibles, à moins que vous n'optimisiez artificiellement leur visibilité avec le matériau Étoiles. |
Garder Infos étoile | Si cette option est activée, une table est générée et conservée en mémoire pour pouvoir consulter les données des étoiles. Si seule la représentation visuelle vous intéresse, n'activez pas cette option. |
Au moment de la génération, les deux catalogues sont fusionnés en un composant ISM unique pour le rendu. Cependant, dans la mesure où les étoiles fictives n'ont pas les mêmes détails, chacune a un format de table de données différent :
Les tables de données des étoiles célestes doivent être de type CelestialStarInputData.
Les tables de données des étoiles fictives doivent être de type StarInputData.
Si vous utilisez le format incorrect, un avertissement s'affiche dans le journal des messages et les étoiles correspondantes ne sont pas générées.
Certaines tables de données de base sont disponibles dans le dossier Engine/Plugins/CelestialVault/Data.
Étoiles célestes
Les étoiles célestes proviennent de catalogues officiels. Elles contiennent de nombreuses informations, que vous pouvez consulter ultérieurement. Il est possible d'importer un catalogue d'étoiles célestes à partir de fichiers CSV, à condition qu'il contienne les champs de type CelestialStarInputData :
ID : identifiant unique [1 à n]
Nom : nom de l'étoile (peut être vide)
AD : ascension droite, exprimée en heures (1 heure = 15°)
DEC : déclinaison, exprimée en degrés
DistanceInPC : distance, exprimée en Parsec
Magnitude : généralement [-2 à 13]
ColorIndex : également appelé B-V, représente la couleur des étoiles [-0,33 à 2,0]
HitparcosID : identifiant d'étoile dans le catalogue Hipparcos (peut être vide)
GlennDraperID : identifiant d'étoile dans le catalogue HenryDraper (peut être vide)
YaleBrightStarID : identifiant d'étoile dans le catalogue Yale Bright Star (peut être vide)
Deux tables de données sont fournies avec le plug-in :
DT_HYGGeneral_Full - Catalogue HYG complet de la page Astronomy Nexus. Il contient 120 000 enregistrements d'étoiles.
DT_HYGGeneral_10K - Même catalogue HYG, mais limité aux 10 000 étoiles les plus brillantes (jusqu'à une magnitude de 6). Suffisant dans la plupart des cas d'utilisation.
Étoiles fictives
Créées par les utilisateurs, les étoiles fictives sont plus simples. Elles utilisent le même concept de catalogue, mais étant donné que seule la partie visuelle est nécessaire, la table de données doit contenir uniquement un ensemble simplifié de champs, de type StarInputData :
ID : identifiant unique [1 à n]
Nom : nom de l'étoile (peut être vide)
AD : ascension droite, exprimée en heures (1 heure = 15°)
DEC : déclinaison, exprimée en degrés
Magnitude : généralement [-2 à 13]
Couleur : chaîne de couleur RVB linéaire au format "(R=0.924,G=0.114,B=1.)"
Deux tables de données sont fournies avec le plug-in :
DT_FictionalStars - Exemple simple d'étoiles placées au hasard
DT_FictionalEasterEgg - Exemple plus avancé d'une constellation en forme d'Easter egg.
La création de votre propre catalogue d'étoiles fictives n'est pas abordée dans le cadre de cette documentation, mais certains logiciels open source de vision par ordinateur peuvent facilement extraire les coordonnées des pixels d'un ensemble de points. Si vous maîtrisez les fonctions de votre tableur, vous pouvez créer des fichiers CSV qui vous permettront de créer des expériences sophistiquées.
Importer votre propre fichier CSV
Il est possible d'importer des catalogues d'étoiles à l'aide de fichiers CSV tels que :
Vous pouvez également exporter l'une des tables de données fournies au format CSV pour disposer d'un modèle de départ.
Glissez-déposez le fichier CSV dans votre navigateur de contenu.
Assurez-vous de sélectionner le type de ligne CelestialStarInputData/StarInputData correspondant au contenu que vous importez.
Vérifiez les différentes options d'entrée si votre jeu de données comporte d'autres champs.
Assurez-vous de nommer le champ approprié qui sera utilisé comme clé principale (ici, ID).
Planètes
| Propriété | Description |
|---|---|
Catalogue de planètes | La table de données d'entrée contient les propriétés des planètes. |
Échelle des planètes | Facteur d'échelle artificiel à appliquer aux planètes. |
Garder Infos sur les planètes | Activez cette option pour générer et conserver en mémoire une table en vue de consulter les données des planètes. Si seule la représentation visuelle vous intéresse, n'activez pas cette option. |
Pour le moment, l'accent est mis sur les planètes du système solaire. L'éphéméride de VSOP87 simule leurs trajectoires exactes. Ce système autorise également des planètes arbitraires à l'aide de trajectoires elliptiques, mais il n'a pas encore été implémenté.
Une table de données pour les planètes doit contenir les champs suivants :
ID : identifiant unique [1 à n]
Nom : nom de la planète (peut être vide)
Type d'orbite : énumération des orbites des planètes solaires ; "Elliptique" n'a pas encore été utilisé
Rayon : rayon de la planète (en km)
Index de colonne de texture : index de la texture de la planète dans l'atlas global des planètes.
Le rendu des planètes est effectué à l'aide d'imposteurs de plan, qui disposent d'un shader permettant de mettre les planètes à l'échelle pour qu'elles aient toujours une taille minimale en pixels à l'écran. L'effet de la propriété Échelle des planètes n'est visible que si la taille réelle de la planète est supérieure à cette taille en pixels, en fonction de son rayon, de sa distance et du champ de vision de la caméra.
Lune
Le système est actuellement limité à la Lune, les options sont donc restreintes.
| Propriété | Description |
|---|---|
Échelle de la lune | Facteur d'échelle artificiel à appliquer à la Lune |
Contrôle manuel | Par défaut, la position et la phase de la Lune sont calculées à partir des valeurs de date et de position. Lorsque vous activez cette option, des options supplémentaires s'affichent (consultez la remarque ci-dessous). |
Âge de la lune | Correspond à l'âge lunaire de la Lune : 0 = Nouvelle lune, 0,25 = Premier quartier, 0,5 = Pleine lune, 1,0 = Nouvelle lune suivante. |
Décalage de la lune par rapport à l'ascension droite du soleil | Décalage horizontal de la position de la Lune par rapport au Soleil, en heures. (1 heure = 15°). Si ce décalage est de 3 heures, la Lune suit le soleil avec un décalage de 45°, passant sur l'horizon 3 heures après le Soleil. |
Décalage de la lune par rapport à la déclinaison du soleil | Décalage vertical de la position de la Lune par rapport au Soleil, en degrés. |
Par défaut, la position et la phase de la Lune sont calculées automatiquement, et aucun paramétrage n'est nécessaire. Néanmoins, dans certains cas de formation et de simulation, il est important de contrôler la luminosité la nuit, car la visibilité varie grandement selon qu'une nuit est sombre ou éclairée.
Il est souvent difficile de trouver le jour exact sur un calendrier où la Lune est dans la phase correcte et à la bonne position. L'option de contrôle manuel permet donc de couvrir ce cas d'utilisation.
Du point de vue de l'utilisateur, le moyen le plus simple d'y parvenir est de définir un décalage par rapport au Soleil. Cette approche est intuitive, quels que soient votre hémisphère, votre latitude, la durée actuelle du jour, etc.
Notez toutefois que certains effets visuels incontrôlés peuvent se produire. Supposons que vous définissiez un décalage de 3 heures. La Lune se trouve "à gauche" du Soleil. En l'occurrence, la lumière du Soleil doit produire un croissant de lune. Par conséquent, évitez de définir une valeur supérieure à 0,75 pour l'âge de la lune. Dans un cas extrême, une pleine Lune pourrait se situer près du Soleil, ce qui n'arrive jamais. Procédez ainsi pour un minimum de réalisme.
Étant donné que vous devez faire appel au contrôle manuel, le rendu de la Lune est effectué par l'intermédiaire d'un plan doté d'un matériau personnalisé plutôt que d'une sphère 3D.
Advanced
Le ciel est rendu sous la forme d'une sphère, avec un ensemble de couches de plus petit rayon pour les différents corps célestes, par ordre décroissant : l'arrière-plan de la voûte, les étoiles, les planètes et la Lune.
Ces corps doivent être éloignés de la planète pour éviter les effets de parallaxe, mais suffisamment éloignés les uns des autres pour éviter les conflits de profondeur. Les propriétés avancées permettent d'ajuster des plages d'objets.
Elles permettent en outre de définir les valeurs de base de l'éclairage directionnel du Soleil et de la Lune.
| Propriété | Description |
|---|---|
Distance de la voûte céleste | Rayon (en km) de la sphère qui sera mappée sur la texture d'arrière-plan (voie lactée, constellations ou lignes de grille céleste). |
Pourcentage de la voûte d'étoiles | Pourcentage du rayon de la sphère de voûte où les étoiles sont générées. |
Pourcentage de la voûte de planètes | Pourcentage du rayon de la sphère de voûte où les planètes sont générées. |
Pourcentage de la voûte lunaire | Pourcentage du rayon de la sphère de voûte où la Lune est générée. |
Intensité de la lumière du soleil | Intensité de la lumière du soleil réaliste (par défaut : 120 000 lux) |
Intensité de la lumière de la lune | Intensité de la lumière de la Lune physiquement correcte (par défaut : 0,1 lux) |
Remarques concernant les lumières et l'adaptation visuelle :
Ce système a été conçu dans un souci de précision physique, et les valeurs par défaut ont été définies automatiquement.
Les lumières du Soleil et de la Lune ont été définies en tant que lumières d'atmosphère, avec un index 0 pour le Soleil et un index 1 pour la Lune.
L'intensité du Soleil de 120 000 lux implique une luminance de surface blanche au sol d'environ 8 000 à 12 000 cd/m² à midi.
L'intensité de base de la Lune a été définie sur 0,1 lux, c'est-à-dire la moyenne d'une pleine lune. Les documents officiels indiquent une valeur comprise entre 0,05 et 0,1 lux, voire jusqu'à 0,32 lux pour une super lune ; n'hésitez donc pas à faire vos propres ajustements. Elle implique une luminance de surface blanche au sol d'environ 0,01 à 0,02 cd/m².
Nous réduisons cette intensité de base en fonction de la phase, afin qu'elle puisse être très faible en l'absence de lumière artificielle.
La surface de la Lune est généralement très lumineuse (entre 1 000 et 2 500 cd/m²) ; observer la Lune lorsqu'elle est pleine entraîne un éblouissement.
En raison de cette plage étendue, les valeurs par défaut de l'adaptation visuelle doivent également être ajustées.
MinEV100 a été définie sur -0,5, afin que la nuit soit claire lors d'une pleine lune, mais que l'environnement soit sombre lors d'une nouvelle lune.
L'adaptation visuelle basée sur l'histogramme ne suffit pas à répondre à une telle plage de luminosité, en particulier si la taille de la Lune à l'écran est petite. Nous avons donc défini une courbe de contraste de mise en surbrillance de l'exposition locale pour ajuster la luminosité de la Lune.
Tous ces paramètres font partie d'un volume de post-traitement global associé à l'acteur.
Le système gère également la couverture nuageuse pour l'éclairage, l'ombrage et le brouillard des objets. Les lumières du Soleil et de la Lune sont configurées pour projeter les ombres et les ombres des nuages, ce qui a un impact sur les performances. N'hésitez pas à désactiver cette option si vous n'en avez pas besoin.
Régler l'apparence du ciel
Le système fournit des instances de matériau pour tous les composants, que vous pouvez remplacer par vos propres instances. Dans ce paragraphe, nous vous décrivons les propriétés des instances de matériau.
Notez qu'en modifiant les valeurs de luminosité/d'intensité des matériaux, vous devrez probablement modifier les paramètres d'adaptation visuelle ou d'exposition.
Si vous prévoyez de modifier ces matériaux, utilisez des copies du contenu du projet plutôt que de remplacer les originaux.
Celestial Vault
Le matériau MI_CelestialVault est un matériau multi-texture qui contient également le halo du Soleil.
| Propriété | Description |
|---|---|
Intensité globale | Facteur de luminosité de l'ensemble de la voûte céleste (arrière-plan + constellations + grille céleste). |
Intensité de l'arrière-plan | Facteur de luminosité de la seule texture d'arrière-plan (voie lactée). |
Texture d'arrière-plan | Texture de remplacement pour l'arrière-plan de la voûte. Ce paramètre doit être défini dans les coordonnées célestes. |
Afficher les constellations | Active une couche de texture supplémentaire avec une carte de constellation (blanche). |
Couleur des constellations | Couleur de teinte de la constellation. |
Intensité des constellations | Facteur de luminosité de la seule texture de constellations. |
Texture de constellations | Texture de remplacement pour les constellations. Ce paramètre doit être défini dans les coordonnées célestes. |
Afficher la grille céleste | Active une couche de texture supplémentaire avec une carte de grille céleste (blanche). |
Couleur de grille | Couleur de teinte de la grille céleste. |
Intensité de la grille | Facteur de luminosité de la seule texture de grille céleste. |
Texture de la grille | Texture de remplacement pour la grille céleste. Ce paramètre doit être défini dans les coordonnées célestes. |
Des textures moyennes sont fournies avec le système, mais vous pouvez trouver des résolutions plus élevées sur cette page : https://svs.gsfc.nasa.gov/4851/
Étoiles
Le matériau MI_Stars est utilisé pour texturer les plans individuels des étoiles, les rendant sous la forme d'un composant de maillage statique instancié. Il contient des options permettant de définir l'apparence et la taille des étoiles.
Appearance
| Propriété | Description |
|---|---|
Desaturation | Les étoiles sont toutes rendues avec une couleur par instance, définie manuellement pour les étoiles fictives et calculée à partir de la valeur B-V pour les étoiles célestes. Ce paramètre permet de désaturer la valeur de la couleur (0=non modifiée, 1= niveaux de gris uniquement). |
Décalage de magnitude | La luminosité des étoiles est calculée à partir de leur magnitude. Ce paramètre permet d'augmenter artificiellement la luminosité des étoiles en modifiant leur magnitude théorique. Les valeurs négatives permettent de réduire la magnitude et donc d'augmenter la luminosité. La luminosité est un facteur exponentiel de magnitude. |
Masque | Masque de texture utilisé pour les étoiles. Consultez la section T_StarMask_* pour o obtenir des masques supplémentaires. |
Atténuation du masque | Valeur exponentielle appliquée à la couleur et à l'alpha du masque pour augmenter/réduire le contraste. |
Taille de base
La luminosité des étoiles n'est pas suffisante pour les voir ; les étoiles doivent avoir une taille minimale à l'écran, possiblement supérieure à 1 pixel, afin d'éviter les artefacts liés à l'augmentation de l'échelle.
Si la luminosité est un facteur exponentiel de la magnitude, la taille des étoiles à l'écran peut être une fonction linéaire, définie par des paires magnitude/taille (fixée en fonction des limites de plage).
| Propriété | Description |
|---|---|
Magnitude de l'étoile la plus brillante | Magnitude de référence de l'étoile la plus brillante. Les étoiles inférieures à cette magnitude ont toujours la taille maximale. |
Taille de l'étoile la plus brillante (pixels) | Taille de pixel de référence pour les étoiles de magnitude la plus brillante. Les étoiles de moindre magnitude ont une taille interpolée vers les réglages d'étoiles les plus faibles. |