Page 1 of 1

Modifier la taille d'une planète dans un script

Posted: Sun Mar 04, 2007 7:58 pm
by Fred
Bonjour,
je viens ici chercher de l'aide après plusieurs tentatives personnelles hélas infructueuses. Par avance, merci aux bonnes âmes qui tenteront de m'aider.

J'essaie de réaliser un script qui illustre les éclipses de Soleil et de Lune, notamment les zones d'ombre et de pénombre. J'aurais souhaiter pouvoir modifier la taille de la Terre et/ou de la Lune dans ce script pour montrer l'influence sur la taille de l'ombre portée en exagérant le phénomène, avant de revenir à la situation réelle, pour accentuer son caractère exceptionnel.

J'ai trouvé comment changer le rayon de la Terre en modifiant le fichier solarsys.ssc du répertoire Data mais la modification est alors permanente et donc pénible à gérer.

Je cherche donc une commande pour modifier la taille de la Terre en cours de script sans "altérer" l'utilisation de celestia ensuite. Comment modifier le Radius de la terre ?

Est-il possible de créer temporairement une fausse Terre qui englobe la première avant de la faire disparaître ? C'est ce qui est fait me semble-t-il sur l'add-on du Soleil "rthorvalds_sun". Mais alors il faut créer un répertoire Model avec un fichier 3ds, ce qui est (beaucoup) trop pour moi je pense ;)

En espérant vos lumières...

Terre

Posted: Sun Mar 04, 2007 9:19 pm
by bluz
salut,

j'ai crée une fausse Terre lorsque j'ai fait ma première version du script "hadéen" car j'avais besoin d'un astre avec un rayonnement rougeatre...

Plus d'infos ici :
http://www.cielespace.org//index.php?op ... 6&Itemid=2

cela te mènera vers un lien ou tu pourras télécharger l'addon. Regarde le fichier ssc qui correspond a la planète "hadéen" et tu devrais trouver ton bonheur ...


En esperant t'avoir aidé...

Posted: Mon Mar 05, 2007 8:23 am
by Fred
Bonjour et merci beaucoup Bluz, je pense effectivement trouver là mon bonheur. Si j'ai bien compris le principe, il s'agira pour moi de :
- créer une "autre terre" de taille souhaitée, qui englobe la "vraie"
- de définir ses dates d'apparition et de disparition
- de jouer sur le paramètre temps lors de mon script pour que cette autre terre soit visible ou non

Et cela doit fonctionner car je cherche une terre plus grosse. Coup de bol, finalement, car pour en avoir une plus petite que l'originale, cela n'aurait pas fonctionné.

Une question en appelle une autre... :D
J'ai regardé l'écriture de ton script -avant de le voir en vrai, détendu et peinard- et j'ai découvert la commande seturl. Elle semble fort utile mais complexe et elle est peu développée sur le Wiki Celestia. Y'a-t-il un lien ou je peux en apprendre davantage sur cette commande ? Parce que bon une commande du type :
seturl { url "cel://Follow/Hadeen/0001-01-01T10:22:04.58685?x=oM4KgSUGP+vMDA&y=oRRC7ziCMA0&z=RTkz4h0ybQb9/////////w&ow=0.626655&ox=0.758327&oy=0.170923&oz=0.055035&select=Hadeen&fov=25.781925&ts=1.000000&ltd=0&rf=525463&lm=2560" }
ça ne s'invente pas ! :shock:

A +

Posted: Sat Mar 17, 2007 11:15 pm
by Guest
Pour Seturl :

C'est comme un signet pour les scripts :

Choisis une position dans Celestie puis fais "ctrl"+"c" (ou ctrl+ins).

Dans un éditeur de texte quelconque, fais "ctrl"+"v" ou coller.

Si je ne me trompe, il suffit de rajouter devant "seturl { url" et les guillemets.

Posted: Sun Mar 18, 2007 10:47 am
by Fred
Merci "Invité" ! Je pensais bien qu'il s'agissait de définir une position mais je ne savais comment faire. Un copier coller finalement, quoi de plus simple.

Par ailleurs j'ai testé la solution de bluz pour avoir une planète terre plus grande. Cela fonctionne mais -allô Houston- j'ai un problème : l'ombre de la lune n'apparait pas sur elle !
Toute idée est bien venue...

Posted: Sun Mar 18, 2007 4:21 pm
by Péji
l'ombre de la lune n'apparait pas sur elle !
Question bête... L'option "Eclipse shadows" est-elle activée ? (Menu "Render" puis "View options").

