OrbiterSim | FAQ | Acronyms | Add-ons | Screen Shots | Orbiter Tutorials
How to build your own Solar System
This tutorial will walk you through step by step on
creating your very own solar system. Along the way I have included some very helpful tips for producing believable planet textures. Let us begin by quickly making a simple system. Later on in the tutorial we will
cover more detail. So here we go……
Step 1. Decide what you want in your solar system
There are three things Orbiter needs for a custom solar system
1) Config files for all objects ( includes system, star, planets, moons, and custom bases )
2) Scenario(s) to load your system into Orbiter 3) Textures for every object in your system ( except the star )
That's it. These are all the files we need to write. The planet
config files will be placed in the Orbiter config folder, the planet textures in the textures folder and you guess it, scenarios in the scenarios folder.
A good way to learn is to look at the work of others. Open the
Sol.cfg found in the Orbiter Config folder with notepad. Pretty simple isn't it. It gets more complicated when we start writing config files for each planet. Take a look at the Mars.cfg. See that, you can do that.
For simplistically sake let's create a very small system to see
what needs to be done. We will name our system "Peanuts" and place three planet around it. And let's give one of the planets two moons. All right let's get started.
The first thing you should always do is create a folder to develop in. Name that folder
Dev_peanuts. Under this folder create these sub folders for your files:
- Config
- Scenarios
- Textures
Drop a copy of Sol.cfg, Sun.cfg and Mars.cfg into the
Dev_peanuts/Config folder. You may now use these as templates for your new system. You will rename them as you modify them for your own system later. Do the same with a scenario file to use as a template.
Step 2. Build Config files for Peanut system
Begin with the system config first. We can write all of
our files using notepad by opening up one of the previously drop in templates. In this case edit the Sol.cfg file from the Dev_peanuts/Config folder.
For example, edit and save the Peanuts System config with the file name Peanuts_system.cfg. Below is the full content of our peanuts system file. at item listed in this file will need its own separate config
file, including the star.
Peanuts_system.cfg
; === Configuration file for Peanuts System ===
Name = Peanuts System Star1 = Peanuts
:=== Planet List === Planet1 = Peanuts_Charlie
Planet2 = Peanuts_Snoopy Snoopy:Moon1 = Peanuts_Woodstock Snoopy:Moon2 = Peanuts_Pigpen Planet3 = Peanuts_Lucy
Compare this to the Sol.cfg, they look quite a bit alike
don't they. We must be doing something right. Now build a config file for each object listed in the Peanuts System starting with the Star.
Peanuts.cfg
Next each planet must be created and given their own elements. I'll
write the Snoopy config for you. Notice the naming convention of the file. This will keep all of your solar system files together. This will make it easier to find them later.
Peanut_Snoopy.cfg
; === Configuration file for planet Snoopy ===
Name = Snoopy EllipticOrbit = TRUE ; ignore perturbations HasElements = TRUE ; orbital elements follow
; === Planetary Mean Orbits ===
Epoch = 2000.0 ; J2000 SemiMajorAxis = 5.2e10 ; meters Eccentricity = 0.00005
Inclination = -2.86 ; rad LongAscNode = 0.86530876153 ; rad LongPerihelion = 5.8650190805 ; rad
MeanLongitude = 6.20383077256 ; rad
; === Physical Parameters === Mass = 1.8685e19
Size = 2.0e5 ; mean radius
; === Rotation Elements === SidRotPeriod = 38362.39
Obliquity = 0.03 LAN = 5.2722
; === Data for the Visual ===
MaxPatchResolution = 6 ; highest sphere patch level
Now, write the config files for the other two planets. Refer to
Orbiter manual section "17.3 Planets" for help. For now don't add atmosphere, clouds or surface bases. SemiMajorAxis is the parameter which sets the planet distance from the star. Place Charlie inside of Snoopy
orbit and Lucy further out. If you have other custom solar systems, look to them for examples.
Feeling confident? Write the configs for the two moons around
Snoopy. Be sure to make them smaller then the parent planet. The SemiMajorAxis for the moon is originated from the parent planet and not the star.
Step 3. Build Scenario file
Now you should write a simple scenario file to check the
mechanics of your new system. No textures yet so everything would appear white if you were to load it now.
Snoopy.scn
BEGIN_DESC At the Peanuts solar system END_DESC
BEGIN_ENVIRONMENT System Peanuts_system Date MJD 51985.0 ; 6387253707 END_ENVIRONMENT
BEGIN_FOCUS Ship SH-03 END_FOCUS
BEGIN_CAMERA
TARGET SH-03 MODE Extern POS 4.00 -8.37 -5.16 TRACKMODE TargetRelative FOV 40.00 END_CAMERA
BEGIN_SHIPS SH-03:ShuttleA
STATUS orbiting Snoopy RPOS 933013 258819 250000 RVEL -29 0 108 PRPLEVEL 0:1.000 1:1.000 END END_SHIPS
Let find out if it works. Launch this scenario and use your camera
to take a look around. All the planets you created should appear in the camera object list.There are no planet textures yet so all the planets will appear white.
Tip! If you hear a ping while loading your scenario it's
because one or more of the config files needs a return added at the end of the last line.
Also Orbiter is very unforgiving with scenarios. Every element
in a scenario file must cut the muster or Orbiter will refuse to load it. Writing a scenario can get very frustrating and writing a good scenario is an art.
Step 4. Build Textures for planets and moons
Before we get started let me show you something. Open up
Peanuts_Charlie.cfg and change the planet name from Charlie to Io. Then go back and open up the scenario you just created. Notice Io is in the planet list instead of Charlie now. Use the camera to view Io. The
planet is now textured. Dosn't seem like much but you actually learned something here. You can use any texture in the Textures folder to make your planet. Therefore you could make a copy of Io.tex and call it Charlie.tex if you wanted to.
Now let us move onto ready made texture off the web >> Method 1. Use ready made textures
|