MOD - Creating a Planet 0.95
|
|
SpaceEngineer | Date: Tuesday, 28.06.2011, 19:54 | Message # 1 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Last update: Dec 30, 2011 (version 0.95)
SpaceEngine handles all man-made objects in the catalog files named *.sc and they are located in directory data/catalogs/. This files are simple text documents, so you can edit them with notepad (or the better program Notepad++, which I recomend you to download and install). The directory data/catalogs/ have subdirectories named galaxies, clusters, nebulae, stars and planets, for each object type. Here I describe how to make a planetary system. Lets go to data/catalogs/planets/ folder and create there a new file named, MySystem.sc. Open it with notepad.
First, you must choose a star, and which system you want to create. In current version of SE, it is impossible to create system for procedural stars. So you must choose one of the catalog stars, or create a new star (I will describe how to do it in a different thread). You can choose a star directly in SE. Start SE and disable procedural stars in F4 menu. When fly to Sun (press Shift-h, Shift-h and g) and start flying around to search for a star you want. If you want to create a system with habitable planets, note that for physical realism you can choose a yellow or red dwarf star (F5...F9, G0...G9, K0...K5), because only these stars have a long lifetime (billions of years) and have stable characteristics, so life has a lot of time to evolve on planets orbiting these stars. So, choose for example star named "ETA Cas" (Eta Cassiopeiae). This is a G0V sun-like star - A good choice!
Note: Current version (0.95) gave a bug. Do not make planets for stars named 'HD XXXX' or 'HIP XXXX'. You can't make moons for them and have some other glitches.
Open MySystem.sc and type in the code listed below. '//' is a mark or comment, another mark is '/*' and '*/' (like in C/C++). Some parameters are commented in the code, some of this will be described below:
Code Planet "Achird 1" // Type of object ant it's name { ParentBody "Achird" // The body, around wich this planet orbits Class "Terra" // Class of a planet
Radius 5098.3 // Radius in km Mass 0.76 // Mass in Earth's masses Oblateness 0.0 // Oblataness
Albedo 0.32 // Albedo Color (0.768, 0.898, 1.000 ) // Color of a particle
RotationPeriod 27.8 // Rotation period in hours RotationOffset 18.6 // Rotation phase in degrees RotationEpoch 2451545.0 // Epoch of rotatoin elements, Julian date Obliquity 16.58 // Obliquity of rotation axis in degrees EqAscendNode 28.16 // Longitude of ascenging node of rotation axis in degrees Precession 12500 // Precession period in years Surface // Surface tag { // These parameters describes a texture pack stored on the disk. // I comment it out because this planet uses a procedural generation of surface. //DiffMap "Icarus/Surface" // Surface (color) texture //DiffTileSize 512 // Surface texture tile resolution //DiffTileBorder 1 // Surface texture tile border width //BumpMap "Icarus/Bump" // Bump (heightmap) texture //BumpTileSize 512 // Bump texture tile resolution //BumpTileBorder 1 // Bump texture tile border width
BumpHeight 9.3 // Max height of landscape in km BumpOffset 0.3 // Offset of zero height level DiffMapAlpha "Water" // Mode of specular effect (flecks of sunlight) SpecularBright 20.0 // Brightness of specular spot SpecularPower 150.0 // Size of specular spot DayAmbient 0.1 // Brightness of fake daytime ambient light Lommel 0.0 // Lambert to Lommel-Seeliger lighting model ratio Exposure 2.0 // Global surface brighness Life true // true, if there is life on the planet
// Next are parameters for procedural surface generation Style 0.1600855 // Default color scheme Randomize (0.911, 0.373, 0.204) // Randomize vector colorDistMagn 0.09464233 // Magnitude of detail textures distortion colorDistFreq 945.9523 // Frequency of detail textures distortion detailScale 42684.58 // Scale of detail textures colorConversion true // Perform textures color conversion seaLevel 0.3133697 // Sea level height (0...1) snowLevel 0.9892518 // Snow line level (0...1) tropicLatitude 0.8670503 // Latitude of tropics icecapLatitude 1.0000000 // Latitude of ice caps boundaries icecapHeight 0.3133697 // Height of ice caps climatePole 1.000 // Climate of poles - index to color table (0...1) climateTropic 0.450 // Climate of tropics - index to color table (0...1) climateEquator 0.625 // Climate of equator - index to color table (0...1) tropicWidth 0.07 // Width of tropics mainFreq 0.8642751 // Main noise frequency (oceans/continents) venusFreq 0.6955331 // Venus-like global structures frequency venusMagn 0.3008256 // Venus-like global structures magnitude mareFreq 0.9387382 // Lunar mare frequency mareDensity 0.06008458 // Lunar mare density montesMagn 0.2209584 // Mountains magnitude (0...1) montesFreq 412.9121 // Mountains frequency montesDensity 0.108095 // Mountains density dunesMagn 0.04444444 // Dunes magnitude (0...1) dunesFreq 57.8876 // Dunes frequency dunesDensity 0.5669919 // Dunes density hillsMagn 0.1289276 // Hills magnitude (0...1) hillsFreq 503.3618 // Hills frequency hillsDensity 0.8554457 // Hills density canyonMagn 0.0341905 // Canyons magnitude (0...1) canyonFreq 163.7023 // Canyons frequency canyonDensity 0.4370083 // Canyons density cracksMagn 0.07983515 // Ice cracks magnitude (0...1) cracksFreq 0.6574386 // Ice cracks frequency cracksOctaves 0 // Number of ice cracks octaves craterMagn 0.9358109 // Craters magnitude craterFreq 24.14884 // Craters frequency craterDensity 0.05892152 // Craters density craterOctaves 4.606928 // Number of craters octaves craterRayedFactor 0 // Number of rayed craters relative to usual craters cycloneMagn 1.905298 // Cyclones magnitude (0...1) cycloneFreq 0.7607107 // Cyclones frequency cycloneDensity 0.04127789 // Cyclones density colorSea (0.040, 0.100, 0.200, 1.000) // Color of seas colorShelf (0.150, 0.480, 0.460, 1.000) // Color of shelf areas colorBeach (0.850, 0.740, 0.550, 0.000) // Color of beach lines colorDesert (0.770, 0.670, 0.470, 0.000) // Color of deserts colorLowland (0.440, 0.290, 0.170, 0.000) // Color of lower lands colorUpland (0.640, 0.570, 0.470, 0.000) // Color of upper lands colorRock (0.220, 0.200, 0.200, 0.000) // Color of rocks colorSnow (1.000, 1.000, 1.000, 0.016) // Color of snow colorLowPlants (0.100, 0.160, 0.070, 0.000) // Color of lower vegetation colorUpPlants (0.090, 0.110, 0.040, 0.000) // Color of upper vegetation }
Clouds // Clouds layer tag { // These parameters describes a texture pack stored on the disk. // I comment it out because this planet uses a procedural generation of surface. //DiffMap "Icarus/Clouds" // Color texture //DiffTileSize 512 // Color texture tile resolution //DiffTileBorder 1 // Color texture tile border width //BumpMap "Icarus/CloudsBump"// Bump (heightmap) texture //BumpTileSize 512 // Bump texture tile resolution //BumpTileBorder 1 // Bump texture tile border width
BumpHeight 0.5 // Max height of "cloud landscape" in km BumpOffset 0.0 // Offset of zero height level DayAmbient 2.0 // Brightness of fake daytime ambient light Lommel 0.2 // Lambert to Lommel-Seeliger lighting model ratio Exposure 2.0 // Global clouds brighness Height 6.3 // Height of cloud layer in km Velocity 75.0 // Velosity of clouds layer Color (1.0, 1.0, 1.0) // Global color of clouds layer
// Next are parameters for procedural surface generation mainFreq 0.9 // Main noise frequency mainOctaves 10 // Number of octaves of main noise Coverage 0.1 // Clouds coverage (0...1) twistZones 2.68 // Number of Jupiter-like zones or strips twistMagn 2.53 // Strength of twist }
Ocean { Height 6.009521 DayAmbient 2.0 Lommel 0.0 Exposure 2.0 Color (1.000, 1.000, 1.000, 1.000) }
Atmosphere // Atmosphere tag { Model "Earth" // Model of the atmosphere Height 80.0 // Height of the top boundary in km Pressure 1.2 // Surface pressure in bars Density 1.83 // Surface density in kg/m^3 Greenhouse 18.0 // Greenhouse effect in degrees Bright 10.0 // Brightness (rendering parameter) Opacity 1.0 // Opacity (rendering parameter) SkyLight 1.0 // Brightness of skylight on terrain EclipseBright 250.0 // Brightness of solar eclipse shadow EclipseColor (1.000 0.600 0.200) // Color of solar eclipse shadow }
Rings // Rings tag { // Texture parameter is commented out, becuase // this planet use procrdural generation of texture //Texture "Icarus-rings.*" // Rings texture InnerRadius 8318.5 // Inner raduis of rings system in km OuterRadius 12438.3 // Outer radius of rings system in km RotationPeriod 43.3 // Rings rotation period in hours RotationOffset 60.0 // Rings rotation phase in degrees FrontBright 1.0 // Direct lighting brightness BackBright 5.0 // Back lighting brightness (scattering) Density 1.0 // Density (opacity) Exposure 2.0 // Global brightness }
Orbit // Orbit tag { //Type "Static" // This is for non-moving bodies like suns RefPlane "Ecliptic" // Orbit reference plane Epoch 2451545.0 // Orbital parameters epoch, Julian date Period 0.91458 // Orbital period in years Eccentricity 0.01265 // Eccentricity Inclination 0.51346 // Inclination in degrees AscendingNode 39.31601 // Longitude of ascending node in degrees
// Next two are interchangeable: SemiMajorAxis = PericenterDist / (1.0 - Eccentricity) SemiMajorAxis 0.958 // Semimajor axis in astronomical units PericenterDist 0.9458813 // Pericentric distanse in astronomical units
// Next two are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 268.7741 // (or ArgOfPericenter) Argument of pericenter in degrees LongOfPericen 308.09011 // (or LongOfPericenter) Longitude of pericenter in degrees
// Next two are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly 348.84963 // Mean anomaly in degrees MeanLongitude 296.93974 // Mean longitude in degrees
AscNodePreces 131795.3 // Ascending node precession period in years ArgOfPeriPreces 26799.51 // Argument of pericenter precession period in years } }
*
|
|
| |
SpaceEngineer | Date: Tuesday, 28.06.2011, 19:55 | Message # 2 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Now test this planet. First, you must link new catalog to SpaceEngine. Goto config/ folder and open the universe.cfg file with notepad. Find there the PlanetsCatalogs parameter and add there at any place this line:
Code "data/catalogs/planets/MySystem.sc"
Save changes and launch SpaceEngine. Hit F3 key and enter your planet's name: "Achird 1". Then press G key and you can see your planet:
If you don't like it's appearance, change some parameters in your planet catalog script. Remember: you must restart SpaceEngine to see changes.
Take a look at planet script. It consists of several parameters. A Parameter is a line with parameter name at left side and parameter value at right side. Name and value must be divided with space or tabulation. Only one parameter per line allowed. Comments are in C/C++ format ('//' or '/*' and '*/'). Parameters can have one of the following formats: number: Radius 5098.3 vector: Color (0.768, 0.898, 1.000) string: ParentBody "Eta Cas" number in 'deg min sec' of 'hrs min sec' format: Dec 18 32 16.23 tags: Planet "PlanetName" { ... } Tags are special parameters that divide the script into sections, enclosed in curly braces. In planetary system script these tags are allowed: Planet "Name" { } (see below for details) Surface { } Clouds { } Atmosphere { } Rings { } Orbit { } Read descriptions of some parameters below. The functions of other parameters can be see above in comments of sample script. Note: if some parameters are missing, then they are initialized by default values. But some parameters are absolutely neccessary.
- Planet
This is a main tag name, describes a planetary body. Other possible body types: Planet - normal planet DwarfPlanet - dwarf planet (like Pluto, Ceres, etc) Moon - normal moon DwarfMoon - dwarf moon (small irregular asteroid-like moons) Asteroid - asteroid orbiting a star Comet - comet (note: in current version (0.95) comets are rendered exactly as asteroids) Star - star (sun) BlackHole - black hole Barycenter - barycenter of binary star or binary planet So, if you want to make a moon, type this: Code Moon "MyMoonName" { ParentBody "MyPlanetName" ... } Make sure that ParentBody contains the name of parent planet. It is possible to make a moon orbiting the sun, but this is incorrect in the astronomical sense. All the Planet, Moon etc tags must have a body name description - string value after parameter name. If you want to give several alternate names for a body, divide them by slash '/': Code Planet "Icarus/Eta Cas 3/Eta Cassiopeiae 3" The Barycenter tag is a description of fictional "body" that must be the parent body for two stars of binary star system or two planets of binary planet. It can orbit another body (star or barycenter) itself. Use Barycenter tag to make hierarchical multiple stars and binary planets. But make sure you use correct orbits for two bodies orbiting barycenters (see below the Orbit tag description).
- Class
This is string the parameter that describes a class of a planet or spectral class of a star. The planet classes are: "Terra" - rocky planet with water on the surface (like Earth). "Desert" - rocky planet without water on the surface (like Venus or Mars). "Selena" - rocky planet without atmosphere (like Mercury, Moon, Io). "IceWorld" - icy planet with atmosphere (like Titan) or without atmosphere (like Europa, Ganymede, Callisto). "Asteroid" - asteroid-like body with incorrect shape. "GasGiant" or "Jovian" - gas giant planet (like Jupiter or Saturn). "IceGiant" or "Neptune" - ice giant planet (like Uranus or Neptune).
If you describe a star (uses Star main tag), the Class tag is a string of star's spectral class: Normal star classes: O B A F G K M and R S N Wolf-Rayett classes: WC WN Brown dwarf classes: L T C White dwarf classes: DA DB DC DO DQ DZ All classes listed above use subclass index (digit 0...9). All except white dwarfs use luminosity class index: Ia-0 Ia Ib II III IV V VI Example: G2V, M5III, DB3. There are also some special "classes": Q - neutron star X - black hole (use BlackHole tag instead of this) SB - barycenter (use Barycenter tag instead of this)
- Surface
This is the planetary surface description. If you make a planet with textures stored on disk, use DiffMap and BumpMap parameters to describe textures (I will describe how to do it in a different thread). Some other parameters are: BumpHeight - max height of landscape in km. BumpOffset - negative offset of landscape in km. For example, if you want to make landscape from -8 km to +12 km, type BumpHeight 20 and BumpOffset 8. DiffMapAlpha - the mode of alpha channel of texture: "Water" - water specular (solar specular spot on water surfaces) "Ice" - ice specular (solar specular spot follows all curved surface of body) "None" - ignore alpha channel DayAmbient - fake ambient lighting at daylight time. Usable for bodies without atmospheres and for cloud layers. Lommel - Lambert lighting model to Lommel-Seeliger lighting model ratio. Type Lommel 0.0 for Lambert only model (good for gas giants) or Lommel 1.0 for Lommel-Seeliger only model (good for dusty bodies without atmosphere, like Moon). Intermediate values for mixed lighting model (linear interpolation). Life - seed a life on a planet. If you type Life true, SpaceEngine will type "with life" string in planet's info table. Randomize - a randomization vector. If you make two identical planets (with all parameters identical), type different randomization values to make them look different. colorDistFreq, colorDistMagn - frequency and magnitude of "spots" of various detail textures. detailScale - scale of detail textures. colorConversion - convert colors of detail textures to colors of color table, defined by colorBeach ... colorUpPlants parameters (see below). seaLevel - relative depth of sea, obsolete parameter (use Ocean tag instead). snowLevel - relative height of snow level on mountains, obsolete parameter. tropicLatitude, icecapLatitude - sinus of latitude of tropics and polar ice cap endge (0.0 - equator, 1.0 - pole). icecapHeight - relative height of ice caps. climatePole, climateTropic, climateEquator - climate of poles, tropics and equator (it is an index to color table, 0.0 - desert, 0.5 - temperate zone, 1.0 - snow). tropicWidth - tropics width. mainFreq - frequency of main (global) noise, defines continents/oceans distribution. venusFreq, venusMagn - frequency and magnitude of Venus-like landscape forms. mareFreq, mareDensity - frequency and density (number) of impact bassins aka lunar mares. montesFreq, montesMagn, montesDensity - frequency and magnitude of mountains, density (number) of mountain massifs. hillsFreq, hillsMagn, hillsDensity - frequency and magnitude of mountains aka "eroded hills", density (number) of mountain massifs (works only on Desert and Terra). dunesFreq, dunesMagn, dunesDensity - frequency and magnitude of dunes, density (number) of dune massifs. canyonFreq, canyonMagn, canyonDensity - frequency and magnitude of canyons, density (number) of canyon massifs. cracksFreq, cracksMagn, cracksOctaves - frequency, magnitude and number of octaves of cracks in icy crust, like on Europa (works only on Selena and Ice World). craterFreq, craterMagn, craterDensity, craterOctaves - frequency, magnitude, density (number) and number of octaves of craters. craterRayedFactor - number of rayed craters relative to regular craters. cycloneFreq, cycloneMagn, cycloneDensity - frequency, magnitude and density (number) of cyclones in clouds layer. colorSea, colorShelf, colorBeach, colorDesert, colorLowland, colorUpland, colorRock, colorSnow - 8 vectors for color table from lower altitudes to higher altitudes. colorLowPlants and colorUpPlants - modification of colorLowland and colorUpland parameters for planets with life (Life true).
- Ocean
This is water layer description. Planets may have several layers of water at different heights, but it is useful yet. The water is rendered as transparent spherical layer around the planet. Height - height of water surface above the lowest point of the planet's surface (Surface.Radius - Surface.BumpOffset) in kilometers. Make it lower than the highest mountains (Surface.BumpHeight) to obtain the seas and continents, and above them to get a planet completely covered by water. SpecularBright - bright of the solar spot glare, the default value is 20. SpecularPower - size of the solar spot glare, the default value of 150, the less the value - the larger the spot. DayAmbient - fake ambient lighting at daylight time. Color - modificator of the color of the water surface. Use the colorSea parameter from the Surface tag instead.
- Clouds
This is the cloud layer description. Planet can have several clouds layers with different textures, altitudes and moving velocities. To do this simply type Clouds { } tag several times with different parameters inside them. If you make a planet with cloud textures stored on disk, use DiffMap and BumpMap parameters to describe textures (I will describe how to do this in different thread). Some other parameters are: Height - the height of the clouds above the lowest point of the planet's surface (Surface.Radius - Surface.BumpOffset) in kilometers. Make it is higher than the highest mountains (Surface.BumpHeight), so the clouds with no overlap with them. Velocity - velocity clouds at the equator relative to the planet's surface, in kilometers per second. Coverage - clouds coverage (0...1). Note that this is not coverage amount, but factor of converting heightmap to color map. twistZones and twistMagn - number of Jupiter-like zones or strips and its strength. To make a Venus-like cloud layer, type twistZones 1 and twistMagn 3.5. DayAmbient - fake ambient lighting at daylight time.
- Atmosphere
This is the atmosphere tag. SpaceEngine uses several precomputed models of atmospheres, stored in data/models/atmospheres/ folder in the binary files with .atm extension. They are described in the script file atmospheres.cfg, stored in the same folder. To add your own model, you must add atmosphere model description in this file. Note that not all systems can correctly calculate atmospheric models due to unsupported geometry shaders or some other issues. So I recommend to use standard models, that you can find in these folders: Earth.atm - Earth atmosphere model, blue sky and red sunset. Mars.atm - Mars atmosphere model, red sky and blue sunset. Venus.atm - Venus atmosphere model, yellow sky and blue sunset, big density. Jupiter.atm - Jupiter atmosphere model, white sky and yellow sunset. Neptune.atm - Neptune atmosphere model, deep blue sky and pink sunset. Titan.atm - Titan atmosphere model, violet-green-orange sky and red sunset. Sun.atm - Star atmosphere model, white sky and white sunset (real color is matched to star light color). Some parameters are: Model - name of atmospheric model ("Earth", "Venus", etc). Height - height of the top boundary of the atmosphere in km. Typical value 50-100 km for terrestrial planets, 500-2000 km for gas giants. Pressure, Density, Greenhouse - physical parameters, some of them are typed by SpaceEngine in planet's info table. Greenhouse is a temperature of the greenhouse effect in Celsius or Kelvin degrees. Bright and Opacity - rendering parameters. To avoid visual artifacts, use Opacity = 0.1*Bright.
- Rings
This is the planetary rings system tag. In current version (0.95) rings are drawn as flat textured ring around planet with 4 levels of procedural noise. There is no way to control global noise pattern but to make a texture for it. Texture - the path to global texture. It must be in RGBA format and have dimentions of x*2 pixels, there x is the length of texture (512, 1024, etc). First row of pixels is a front-light radial color pattern (with opacity in alpha channel), and second row is a back-light radial color pattern (with opacity in alpha channel). Look at Saturn's rings in SpaceEngine: it has different appearance in back lighting, when Sun is behind Saturn. FrontBright - brightness of rings in front ("day") lighting. BackBright - brightness of rings in back ("night") lighting. Density - global opacity multiplier. Exposure - global brightness multiplier.
- Orbit
This is the planetary orbit tag. Current version (0.95) uses only Kepler equations to compute orbital motions of bodies. If you do not know about Kepler orbital elements, refer to Wikipedia. Note: the Period parameter can be calculated automatically by SpaceEngine from the SemiMajorAxis or PericenterDist. If you want to make a binary system, make sure that the following parameters are the same for both two bodies of the system: Eccentricity, Inclination, AscendingNode, MeanAnomaly. The ArgOfPericenter parameter of one body must differ by 180 degrees from the ArgOfPericenter parameter of another body. Calculate the SemiMajorAxis parameter from actual system components mass ratio (here R is the desired distance between the bodies):
Body A: SemiMajorAxis = R * MassB / (MassA + MassB) Body B: SemiMajorAxis = R * MassA / (MassA + MassB)
*
|
|
| |
SpaceEngineer | Date: Tuesday, 28.06.2011, 19:57 | Message # 3 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Here are the sample codes for moon. Some parameters have no sense for this type of body, so those are skipped.
Code Moon "Achird 1.1" // Type of object ant it's name { ParentBody "Achird 1" // The body, around wich this planet orbits Class "Selena" // Class of a planet
Radius 1112.5 // Radius in km //Mass 0.76 // Mass in Earth's masses Oblateness 0.0 // Oblataness
Albedo 0.12 // Albedo Color (1.000, 1.000, 0.955 ) // Color of a particle
/* Do not describe rotation parameters if you want to let SpaceEngine auto calculate tidal locking */ //RotationPeriod 27.8 // Rotation period in hours //RotationOffset 18.6 // Rotation phase in degrees //RotationEpoch 2451545.0 // Epoch of rotatoin elements, Julian date //Obliquity 16.58 // Obliquity of rotation axis in degrees //EqAscendNode 28.16 // Longitude of ascenging node of rotation axis in degrees //Precession 12500 // Precession period in years Surface // Surface tag { // These parameters describes a texture pack stored on the disk. // I comment it out because this planet uses a procedural generation of surface. //DiffMap "Icarus1/Surface" // Surface (color) texture //DiffTileSize 512 // Surface texture tile resolution //DiffTileBorder 1 // Surface texture tile border width //BumpMap "Icarus1/Bump" // Bump (heightmap) texture //BumpTileSize 512 // Bump texture tile resolution //BumpTileBorder 1 // Bump texture tile border width
BumpHeight 20.58671 // Max height of landscape in km BumpOffset 5.35812 // Offset of zero height level //DiffMapAlpha "None" // Mode of specular effect (flecks of sunlight) //SpecularBright 20.0 // Brightness of specular spot //SpecularPower 150.0 // Size of specular spot DayAmbient 0.07 // Brightness of fake daytime ambient light Lommel 1.0 // Lambert to Lommel-Seeliger lighting model ratio Exposure 2.0 // Global surface brighness Life false // True if there is life on the planet
// Next are parameters for procedural surface generation Style 0.589168 // Default color scheme Randomize (-0.031, -0.725, -0.872) // Randomize vector colorDistMagn 0.04671758 // Magnitude of detail textures distortion colorDistFreq 14.59185 // Frequency of detail textures distortion detailScale 665.3179 // Scale of detail textures colorConversion true // Perform textures color conversion seaLevel 0.2344274 // Mare level height (0...1) snowLevel 0.990009 // Snow line level (0...1) tropicLatitude 0.0 // Latitude of tropics icecapLatitude 0.5 // Latitude of ice caps boundaries icecapHeight 0.4566726 // Height of ice caps climatePole 1.000 // Climate of poles - index to color table (0...1) climateTropic 0.450 // Climate of tropics - index to color table (0...1) climateEquator 0.625 // Climate of equator - index to color table (0...1) tropicWidth 0.07 // Width of tropics mainFreq 1.770453 // Main noise frequency (oceans/continents) venusFreq 0.90631 // Venus-like global structures frequency venusMagn 0.1794956 // Venus-like global structures magnitude mareFreq 1.590966 // Lunar mare frequency mareDensity 0.1880112 // Lunar mare density montesMagn 0.2106156 // Lunar mare magnitude montesFreq 447.9364 // Lunar mare frequency montesDensity 0.1032389 // Lunar mare density dunesMagn 0.05065665 // Dunes magnitude (0...1) dunesFreq 7542.516 // Dunes frequency dunesDensity 0.0 // Dunes density hillsMagn 0.125375 // Hills magnitude (0...1) hillsFreq 0.3447827 // Hills frequency hillsDensity 0.5050473 // Hills density canyonMagn 0.003447684 // Canyons magnitude (0...1) canyonFreq 658.1566 // Canyons frequency canyonDensity 0.3917769 // Canyons density cracksMagn 0.02371026 // Ice cracks magnitude (0...1) cracksFreq 2.237627 // Ice cracks frequency cracksOctaves 0 // Number of ice cracks octaves craterMagn 0.6555124 // Craters magnitude craterFreq 17.41361 // Craters frequency craterDensity 0.8474388 // Craters density craterOctaves 10 // Number of craters octaves craterRayedFactor 0.2032161 // Number of rayed craters relative to usual craters colorSea (0.400, 0.350, 0.320, 0.000) // Color of mare colorShelf (0.470, 0.410, 0.380, 0.000) // Color of mare colorBeach (0.560, 0.470, 0.420, 0.000) // Color of continents colorDesert (0.510, 0.440, 0.370, 0.200) // Color of continents colorLowland (0.390, 0.340, 0.280, 0.500) // Color of continents colorUpland (0.660, 0.600, 0.520, 0.800) // Color of continents colorRock (0.670, 0.620, 0.550, 1.000) // Color of continents colorSnow (1.000, 1.000, 1.000, 1.000) // Color of continents }
/* There is no atmosphere, clouds, oceans and rings on this moon */ //Clouds //Ocean //Atmosphere //Rings
Orbit // Orbit tag { //Type "Static" // This is for non-moving bodies like suns RefPlane "Equator" // Orbit reference plane Epoch 2451545.0 // Orbital parameters epoch, Julian date //Period 0.91458 // Orbital period in years Eccentricity 0.0366 // Eccentricity Inclination 1.81546 // Inclination in degrees AscendingNode 0.15441 // Longitude of ascending node in degrees
// Next two are interchangeable: SemiMajorAxis = PericenterDist / (1.0 - Eccentricity) SemiMajorAxis 0.0011029 // Semimajor axis in astronomical units PericenterDist 0.0010625 // Pericentric distanse in astronomical units
// Next two are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 18.768 // (or ArgOfPericenter) Argument of pericenter in degrees LongOfPericen 18.61359 // (or LongOfPericenter) Longitude of pericenter in degrees
// Next two are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly 275.156898 // Mean anomaly in degrees MeanLongitude 294.079308 // Mean longitude in degrees
AscNodePreces 6.3548 // Ascending node precession period in years ArgOfPeriPreces 1297.156 // Argument of pericenter precession period in years } }
Here is the sample code for a gas giant. Some parameters have no sense for this type of body, so they have been skipped. Note how clouds are described. You can see three empty Clouds { } tags, that tells SpaceEngine to generate parameters automatically. However, you can type Height, Velocity and other physical parameters to each Clouds tag individually. But procedural texture parameters will be the same for each Clouds tag. You can type them in any Clouds tag of Surface tag. Here are all clouds procedural texture parameters: mainFreq, mainOctaves, Coverage, twistZones, twistMagn Note that color table tags (colorSea ... colorSnow) here means colors of clouds at different altitudes, and is described in the Surface tag.
Code Planet "Achird 2" // Type of object ant it's name { ParentBody "Achird" // The body, around wich this planet orbits Class "GasGiant" // Class of a planet
Radius 78293.2 // Radius in km Mass 448.2 // Mass in Earth's masses Oblateness 0.0 // Oblataness
Albedo 0.36 // Albedo Color (1.000, 0.898, 0.768 ) // Color of a particle
RotationPeriod 12.2 // Rotation period in hours RotationOffset 23.3 // Rotation phase in degrees RotationEpoch 2451545.0 // Epoch of rotatoin elements, Julian date Obliquity 13.58 // Obliquity of rotation axis in degrees EqAscendNode 2.44 // Longitude of ascenging node of rotation axis in degrees Precession 432300 // Precession period in years Surface // Surface tag { // These parameters describes a texture pack stored on the disk. // I comment it out because this planet uses a procedural generation of surface. //DiffMap "Daedalus/Surface" // Surface (color) texture //DiffTileSize 512 // Surface texture tile resolution //DiffTileBorder 1 // Surface texture tile border width //BumpMap "Daedalus/Bump" // Bump (heightmap) texture //BumpTileSize 512 // Bump texture tile resolution //BumpTileBorder 1 // Bump texture tile border width
BumpHeight 9.3 // Max height of landscape in km BumpOffset 0.3 // Offset of zero height level DiffMapAlpha "Water" // Mode of specular effect (flecks of sunlight) SpecularBright 20.0 // Brightness of specular spot SpecularPower 150.0 // Size of specular spot DayAmbient 3.0 // Brightness of fake daytime ambient light Lommel 0.0 // Lambert to Lommel-Seeliger lighting model ratio Exposure 2.0 // Global surface brighness Life false // True if there is life on the planet
// Next are parameters for procedural surface generation Style 0.03865 // Default color scheme Randomize (0.669, 0.520, -0.672) // Randomize vector mainFreq 0.0256 // Main noise frequency mainOctaves 8 // Number of octaves of main noise colorDistFreq 1.76344 // Color distorsion amplitude colorDistMagn 0.179 // Color distorsion frequency twistZones 2.095 // Number of Jupiter-like zones or strips twistMagn 0.599 // Strength of twist cycloneMagn 18.851 // Cyclones magnitude cycloneFreq 0.2897 // Cyclones frequency cycloneDensity 0.1037 // Cyclones density cycloneOctaves 1 // Number of cyclones octaves twistZones 4.0 // Number of Jupiter-like zones or strips twistMagn 0.3 // Strength of twist colorSea (0.630000, 0.600000, 0.550000, 0.000000) colorShelf (0.700000, 0.700000, 0.690000, 0.000000) colorBeach (0.800000, 0.870000, 0.920000, 0.000000) colorDesert (0.650000, 0.420000, 0.270000, 0.000000) colorLowland (0.730000, 0.330000, 0.270000, 0.000000) colorUpland (0.750000, 0.350000, 0.290000, 0.000000) colorLowPlants (0.730000, 0.330000, 0.270000, 0.000000) colorLowPlants (0.730000, 0.330000, 0.270000, 0.000000) colorRock (0.900000, 0.550000, 0.290000, 0.000000) colorSnow (0.950000, 0.590000, 0.220000, 0.000000) }
// 3 cloud layers Clouds { } Clouds { } Clouds { }
Atmosphere // Atmosphere tag { Model "Jupiter"// Model of the atmosphere Height 680.0 // Height of the top boundary in km Bright 10.0 // Brightness (rendering parameter) Opacity 1.0 // Opacity (rendering parameter) SkyLight 1.0 // Brightness of skylight on terrain EclipseBright 250.0 // Brightness of solar eclipse shadow EclipseColor (1.000 0.600 0.200) // Color of solar eclipse shadow }
Rings // Rings tag { // Texture parameter is commented out, becuase // this planet use procrdural generation of texture //Texture "Daedalus-rings.*" // Rings texture InnerRadius 83000 // Inner raduis of rings system in km OuterRadius 165000 // Outer radius of rings system in km RotationPeriod 13.3 // Rings rotation period in hours RotationOffset 20.0 // Rings rotation phase in degrees FrontBright 1.0 // Direct lighting brightness BackBright 5.0 // Back lighting brightness (scattering) Density 1.0 // Density (opacity) Exposure 2.0 // Global brightness }
Orbit // Orbit tag { //Type "Static" // This is for non-moving bodies like suns RefPlane "Ecliptic" // Orbit reference plane Epoch 2451545.0 // Orbital parameters epoch, Julian date Period 10.139 // Orbital period in years Eccentricity 0.0235 // Eccentricity Inclination 0.0572 // Inclination in degrees AscendingNode 44.23281 // Longitude of ascending node in degrees
// Next two are interchangeable: SemiMajorAxis = PericenterDist / (1.0 - Eccentricity) SemiMajorAxis 4.7632 // Semimajor axis in astronomical units PericenterDist 4.6512648 // Pericentric distanse in astronomical units
// Next two are interchangeable: ArgOfPericen = LongOfPericen - AscendingNode ArgOfPericen 74.32142 // (or ArgOfPericenter) Argument of pericenter in degrees LongOfPericen 118.55423 // (or LongOfPericenter) Longitude of pericenter in degrees
// Next two are interchangeable: MeanAnomaly = MeanLongitude - LongOfPericen MeanAnomaly 12.214751 // Mean anomaly in degrees MeanLongitude 91.1874358 // Mean longitude in degrees
AscNodePreces 1.123e6 // Ascending node precession period in years ArgOfPeriPreces 2.124e7 // Argument of pericenter precession period in years } }
You can download script for this tutorial here.
*
|
|
| |
Neon | Date: Wednesday, 29.06.2011, 16:09 | Message # 4 |
Explorer
Group: SE team
Australia
Messages: 208
Status: Offline
| Very nice... Vova, thanks for doing that
|
|
| |
Toty | Date: Wednesday, 29.06.2011, 16:24 | Message # 5 |
Explorer
Group: SE team
Spain
Messages: 158
Status: Offline
| Awesome and useful work. Thanks.
|
|
| |
SpaceEngineer | Date: Wednesday, 29.06.2011, 18:02 | Message # 6 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Ask in this thread about the workings of parameters.
*
|
|
| |
Jabberwockxeno | Date: Thursday, 25.08.2011, 00:19 | Message # 7 |
Observer
Group: Users
United States
Messages: 10
Status: Offline
| Oh wow!
This is like spore, only better!
It lacks some of the more personal tools though, I wish I could carve a smilky face on it like in spore
|
|
| |
Tuskin | Date: Wednesday, 31.08.2011, 00:02 | Message # 8 |
Space Pilot
Group: Users
Canada
Messages: 94
Status: Offline
| I made this before you made the guide, the planet Reach from 'Halo'. Your code was neat a easy to follow
Code Planet "Reach/Epsilon Eri 2/18 Eri 2" { ParentBody "18 Eri" Class "Terra"
Mass 1.55 // M_Earth Radius 7636.5 // km //Oblateness 0.0034
RotationPeriod 27 // hours RotationOffset 280.5 // degrees Precession 25592 // years //Obliquity -23.4392911 // degrees
Color ( 0.850 0.850 1.000 ) Albedo 0.3
Surface { Style 0.20 Life true //Randomize (0.86, 0.43, 0.75) seaLevel 0.4 mareDensity 0.0 craterDensity 0.3 //climatePole 1.0 //climateTropic 0.45 //climateEquator 0.625 latIceCaps 0.86 /*colorSea (0.04, 0.10, 0.20, 1.00) colorShelf (0.15, 0.48, 0.46, 1.00) colorBeach (0.82, 0.73, 0.57, 0.00) colorDesert (0.38, 0.32, 0.22, 0.00) colorLowland (0.34, 0.29, 0.18, 0.00) colorUpland (0.57, 0.54, 0.42, 0.00) colorRock (0.10, 0.10, 0.10, 0.00) colorSnow (1.00, 1.00, 1.00, 0.50) colorLowPlants (0.18, 0.24, 0.09, 0.00) colorUpPlants (0.15, 0.17, 0.07, 0.00)*/ //BumpMap "Moon/bump" BumpHeight 11.5 DiffMapAlpha "Water" SpecularBright 20 SpecularPower 150 }
Clouds Clouds { Coverage 0.20 mainFreq 1.0 Velocity 40 Height 5 BumpHeight 0.5 }
Atmosphere { Height 90 Pressure 1 Density 1.548 Model "Earth" Bright 10.0 Opacity 1.0 EclipseColor ( 1.000 0.600 0.200 ) }
Orbit { Period 1.08 // years SemiMajorAxis 0.6 // a.u. Eccentricity 0.0167086342 Inclination 0.0 // degrees AscendingNode 348.739 // degrees LongOfPericen 102.93734808 // degrees MeanLongitude 100.46645683 // degrees } }
Thanks to your guide though I can make my own Catalogue. Right now I just have this pasted at the bottom of the "SolarSys.sc" file.
Edited by Tuskin - Wednesday, 31.08.2011, 00:06 |
|
| |
SpaceEngineer | Date: Wednesday, 31.08.2011, 10:54 | Message # 9 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Here it is: This is a render from new version.
*
|
|
| |
Tuskin | Date: Monday, 05.09.2011, 16:09 | Message # 10 |
Space Pilot
Group: Users
Canada
Messages: 94
Status: Offline
| that looks very nice
|
|
| |
HarbingerDawn | Date: Wednesday, 23.11.2011, 16:23 | Message # 11 |
Cosmic Curator
Group: Administrators
United States
Messages: 8717
Status: Offline
| SpaceEngineer, thank you for this thread, it is an invaluable resource! I was wondering if any changes to existing planet parameters, or new parameters, had been added for version 0.95. I am also curious how to specify 3D models since that is now an experimental feature? Thanks!
All forum users, please read this! My SE mods and addons Phenom II X6 1090T 3.2 GHz, 16 GB DDR3 RAM, GTX 970 3584 MB VRAM
Edited by HarbingerDawn - Wednesday, 23.11.2011, 16:36 |
|
| |
SpaceEngineer | Date: Wednesday, 23.11.2011, 22:11 | Message # 12 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| This tutorial will be updated soon. Version 0.95 has a lot of new parameters.
*
|
|
| |
SpaceEngineer | Date: Friday, 30.12.2011, 16:05 | Message # 13 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| The tutorial has been updated (v0.95). Press "Refresh page" in your browser to view updated images.
|
|
| |
Talyn | Date: Friday, 27.04.2012, 00:49 | Message # 14 |
Explorer
Group: Users
Portugal
Messages: 207
Status: Offline
| Is there a way to change the tint of the atmosphere with the earth model, without making a new model?
PC: Intel Core2Duo E6850 @ 3.00 GHz & 4GB DDR3 @ 1333 - NVIDIA GeForce 8800 GTS with 640 MB VRAM Laptop: Intel Core2Duo T9400 @ 2.53 GHz & 4 GB DDR @ 1066 - NVIDIA GeForce 9600M GT
|
|
| |
SpaceEngineer | Date: Friday, 27.04.2012, 15:07 | Message # 15 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| Quote (Talyn) Is there a way to change the tint of the atmosphere with the earth model, without making a new model? No. You only can control its brightness and opacity. Creating a new model is a bad idea, because atmosphere models are not deleted from video memory once being unnecessary (like planetary textures and stars).
*
|
|
| |