{ # ... Begin van het script #**************************************************************************** # * # START_NL.CEL - Startup script voor Celestia * # (versie 2.1) * # * # Vertaald in het Nederlands door: Marco Klunder (december 2009). * # Contact: marco.klunder@hccnet.nl * # * #---------------------------------------------------------------------------* # * # Iedere keer wanneer Celestia wordt gestart, wordt dit script * # automatisch gestart. * # * # NOOT: Verwijder nooit de accolades die zich op de eerste en laatste * # positie van dit bestand bevinden. Ze zorgen er namelijk voor dat * # dit bestand door Celestia wordt herkend als een CEL script. * # * # Je kunt dit script op vele manieren aanpassen aan je eigen behoeftes. * # Dit kun je doen door simpel het commentaar teken aan het begin van een * # regel te verwijderen. Iedere regel of code sectie bevat commentaar om te * # omschrijven wat het doet. Om een code regel te ontdoen van commentaar, * # verwijder je gewoon het "#" karakter aan het begin van die lijn. * # * # Als je besluit om dit script aan te passen, kopieer het dan eerst naar * # een veilige plek, ALVORENS je ermee begint, zodat je er op een later * # moment altijd op terug kunt vallen. * # * #**************************************************************************** overlay { duration 5.0 fadeafter 4.0 colortop "#9999ff" colorbottom "#ccccff" filename "logo.png" } preloadtex { object "Sol/Earth" } preloadtex { object "Sol/Earth/Moon" } select {object "Sol"} goto {time 3.0 distance 30} wait {duration 3.0} select {object "Sol/Earth"} follow {} goto {time 3.0 distance 6.0} wait {duration 2.0} print {text "Welkom bij Celestia!" row -3 column 1 duration 3} wait {duration 3.0} #**************************************************************************** # Bovenstaande code regels zijn het hele start.cel script. Hieronder vind * # je een beschrijving wat iedere opdracht doet. Eerst gaan we naar de Zon, * # zodat als we daarna naar de Aarde gaan, dan wordt de Aarde vanaf de * # zonnige kant weergegeven, ongeacht de lokale tijd die op dat moment * # van toepassing is ... * # * # preloadtex: Geeft Celestia de opdracht om de texture van het benoemde * # object te laden. Anders zou Celestia de texture pas laden op het * # moment dat het in beeld komt, hetgeen dan merkbaar is als een * # kleine vertraging. * # * # select: Geeft Celestia de opdracht welk object (planeet, maan, * # ruimtevaartuig, etc.) moet worden gedefinieerd als het momenteel * # geselecteerde object. "Sol" is de definitie voor de Zon als * # basis van ons Zonnestelsel, het "/" karakter kun je beschouwen * # als een scheiding in hiƫrarchie. "Earth" (Aarde) is het object * # dat we willen selecteren. Als je onze Maan zou willen * # selecteren, dan zou de select opdracht er als volgt uit zien: * # select {object "Sol/Earth/Moon"} * # * # goto: Geeft Celestia de opdracht om naar het momenteel geselecteerde * # object te reizen, vergelijkbaar met een druk op de [G] toets op * # het toetsenbord. De 'time' parameter geeft aan hoeveel seconden * # de reis er naartoe zal duren. De 'distance' parameter geeft aan * # tot hoever weg van het midden van het object we ons positioneren,* # in eenheden van de straal van het object plus 1. Bijvoorbeeld: * # Als het object een straal heeft van 10000 km, en je specificeert * # 6.0 als 'distance' parameter, dan kom je op een positie terecht * # die 60000 km is verwijderd van het midden van het object. * # (= 50000 km verwijderd van het oppervlak van het object). * # * # wait: Daar de goto opdracht ervoor zorgt dat Celestia tijd nodig heeft * # om iets te doen, moeten we Celestia dezelfde hoeveelheid tijd * # geven om het ook daadwerkelijk te DOEN. Als we naar de Zon gaan, * # dan zorgt de wait opdracht er voor dat Celestia 3 seconden moet * # wachten, terwijl de goto wordt uitgevoerd (gedurende 3 seconden).* # De 'duration' parameter waarde is normaal gesproken gelijk aan * # de 'time' parameter in de goto opdracht. Er zijn echter altijd * # uitzonderingen :-). * # * # Als we vervolgens naar de Aarde gaan, dan wacht de wait opdracht * # na de goto slechts 2 seconden. Daarna volgt er een print * # opdracht, welke bepaalde tekst op het scherm weergeeft, gevolgd * # door een andere wait opdracht, die nog eens 3 seconden wacht. * # Het is allemaal een kwestie van timing. De goto opdracht staat * # ons toe om GELIJKTIJDIG tekst op het scherm weer te geven, * # terwijl de goto wordt uitgevoerd. We zorgen er dus gewoon voor * # dat het totaal aantal wait 'duration' waardes na een goto, bij * # elkaar opgeteld TEN MINSTE gelijk is aan de 'time' waarde die * # in de goto opdracht staat gespecificeerd. Indien gewenst, mag * # het langer duren. * # * # follow: Geeft Celestia de opdracht om het geselecteerde object door * # de ruimte te achtervolgen, vergelijkbaar met een druk op de * # [F] toets op het toetsenbord. Je kunt de follow {} opdracht * # vervangen door de synchronous {} opdracht, waardoor je in * # een (geo)stationaire baan boven het geselecteerde object * # blijft zweven. * # * # print: Geeft Celestia de opdracht om tekst op het scherm weer te geven. * # De 'text' parameter geeft aan welke tekst er moet worden * # weergegeven. De 'row' parameter geeft aan hoeveel regels vanaf * # de onderkant van het window de tekst moet worden weergegeven. * # De 'column' parameter geeft aan hoeveel kolommen vanaf de * # linkerkant van het window de tekst moet worden weergegeven. De * # 'duration' parameter geeft aan hoeveel seconden de tekst op het * # scherm moet worden weergegeven. Deze wordt dan weer gevolgd door * # de wait opdracht, die hierboven al is beschreven. * #**************************************************************************** #**************************************************************************** # Als je boven een specifieke locatie op Aarde wilt worden gepositioneerd, * # gebruik dan de gotolonglat opdracht die hieronder wordt weergegeven. * # Stap-voor-stap instructies ... * # * # * Kopieer de hele code regel. * # * # * Plak het onder bovenstaande "goto" opdracht. * # * # * Verwijder het "#" karakter aan het begin van de regel, waardoor het * # geen commentaar regel meer is en door Celestia zal worden uitgevoerd. * # * # * Plaats het "#" karakter aan het begin van de regel met de originele * # 'goto' opdracht. hierdoor wordt het een commentaar regel, waardoor * # Celestia het niet uit zal voeren. * # * # * Verander de 'longitude' en 'latitude' waarden in die van jouw locatie. * # * # * Daar je nu naar een specifieke locatie op Aarde gaat, kan het zijn dat * # het daar geen dag, maar nacht is. Het heeft dan ook geen zin om eerst * # naar de Zon te gaan, dus kun je van de volgende code regels die * # hierboven staan mogelijk ook commentaar regels maken door het * # "#" karakter aan het begin van iedere regel te plaatsen ... * # select {object "Sol"} * # goto {time 3.0 distance 30} * # wait {duration 3.0} * # Als je jouw eigen locatie PERSE bij daglicht wilt zien, maak dan * # gebruik van de "time" opdracht die hieronder wordt beschreven. * #**************************************************************************** # gotolonglat {time 5.0 distance 4.0 longitude 0.0 latitude 0.0} #**************************************************************************** # Als je wilt dat Celestia altijd op een specifieke datum/tijd opstart, * # gebruik dan de time opdracht, als hieronder weergegeven. * # * # WAARSCHUWING: Als je Celestia opstart met een vooraf ingestelde * # datum/tijd, vereist dit dat je telkens op de [!] toets * # (uitroepteken) op het toetsenbord moet drukken om de * # datum/tijd te RESETTEN naar de huidige datum/tijd, iedere * # keer weer, wanneer je op ontdekkingsreis gaat -- indien * # het uitmaakt als het om de werkelijke tijd gaat. * # * # Stap-voor-stap instructies ... * # * # * Bepaal of je de datum/tijd wilt instellen met behulp van een * # kalender UTC datum/tijd string, of met een Juliaanse datum/tijd * # (zie hieronder). * # * # * kopieer de code regel met de "time" opdracht die je wilt gebruiken. * # * # * Plak het boven de "goto" opdracht hierboven (begin van de file). * # * # * Verwijder het "#" karakter aan het begin van de regel, waardoor het * # geen commentaar regel meer is en door Celestia zal worden uitgevoerd. * # * # * Verander de datum/tijd waarde in de datum/tijd van je eigen keus. * #**************************************************************************** # Stel de tijd in met behulp van een kalender UTC datum/tijd string ... # # time { utc "2003-08-11T09:29:24.0000" } # # JJJJ-MM-DDTUU:MM:SS.SSSS # Let op de "T" ........^ ... (deze is vereist) # Stel de tijd in met behulp van een Juliaanse datum/tijd waarde ... # # time { jd JuliaanseDatum } # # Een Kalender Datum/Tijd naar Juliaanse Datum/Tijd converteerder kun je # vinden op de website: (http://aa.usno.navy.mil/data/docs/JulianDate.php) #**************************************************************************** # Onderstaande opdrachten maken het mogelijk om diverse Celestia * # opties in te stellen, die je anders iedere keer moet instellen als je * # Celestia opstart. Verander iedere willekeurige instelling die je wilt. * #**************************************************************************** # Zichtbaar veld: # Verwijder het "#" karakter en pas de 'FOV' waarde aan je eigen wensen aan ... # Standaard ingesteld op 25 graden bij een scherm resolutie van 1024 x 768 # # set {name "FOV" value 25.0} # Omgevingslicht: # Verwijder het "#" karakter en pas de 'AmbientLightLevel' waarde aan je eigen wensen aan ... # Van 0.0 tot 0.5 is een goede laag-hoog bandbreedte # # set {name "AmbientLightLevel" value 0.1} # Helderheid limiet van sterren ... # Verwijder het "#" karakter en pas de 'magnitude' waarde aan je eigen wensen aan ... # Celestia Gebruikers Interface: 0.8 tot 15.2, standaard is 6.0 # # setvisibilitylimit {magnitude 6.0} # Automatische helderheid limiet van sterren bij 45 graden, standaard is 8.5 ... # Verwijder het "#" karakter en pas de 'magnitude' waarde aan je eigen wensen aan ... # # setfaintestautomag45deg {magnitude 8.5} # Weergeven van items (renderen): # Geef de volgende objecten NIET weer (Verwijder het "#" karakter naar eigen wensen) ... # # renderflags {clear "atmospheres"} # renderflags {clear "automag"} # renderflags {clear "boundaries"} # renderflags {clear "cloudmaps"} # renderflags {clear "comettails"} # renderflags {clear "constellations"} # renderflags {clear "eclipseshadows"} # renderflags {clear "galaxies"} # renderflags {clear "grid"} # renderflags {clear "markers"} # renderflags {clear "nightmaps"} # renderflags {clear "orbits"} # renderflags {clear "planets"} # renderflags {clear "pointstars"} # renderflags {clear "ringshadows"} # renderflags {clear "stars"} # renderflags {clear "partialtrajectories"} # Weergeven van items (renderen): # Geef de volgende objecten WEL weer (Verwijder het "#" karakter naar eigen wensen) ... # # renderflags {set "atmospheres"} # renderflags {set "automag"} # renderflags {set "boundaries"} # renderflags {set "cloudmaps"} # renderflags {set "comettails"} # renderflags {set "constellations"} # renderflags {set "eclipseshadows"} # renderflags {set "galaxies"} # renderflags {set "grid"} # renderflags {set "markers"} # renderflags {set "nightmaps"} # renderflags {set "orbits"} # renderflags {set "planets"} # renderflags {set "pointstars"} # renderflags {set "ringshadows"} # renderflags {set "stars"} # renderflags {set "partialtrajectories"} # Tekst labels: # Voorzie de volgende objecten NIET van een label (Verwijder het "#" karakter naar eigen wensen) ... # # labels {clear "asteroids"} # labels {clear "constellations"} # labels {clear "galaxies"} # labels {clear "moons"} # labels {clear "planets"} # labels {clear "spacecraft"} # labels {clear "stars"} # Tekst labels: # Voorzie de volgende objecten WEL van een label (Verwijder het "#" karakter naar eigen wensen) ... # # labels {set "asteroids"} # labels {set "constellations"} # labels {set "galaxies"} # labels {set "moons"} # labels {set "planets"} # labels {set "spacecraft"} # labels {set "stars"} # Markeringen: # Ontdoe alle objecten van een eventueel aanwezige markering en schakel de weergave van markeringen uit ... # (Verwijder het "#" karakter naar eigen wensen) ... # # unmarkall { } # Minimale baan diameter om te worden weergegeven (in pixels) ... # (Verwijder het "#" karakter naar eigen wensen) ... # # set {name "MinOrbitSize" value 1.0} # De meest verre afstand waarop een ster nog wordt weergegeven, standaard is 1000000... # (Verwijder het "#" karakter naar eigen wensen) ... # # set {name "StarDistanceLimit" value 1000000} # Tijd snelheid (1x, 100x, 1000x, etc.)... # (Verwijder het "#" karakter naar eigen wensen) ... # # Negatieve waarde = Tijd loopt terug # 0 = Tijd gepauzeerd # 1.0 = Werkelijk tijdsverloop (standaard) # 1000.0 = Bij deze snelheid zie je de Maan goed bewegen. # # timerate {rate 1.0} #**************************************************************************** # Als je grote texturen gebruikt, dan kun je er voor zorgen dat Celestia * # deze vooraf laadt in het geheugen van jouw grafische kaart, door ze * # op te nemen in onderstaande lijst. * #**************************************************************************** # Voorbeelden... # preloadtex {object "earth.*"} # preloadtex {object "earth.png"} #**************************************************************************** # "orbit" is een leuke opdracht om mee te spelen. De as wordt in [X Y Z] * # volgorde gespecificeerd en iedere as kan de waarde o of 1 hebben. * # 'rate' = hoe snel, 'duration' = aantal seconden. Let er wel op dat er * # een object moet zijn geselecteerd. * #**************************************************************************** # orbit {axis [0 1 0] rate 10.0 duration 7.0} #**************************************************************************** # Als je meer wilt weten over scripting in Celestia, bezoek dan: * # * # * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9) * # * Celestia Motherlode: * # (http://www.celestiamotherlode.net/catalog/documentation.html) * # Vanaf deze site kunnen verschillende handboeken worden gedownload. * # * Don G's Celestia pagina: (http://www.donandcarla.com/Celestia/) * # * Harald's Celestia pagina: (http://www.h-schmidt.net/celestia/) * # * WIKIbooks: (http://en.wikibooks.org/wiki/Celestia/Scripting) * # * # Don G's pagina bevat ook een handleiding voor CEL scripting. * # Harald's pagina bevat een handleiding voor CELX (Lua) scripting. * # Beide handleidingen bevatten voorbeeld scripts en andere handigheden. * # * # Op de Celestia Motherlode staat ook een document van Marco Klunder, * # welke in gaat op de migratie mogelijkheden van CEL naar CELX. * # Het is wel Engelstalig en is getiteld: * # * CELX-Scripting (How to migrate from CEL scripting). * #**************************************************************************** # Einde van het start script ... }