PJ

Posted: Sun Mar 18, 2007 5:54 pm
by Fred
Salut PJ,
merci pour l'idée mais l'option est bien activée.

Ce qui se passe, c'est que j'obtiens bien l'ombre sur la vraie terre mais pas sur la plus grosse qui l'enveloppe. La grosse terre semble être transparente à la lumière alors qu'on la voit à l'écran sans voir à travers.
Voici le fichier que j'ai créé pour créer la terre en 10 fois plus large:

"BigEarth" "Sol"
{
Class "planet"
Texture "RealisticEarth-v4-8kDDS.dds"
NightTexture "land_ocean_ice_lights_aurora_8k.dds"
# Beginning "1 1 1 00:00"
# Ending "1 2 1 00:00"
SpecularTexture "8kEarthSpecular.dds"
Color [ 0.85 0.85 1.0 ]
SpecularColor [ 0.5 0.5 0.55 ]
SpecularPower 25.0
HazeColor [ 1 1 1 ]
HazeDensity 0.3
Radius 63781.40 # equatorial
# Oblateness 0.0034

# BumpMap "earthbump.*"
# BumpHeight 4.5

Atmosphere {
Height 60
Lower [ 0.43 0.52 0.65 ]
Upper [ 0.26 0.47 0.84 ]
Sky [ 0.40 0.6 1.0 ]
Sunset [ 1.0 0.6 0.2 ]
# Sunset [ 0.3 1.0 0.5 ]
CloudHeight 7
CloudSpeed 0
#CloudMap "clouds-121303-8k.dds"
}

CustomOrbit "vsop87-earth"
EllipticalOrbit {
Period 1.0000
SemiMajorAxis 1.0000
Eccentricity 0.0167
Inclination 0.0001
AscendingNode 348.739
LongOfPericenter 102.947
MeanLongitude 100.464
}

RotationPeriod 23.9344694 # 23.93419
Obliquity -23.45
RotationOffset 280.5 # offset at default epoch J2000

Albedo 0.30
}

Ceci dit le mieux pour moi serait de trouver une commande qui modifie le rayon de la vraie terre ou de la vraie lune pendant le script qui sont fixés par le fichier solarsys dans le répertoire data.

Posted: Sun Mar 18, 2007 10:45 pm
by Guest
Et si tu recréais, à partir d'une autre étoile du même type que le soleil, une terre et une lune en copiant leurs caractéristiques ? Comme un add-on en fait.
Pour le script, il suffit alors d'utiliser seturl pour sauter d'une planète à une autre; de plus elle pourront peut-être garder le même nom ?

Posted: Mon Mar 19, 2007 8:29 am
by Fred
Disons que j'ai l'impression que Celestia ne gère pas les ombres de toutes les planètes.... ex ISS côté nuit de la terre n'est pas éclipsée. Donc même pour un nouveau système solaire je suis pas sûr du résultat...

Posted: Wed Apr 18, 2007 10:10 am
by vincent
Fred wrote:Ce qui se passe, c'est que j'obtiens bien l'ombre sur la vraie terre mais pas sur la plus grosse qui l'enveloppe. La grosse terre semble être transparente à la lumière alors qu'on la voit à l'écran sans voir à travers.
Salut Fred,

Projeter une ombre sur 2 objets dont l'un est inclus dans l'autre est une situation un peu dure à avaler pour Celestia. :wink:
Du coup, Celestia projette l'ombre de la Lune sur le premier objet chargé, i.e., la Terre par défaut du fichier solarsys.scc.

Essaie simplement d'utiliser la fonction Modify plutôt que de créer un autre objet Terre, en remplaçant tout simplement ta première ligne :

Code: Select all

"BigEarth" "Sol" 
par:

Code: Select all

Modify "Earth" "Sol" 
Par contre, il ne te sera plus possible de définir des dates de début et de fin sans voir la Terre d'origine disparaître également.

Une autre option serait de définir une nouveau système Soleil-Terre-Lune en dehors de notre système solaire...
Fred wrote:Ceci dit le mieux pour moi serait de trouver une commande qui modifie le rayon de la vraie terre ou de la vraie lune pendant le script qui sont fixés par le fichier solarsys dans le répertoire data.
C'est malheureusement impossible à réaliser au cours d'un script, Celestia ne pouvant recharger toute sa base d'objets sans redémarrer...