|
|
Modèle de fichier ssc |
Observations |
|
{
Class “Planet” Texture “fichier” Mesh “fichier” Emissive true NightTexture
“fichier” BumpMap “fichier” BumpHeight “fichier” Color
[ R G B ]
SpecularColor [ R G B ] SpecularPower
25.0 HazeColor
[ R G B ] HazeDensity
0.8
Radius
6378
Oblateness
0.003
Atmosphere
{ Height 70
Lower
[ R G B ] Upper
[ R G B ] Sky
[ R G B ] CloudHeight
40
CloudSpeed
50
CloudMap
"fichier"
}
EllipticalOrbit
{ Period 0.6152
SemiMajorAxis 0.7233
Eccentricity 0.0068 Inclination 3.3947
AscendingNode
76.681
LongOfPericenter
131.533
MeanAnomaly
181.979
Epoch
2452028.18381755
} RotationPeriod 23.9344694 Obliquity 3.3947
LongOfRotationAxis 76.681 RotationOffset 280.5
PrecessionRate 48.98
Albedo 0.10
Rings { Inner
74658 Outer
140000
Texture "saturn-rings.png" Color
[R G B] } } |
R, G et B compris entre 0.0 et 1.0
en km en km en km en km/h en degrés en degrés en degrés en degrés en degrés en degrés en degrés en km en km |
Explications :
Etoile = Nom de l’étoile autour de laquelle
cet objet tourne (ce nom peut être n’importe lequel des noms sous lequel
l’étoile est connue, ex : Alpheratz, Sirrah, ALF And, 21 And, DEL Peg, HD 358,
HIP 677).
Pour placer un
objet en rotation autour d’une planète, il suffit de remplacer Etoile par
Etoile/Planete (pour le mettre en rotation autour d’une lune il faut le
remplacer par Etoile/Planete/Lune et ainsi de suite, en remplaçant évidemment
chaque nom par celui qui vous intéresse !).
2)
Les 5 classes sont : planet, moon, comet, asteroid, spacecraft
Elles diffèrent
par la couleur du nom des objets et le fait que l'on puissent voir leur orbite
ou non, comme pour planet et moon. Donc si vous voulez faire un vaisseau
spatial mais que son orbite soit visible sans avoir à le sélectionner, vous
pouvez le placer dans la class "moon" par exemple.
La classe n’est
pas indispensable, Celestia pouvant la retrouver par lui-même.
3) true implique que l’objet est considéré comme émettant de la lumière, les zones d'ombres disparaissent et l'objet devient une source lumineuse dont la couleur dépend de sa couleur de départ.
Ex :
|
Hubble sans Emissive |
et avec... |
4) Le plus souvent on n’utilise pas les fonctions Texture et Mesh ensemble car les modèles sont déjà texturés, la fonction Texture ne sert donc que pour les planètes et lunes, sphériques par défaut.
Les extensions possibles pour les fichiers de textures sont : jpg, bmp, tga, avi, dds, png.
Tous ces fichiers
doivent impérativement
avoir comme format des multiples de 2, ex : 2048x1024, 8192x4096, sinon
Celestia ne les lira pas et vous obtiendrez alors une belle planète blanche,
bleue ou rouge !
Par défaut,
Celestia va d’abord lire les fichiers de texture se trouvant dans le répertoire
textures/medres puis dans les répertoires lores ou hires si vous appuyez sur la
touche r ou shift+r. Donc si vous voulez utiliser des textures de différentes
qualités dans Celestia et que vous n’en avez qu’une en 4096x2048 par exemple
alors enregistrez celle-ci dans le répertoire hires et ensuite diminuez la
résolution de l’image dans n’importe quel éditeur d’image pour obtenir une image
à la résolution 2048x1024 que vous placez dans medres et une en 1024x512 dans
lores. Toutes ces images doivent bien entendu avoir exactement le même nom.
5)
Cette ligne peut être utilisée avec toutes les classes même si bien souvent on
ne s’en sert pas pour les planètes et les lunes qui possèdent une géométrie
sphérique ( à part quelques petits satellites comme Phobos et Deimos par
exemple ).
Les extensions
possibles sont 3ds et cms. Je ne connais pas grand chose sur les fichiers cms
qui semblent seulement être utilisés pour les modèles d’astéroïdes donc je ne
parlerais que des fichiers 3ds. Ce format est utilisé en image de synthèse par
des applications comme 3D Studio Max, vous devez donc posséder un de ces
logiciels pour éditer ou créer ces fichiers puis exporter ensuite votre modèle
au format 3ds. Si vous voulez texturez votre modèle vous devez d’abord placer
vos textures (toujours dans un format multiple de 2 : 64x128 par exemple) dans
le répertoire medres puis appliquer
celle-ci sur votre modèle. Pour les utilisateurs de 3dsmax il vaut mieux ne pas
utiliser les textures multi-sous objet qui ne sont pas supportées à l’export en
3ds et n'utiliser que les transformateurs UVW Map pour bien mapper les textures
sinon vous vous retrouverez avec des modèles très moches dans Celestia
(croyez-moi !).
6)
NightTexture comme son nom l’indique sert pour les textures de nuit des
planètes, ces textures apparaissent progressivement dès que la surface commence
à ne plus être éclairée par le soleil. Sur mon PC ces textures m’ont
personnellement souvent ralenti l’affichage pour un résultat moyen, je
conseille donc de n’utiliser que des images à faibles voire moyenne résolution
(genre 2048x1024).
|
La Terre sans NightTexture |
et avec.... |
7)
La fonction BumpMap sert à simuler les reliefs de la surface d’une planète à
partir d’images en noir et blanc représentant l’altitude des différents points
du globe. Ces fichiers sont limités à une taille de 2048x1024 et ne marchent
pas avec les textures au format dds. De plus il semblerait que cette fonction
ne marche qu’avec les cartes graphiques Nvidia (type Geforce).
|
Mercure sans BumpMap |
et avec.... |
8)
Si les restrictions ci dessus sont respectées, la fonction BumpHeight permet
alors de changer la hauteur des reliefs, cette valeur étant environ égale à 2
par défaut.
9) Ceci
correspond à la couleur de la planète telle qu’on la voit de loin, et de près
si aucune texture ne lui a été assignée. Cette couleur est codée selon le
système [ Red Green Blue ] avec une valeur comprise entre 0 et 1 pour chacune
de ces composantes, par exemple pour une planète entièrement rouge ces valeurs
seront : [ 1 0 0 ] et pour la Terre : [ 0.85 0.85 1.0 ].
10)
Le SpecularColor correspond à la couleur des reflets de l’étoile sur la surface
de la planète, il est codé de la même manière que la fonction Color. De plus
ces reflets sont conditionnés par la présence d’une couche alpha dans la
texture de la surface de la planète, ce qui permet alors d’obtenir des reflets
beaucoup plus réalistes qui se limitent à la surface des océans et des mers.
|
SpecularColor [0.05 0.5 0.55] |
SpecularColor [1.0 0.0 0.0] |
11)
Le SpecularPower permet de gérer l’importance de ces reflets, en gros il
intervient sur la taille de la tache lumineuse que l’on voit à la surface, à 0 la
tache occupe toute la surface alors qu’à 100 elle occupe une place beaucoup
plus restreinte. Sur la Terre la valeur est fixée à 25.
12)
HazeColor doit être une option pour gérer une sorte de brouillard à la surface
de la planète de façon à recréer les effets de l’atmosphère mais il semble que
cela ne marche que sur les Geforce3 donc désolé il faudra attendre un peu avant
de savoir ce que ça donne ;)
14)
Rayon de l’objet, en kilomètre. Pour les fichiers 3ds, les modèles sont tous
redimensionnés pour tenir dans un cube de côté unité puis leur taille est
déterminé par la valeur du « rayon ».
15)
Oblateness correspond à l’écrasement de la planète, il est égal à 1-(rayon au pôle/rayon à l’équateur). Donc
pour une valeur de 0 vous avez une planète sphérique et pour une valeur de 1
vous obtenez un disque ! (pour la Terre, Oblateness=0.003). Attention toutefois
car l’atmosphère elle n’est pas modifiée et ne suit donc pas la nouvelle
géométrie de la planète.
|
Oblateness=1 |
Oblateness=0.66 |
Oblateness=0.33 |
17)
Epaisseur en kilomètre de l’atmosphère, celle-ci n’étant visible qu’à basse
altitude sur la périphérie des planètes sous la forme d’un halo coloré.
18)
et 19) Les paramètres Lower et Upper correspondent respectivement aux couleurs de
la partie basse et haute de l’atmosphère et permettent ainsi de créer un
dégradé depuis la surface jusqu’à l’espace.
20) Sky correspond à la couleur du ciel tel que vue depuis un point situé sous l'altitude de l'atmosphère donnée dans "Height".
|
Exemple
d'utilisation de ces éléments : Zoom sur une atmosphère correspondant aux
valeurs suivantes |
Height 100 |
|
6000 km |
2000 km |
500 km |
100 km |
80 km |
50 km |
20 km |
21)
Altitude en kilomètre des nuages.
22)
Vitesse en kilomètre par heure des nuages
23)
Texture des nuages, ces textures doivent posséder une couche alpha permettant
de voir la surface par transparence ou bien ils masquent cette texture comme
sur Vénus où les nuages sont tellement denses qu’ils cachent la surface de la
planète. Il faut donc éviter les fichiers jpeg qui ne gèrent pas les couches
alpha mais utiliser plutôt des fichiers png ou dds. Apparemment il semblerait
que les textures de nuages ne nécessitent pas de dépasser la résolution de
2048x1024 car ensuite la faible augmentation des détails ne justifie pas une
telle consommation en mémoire.
27)
Period et SemiMajorAxis sont les seuls éléments orbitaux absolument obligatoires, sinon
Celestia ne peut pas créer de nouvel objet.
Pour les planètes
la période est comptée en année terrestre (1.00 pour la Terre, 0.6152 pour
Venus et 248.54 pour Pluton) alors que pour les satellites elle est compté en
jours terrestres (27.32 pour la Lune).
28)
SemiMajorAxis correspond au demi grand axe de l’orbite de l’objet, cette valeur
est reliée à la période par la formule de Kepler : (T²)/(4p²)=(a^3)/(G*M)
avec T Période de l’objet
a Demi grand axe de son orbite ( en mètre)
G Constante de gravitation = 6.67*10^-11
M
Masse de l’astre autour duquel l’objet est en rotation (en kg)
Pour les planètes
le demi grand axe est compté en unité astronomique (une UA = 150 millions de
km) alors que pour les satellites c’est en km.
### Les valeurs suivantes
correspondent aux éléments orbitaux de l’objet, elles ne sont nécessaires que
si vous envisagez de donner une orbite précise à votre objet ou sinon vous
pouvez ne rien mettre, Celestia s’occupera de lui donner une orbite par défaut.
Si vous voulez
quand même remplir ces champs, deux choix s’offrent alors : soit vous avez les
données réelles de votre objet et il suffit alors de les réécrire soit vous les
inventez et une petite explication s’impose alors (comme je ne prétend pas être
un expert en la matière j’ai recopié ces explications et récupéré un schéma
assez bien foutu). ###
29)
L’eccentricité est une valeur comprise
entre 0 et 1 permettant de définir la forme d’une orbite elliptique, à 0 l’orbite n’est pas déformée c’est donc un
cercle et cette orbite est de plus en plus elliptique lorsque l’on s’approche
de 1.
30)
L’inclinaison mesurée en degrés correspond à l’orientation du plan de l’orbite
par rapport au plan de l’équateur terrestre.
31)
L’ascension droite du nœud ascendant (en degrés) qui détermine l'orientation de l'axe des nœuds par rapport à une
direction de référence (point vernal). En pratique, on positionne souvent le
plan de l'orbite à partir de la longitude du noeud ascendant à une date donnée
(le nœud ascendant est le point d’intersection de l’orbite avec le plan de
l’équateur lorsque le satellite remonte de l’hémisphère sud vers l’hémisphère
nord).
32) L’argument du périgée (en degrés) donne la
position de l'axe de l'ellipse par rapport au plan équatorial. Il s'agit de
l'angle, dans le plan de l'orbite, entre la ligne des nœuds (qui appartient au
plan de l'équateur) et le grand axe de l'ellipse.
33) L’anomalie moyenne correspond à la position du
satellite dans son orbite autour de la Terre par rapport à l’axe du périgée.
34) L’époque correspond au moment où ont été prises
les valeurs des éléments orbitaux. Elle est compté en jours et en fraction
décimal de jours, sachant qu'à l’époque par défaut, le 1er janvier
2000 à midi, correspond la valeur 2451545 (et donc que au moment où j’écris ces
lignes, soit le 24 juillet 2002 à 23h38’48’’, on est le 2452480.985 #à
vérifier#)

Et si ce schéma
ne suffit pas voici l’adresse d’un site (en français) contenant toutes les
données essentielles sur ces éléments orbitaux : http://f6gry.chez.tiscali.fr/el-kep.htm
36) Période de rotation de l’objet sur
lui-même en heures.
37) Obliquity correspond à l’inclinaison de
l’axe de rotation de l’objet.
38) Longitude de l’axe de rotation projeté
sur le plan orbital.
|
Repère 3D "normal" |
Export dans Celestia |
Obliquity et LongOfRotationAxis |
39) Rotation de l’objet au moment donné par
l’époque (1er janv 2000 par défaut).
40) PrecessionRate correspond au taux de
précession de l’axe de rotation en rad/jours
###
Si comme moi vous n’avez pas vraiment compris l’utilité de ces dernières
fonctions alors vous pouvez vous aussi remercier MattMcIrvin du forum Celestia
(http://www.shatters.net/forum/viewtopic.php?t=427) pour avoir trouver l’astuce permettant
d’avoir un satellite pointant toujours dans la même direction à la surface de
la Terre (comme les satellites géostationnaires). Il suffit de recopier la
valeur d’Inclinaison pour Obliquity et celle de AscendingNode pour
LongOfRotationAxis et votre satellite pointe alors toujours dans la même
direction par rapport à la Terre, vous n’avez plus qu’à jouer avec la valeur de
RotationOffset pour l’amener à pointer dans la bonne direction ! ###
41) L’albedo détermine la fraction de
puissance lumineuse réfléchie par un objet éclairé. Si cet objet est sombre il
réfléchira moins de lumière et son albedo sera faible, proche de 0. Au
contraire, un objet clair réfléchira plus et aura donc un albedo plus élevé.
Dans Celestia cette valeur influe surtout sur la visibilité des objets vus de
loin, c’est à dire sous la forme de points. Par exemple si vous voulez que
votre satellite soit visible à plus de 10 km autrement qu’en affichant son
nom,il suffit d’augmenter son albedo.
43) et 44) Rayons intérieurs et extérieurs
des anneaux en kilomètres.
45) Texture des anneaux : en noir et
blanc elle correspond aux zones visibles et aux zones « vides » des
anneaux selon le même principe que pour les nuages (format png conseillé). Elle
se présente sous la forme d’une coupe en tranche des anneaux qui sera ensuite
appliqué par rotation à l’ensemble du disque (elle peut avoir pour
format 512x2 par exemple).
Exemples d’anneaux :
![]()
(les
carreaux sont des zones transparentes)

46)
Couleur des anneaux, codée selon le système [R G B]. Dans l’exemple ci-dessus,
elle correspond à la couleur des anneaux de Saturne : [ 1.0 0.88 0.82 ]