# A beginner's guide to Kopernicus - gas giant edition

## Recommended Posts

Alright, other guides are still in the makings, but since gas giants are easy, I've written a quick guide on it.

So, how do I create a gas giant with Kopernicus?

The answer is rather simple: it's easier than 'solid' planets!

Let's start off as usual.

Step 1: Start as always

```@Kopernicus:AFTER[Kopernicus]
{
Body
{
cacheFile = (filepath)```

That's how you begin. Easy, right? Next step: the properties of your gas giant.

Step 2: Planet properties

```Properties
{
description = (in-game description in the info tag)
geeASL = (surface gravity in G's)
radius = (distance from your gas giant's core to it's surface, how 'big' is the planet?)
rotationPeriod = (rotation period of your planet)
rotates = true (important!)
initialRotation = (number here)
tidallyLocked = (do you want your planet to be tidally locked, ergo, do you want it's rotation period to be identical to it's orbital period, resulting in it always showing it's parent object the same side of the planet? If yes, write 'true', if not, write 'false')

isHomeWorld = false (important!)
timewarpAltitudeLimits = (eight numbers here. Each number is a specific altitude above your planet's sea level at which a set timewarp speed is unlocked. Example: 0 30000 40000 60000 100000 200000 400000 800000. In the example, 1x time warp is unlocked at altitude 0, 5x is unlocked at 30000m above sea level, 10x at 40000, etc)

ScienceValues
{
landedDataValue = 1
splashedDataValue = 1 (Since this is a gas giant, it is in theory impossible for science to be collected at the surface or while 'splashed down'. Therefor, write down '1' for conditions that are not possible, for example, flying low and flying high on planets that have no atmosphere)

flyingLowDataValue = 6
flyingHighDataValue = 5.5
inSpaceLowDataValue = 5
inSpaceHighDataValue = 4.5
recoveryValue = 6
flyingAltitudeThreshold = 12000
spaceAltitudeThreshold = 140000
}
}```

That wasn't too complicated now, was it? Next up is specifying the planet's orbit.

Step 3: Orbit properties

```Orbit
{
referenceBody = (what object does your planet/moon orbit?)
color = (orbit line color)
eccentricity = (how eccentric (oval shaped) is the orbit? For instance, comets have highly eccentric orbits)
inclination = (orbit inclination relative to the equator of the 'referenceBody')
argumentOfPeriapsis = (number here)
longitudeOfAscendingNode = (number here)
meanAnomalyAtEpoch = (number here)
epoch = (number here)
}```

And now updating the scaledspace.

Step 4: ScaledSpace update

```ScaledVersion
{
type = Atmospheric
Material
{
texture = (filepath to your planet's color.[fileformat] file)
normals = (filepath to your planet's normal.[fileformat] file)
shininess = (surface shininess in ScaledSpace)
specular = 0.0,0.0,0.0,1.0
rimPower = (number here, provides an atmospheric glow)
rimBlend = (number here, 'blends' the atmospheric glow)
{
0.0 = (atmosphere color on one side of the planet)
0.5 = (atmosphere color on the other side of the planet)
1.0 = 0.0196,0.0196,0.0196,1.0
}
}
}```

Then the last step is specifying the atmosphere.

Step 5: Atmospheres

```Atmosphere
{
ambientColor = (color code here, crafts entering the atmosphere will be tinted slightly with the color specified here)
lightColor = (atmosphere color, insert color code)
enabled = true (important)
oxygen = ('true' allows the use of air-breathing engines, 'false' disallows the use of air-breathing engines)

altitude = (Max. atmosphere altitude. Kerbin = 70000m, Laythe is 50000m, Eve is ~90000m)
pressureCurve (tells Kopernicus the pressure at each given altitude. These example curves have been borrowed from KopernicusExamples by KillAshley)
{
key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02
key = 13750 1215.4779 -2.89618181818182E-02 -2.89618181818182E-02
key = 27500 926.0747733 -1.70812909090909E-02 -1.70812909090909E-02
key = 41250 745.7422867 -1.22066367272727E-02 -1.22066367272727E-02
key = 55000 590.39232 -1.03885874909091E-02 -1.03885874909091E-02
key = 68750 460.0561533 -8.63595672727273E-03 -8.63595672727273E-03
key = 82500 352.9034533 -7.05044647272727E-03 -7.05044647272727E-03
key = 96250 266.1688867 -5.6660456E-03 -5.6660456E-03
key = 110000 197.0872333 -4.48274916363636E-03 -4.48274916363636E-03
key = 123750 142.8932733 -3.50056581818182E-03 -3.50056581818182E-03
key = 137500 100.8216733 -2.71949803636364E-03 -2.71949803636364E-03
key = 151250 68.1071 -2.13953963636364E-03 -2.13953963636364E-03
key = 165000 41.98433333 -1.65774109090909E-03 -1.65774109090909E-03
key = 178750 22.51922 -1.00126501090909E-03 -1.00126501090909E-03
key = 192500 14.44954667 -4.06759432727273E-04 -4.06759432727273E-04
key = 206250 11.33333333 -2.27824727272727E-04 -2.27824727272727E-04
key = 220000 8.184366667 -2.25669374545455E-04 -2.25669374545455E-04
key = 233750 5.127426667 -2.06283192727273E-04 -2.06283192727273E-04
key = 247500 2.51158 -1.61502101818182E-04 -1.61502101818182E-04
key = 261250 0.68612 -9.13301818181818E-05 -9.13301818181818E-05
key = 275000 0 -4.98996363636364E-05 -4.98996363636364E-05
}
temperatureCurve (tells Kopernicus the temperature at each specified altitude)
{
key = 0 141.67 -0.002333333455 -0.002333333455
key = 33000 104.4583677 -0.0003304941091 -0.0003294753455
key = 57750 104.4583677 0.0003294753455 0.0003294753455
key = 85250 131.0381051 0.0001800779636 0.0001800779636
key = 154000 131.0381051 -0.0002483375636 -0.0002483375636
key = 220000 90.44359713 -0.0003304941091 -0.0003304941091
key = 247500 90.44359713 0.0001722816364 0.0001722816364
key = 275000 111.2241191 0.0002525833091 0.0002525833091
key = 343750 0 -0.0001634942182 -0.0001634942182
}
}```

And done! Make sure everything is closed off the way it should, and that all given parameters (Orbit, ScaledVersion, Properties and Atmosphere) are located directly in the 'Body' tab.

For those of you who are uncertain if they filled everything in correctly, I have uploaded a config file for a gas giant here:

All you have to do is punch in your values. I can't make it much easier than this, people!

Edited by The White Guardian

##### Share on other sites

Aha! This is THE gold, now I need to

make that tiny pebble and wrap a Jool size atom around it...

A Minmus sized planet with a gigantic atmosphere...

Looking forward to the next one ( fingers crossed for a how to on making textures...

##### Share on other sites

Aha! This is THE gold, now I need to

make that tiny pebble and wrap a Jool size atom around it...

A Minmus sized planet with a gigantic atmosphere...

Looking forward to the next one ( fingers crossed for a how to on making textures...

I think you do not understand. You do not need to specify a template with gas giants. You see, template-less generation is extremely difficult, and only very few ever created one. However, it depends on what you are trying to create. Template-less terrestrial planets are hard, since you need to specify a crap load of PQSMods correctly. Gas giants, however, are always scaledspace textures with an atmosphere pasted on top of it, they do not need PQSMods and therefor generating them is easy.

Jool, for instance, has a perfectly flat surface thanks to it being a scaledspace, a thin layer with a texture painted on top of it.

So no Minmus-sized planets with extreme atmospheres, not only because it will look really weird in... well... it'll look weird no matter where you are, and because that's not how KSP's gas giants work.

I am also creating a few 'example' configs for the people who want to get straight to creating planets with the miracle that is Kopernicus rather than having to write a config, because writing the config itself is a part where many people make mistakes, I bet at least 60% of all questions asked on the main Kopernicus thread is the result of an incorrectly written config.

Next I will feature how to edit stock worlds as well. Creating textures, however, is something completely different. I'd personally recommend using Space Engine for educational purposes ONLY. I will, however, do a guide on making planets the @KillAshley way, with generating them from PQSMods only, then exporting them through Kittopia, and huzzah! Stockalike planets made with only Kopernicus and Kittopia, no external textures needed!

##### Share on other sites

That last paragraph of what you just said calls out to me. I really wanna feel good about myself and make a planet fully from scratch...

##### Share on other sites

That last paragraph of what you just said calls out to me. I really wanna feel good about myself and make a planet fully from scratch...

And you will succeed, trust me on that. If I can do it...

I'm not sure what PQSMods to use for coloring gas giants though, I'll have to look into that.

##### Share on other sites
33 minutes ago, The White Guardian said:

And you will succeed, trust me on that. If I can do it...

I'm not sure what PQSMods to use for coloring gas giants though, I'll have to look into that.

gas giants do not have a PQS. They are basically the same as any planet in the game apart from no PQS.

oh i just remembered i never replied to your message...gimme a min

##### Share on other sites
Just now, KillAshley said:

gas giants do not have a PQS. They are basically the same as any planet in the game apart from no PQS.

oh i just remembered i never replied to your message...gimme a min

I know, no PQSMods, basically a huge ScaledVersion. I was talking about the way you recolor Jool in Uncharted Lands. According to the page of Uncharted Lands, all textues have been generated from PQSMods, so...

For now I'll use S.E. textures for gas giants. Before you frown, hear me out. I open the textures in GIMP... and smite the living daylights out of 'em. I never really use textures from S.E. directly.

##### Share on other sites
1 hour ago, The White Guardian said:

I know, no PQSMods, basically a huge ScaledVersion. I was talking about the way you recolor Jool in Uncharted Lands. According to the page of Uncharted Lands, all textues have been generated from PQSMods, so...

For now I'll use S.E. textures for gas giants. Before you frown, hear me out. I open the textures in GIMP... and smite the living daylights out of 'em. I never really use textures from S.E. directly.

i meant to edit that, whoops. the gas giant texture was technically generated procedurally, but it happened with photoshop not ksp

##### Share on other sites
8 minutes ago, KillAshley said:

i meant to edit that, whoops. the gas giant texture was technically generated procedurally, but it happened with photoshop not ksp

Oh... well... NOBODY SAW THAT!

##### Share on other sites
On 2/8/2016 at 9:56 AM, The White Guardian said:

Alright, other guides are still in the makings, but since gas giants are easy, I've written a quick guide on it.

So, how do I create a gas giant with Kopernicus?

The answer is rather simple: it's easier than 'solid' planets!

Let's start off as usual.

Step 1: Start as always

```
@Kopernicus:AFTER[Kopernicus]
{
Body
{
cacheFile = (filepath)```

That's how you begin. Easy, right? Next step: the properties of your gas giant.

Step 2: Planet properties

```
Properties
{
description = (in-game description in the info tag)
geeASL = (surface gravity in G's)
rotationPeriod = (rotation period of your planet)
rotates = true (important!)
initialRotation = (number here)
tidallyLocked = (do you want your planet to be tidally locked, ergo, do you want it's rotation period to be identical to it's orbital period, resulting in it always showing it's parent object the same side of the planet? If yes, write 'true', if not, write 'false')

isHomeWorld = false (important!)
timewarpAltitudeLimits = (eight numbers here. Each number is a specific altitude above your planet's sea level at which a set timewarp speed is unlocked. Example: 0 30000 40000 60000 100000 200000 400000 800000. In the example, 1x time warp is unlocked at altitude 0, 5x is unlocked at 30000m above sea level, 10x at 40000, etc)

ScienceValues
{
landedDataValue = 1
splashedDataValue = 1 (Since this is a gas giant, it is in theory impossible for science to be collected at the surface or while 'splashed down'. Therefor, write down '1' for conditions that are not possible, for example, flying low and flying high on planets that have no atmosphere)

flyingLowDataValue = 6
flyingHighDataValue = 5.5
inSpaceLowDataValue = 5
inSpaceHighDataValue = 4.5
recoveryValue = 6
flyingAltitudeThreshold = 12000
spaceAltitudeThreshold = 140000
}
}```

That wasn't too complicated now, was it? Next up is specifying the planet's orbit.

Step 3: Orbit properties

```
Orbit
{
referenceBody = (what object does your planet/moon orbit?)
color = (orbit line color)
inclination = (orbit inclination relative to the equator of the 'referenceBody')
argumentOfPeriapsis = (number here)
longitudeOfAscendingNode = (number here)
meanAnomalyAtEpoch = (number here)
epoch = (number here)
}```

And now updating the scaledspace.

Step 4: ScaledSpace update

```
ScaledVersion
{
type = Atmospheric
Material
{
texture = (filepath to your planet's color.[fileformat] file)
normals = (filepath to your planet's normal.[fileformat] file)
shininess = (surface shininess in ScaledSpace)
specular = 0.0,0.0,0.0,1.0
rimPower = (number here, provides an atmospheric glow)
rimBlend = (number here, 'blends' the atmospheric glow)
{
0.0 = (atmosphere color on one side of the planet)
0.5 = (atmosphere color on the other side of the planet)
1.0 = 0.0196,0.0196,0.0196,1.0
}
}
}```

Then the last step is specifying the atmosphere.

Step 5: Atmospheres

```
Atmosphere
{
ambientColor = (color code here, crafts entering the atmosphere will be tinted slightly with the color specified here)
lightColor = (atmosphere color, insert color code)
enabled = true (important)
oxygen = ('true' allows the use of air-breathing engines, 'false' disallows the use of air-breathing engines)

altitude = (Max. atmosphere altitude. Kerbin = 70000m, Laythe is 50000m, Eve is ~90000m)
pressureCurve (tells Kopernicus the pressure at each given altitude. These example curves have been borrowed from KopernicusExamples by KillAshley)
{
key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02
key = 13750 1215.4779 -2.89618181818182E-02 -2.89618181818182E-02
key = 27500 926.0747733 -1.70812909090909E-02 -1.70812909090909E-02
key = 41250 745.7422867 -1.22066367272727E-02 -1.22066367272727E-02
key = 55000 590.39232 -1.03885874909091E-02 -1.03885874909091E-02
key = 68750 460.0561533 -8.63595672727273E-03 -8.63595672727273E-03
key = 82500 352.9034533 -7.05044647272727E-03 -7.05044647272727E-03
key = 96250 266.1688867 -5.6660456E-03 -5.6660456E-03
key = 110000 197.0872333 -4.48274916363636E-03 -4.48274916363636E-03
key = 123750 142.8932733 -3.50056581818182E-03 -3.50056581818182E-03
key = 137500 100.8216733 -2.71949803636364E-03 -2.71949803636364E-03
key = 151250 68.1071 -2.13953963636364E-03 -2.13953963636364E-03
key = 165000 41.98433333 -1.65774109090909E-03 -1.65774109090909E-03
key = 178750 22.51922 -1.00126501090909E-03 -1.00126501090909E-03
key = 192500 14.44954667 -4.06759432727273E-04 -4.06759432727273E-04
key = 206250 11.33333333 -2.27824727272727E-04 -2.27824727272727E-04
key = 220000 8.184366667 -2.25669374545455E-04 -2.25669374545455E-04
key = 233750 5.127426667 -2.06283192727273E-04 -2.06283192727273E-04
key = 247500 2.51158 -1.61502101818182E-04 -1.61502101818182E-04
key = 261250 0.68612 -9.13301818181818E-05 -9.13301818181818E-05
key = 275000 0 -4.98996363636364E-05 -4.98996363636364E-05
}
temperatureCurve (tells Kopernicus the temperature at each specified altitude)
{
key = 0 141.67 -0.002333333455 -0.002333333455
key = 33000 104.4583677 -0.0003304941091 -0.0003294753455
key = 57750 104.4583677 0.0003294753455 0.0003294753455
key = 85250 131.0381051 0.0001800779636 0.0001800779636
key = 154000 131.0381051 -0.0002483375636 -0.0002483375636
key = 220000 90.44359713 -0.0003304941091 -0.0003304941091
key = 247500 90.44359713 0.0001722816364 0.0001722816364
key = 275000 111.2241191 0.0002525833091 0.0002525833091
key = 343750 0 -0.0001634942182 -0.0001634942182
}
}```

And done! Make sure everything is closed off the way it should, and that all given parameters (Orbit, ScaledVersion, Properties and Atmosphere) are located directly in the 'Body' tab.

Whats all this "key" stuff? And how can I change it in a way that doesn't potentially screw everything up?

Edited by saurodye

##### Share on other sites
1 hour ago, saurodye said:

Whats all this "key" stuff?

Pressure and temperature keys?

The 'key =' tells Kopernicus that it is reading a new entry in the curve and that the values that Kopernicus is about to read are from a new specified altitude and not the previous specified altitude.

Here is an example key:

`key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02`

I've already explained what the 'key =' means. Next, you see the zero? That is the altitude for this key. The '1722.525' has to do with the pressure (don't take it too literal, Kopernicus performs some calculations with it) and the last two numbers are the derivs, they have to do with the pressure CURVE rather than the pressure itself.

They are indeed rather confusing, but there is a handy online calculator that will calculate all the numbers for you. I cannot give you the link though, ask @KillAshley.

Hope this helps

The White Guardian

##### Share on other sites
1 minute ago, The White Guardian said:

Pressure and temperature keys?

The 'key =' tells Kopernicus that it is reading a new entry in the curve and that the values that Kopernicus is about to read are from a new specified altitude and not the previous specified altitude.

Here is an example key:

```
key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02```

I've already explained what the 'key =' means. Next, you see the zero? That is the altitude for this key. The '1722.525' has to do with the pressure (don't take it too literal, Kopernicus performs some calculations with it) and the last two numbers are the derivs, they have to do with the pressure CURVE rather than the pressure itself.

They are indeed rather confusing, but there is a handy online calculator that will calculate all the numbers for you. I cannot give you the link though, ask @KillAshley.

Hope this helps

The White Guardian

Yeah... Sorry Im wasting your time. Im a extreme newblet when it comes to moding. But thanks for the help!

##### Share on other sites
3 minutes ago, saurodye said:

Yeah... Sorry Im wasting your time. Im a extreme newblet when it comes to moding. But thanks for the help!

No problem! And you aren't wasting my time, the more you know, the better the resulting pack. So if you ever have a question, feel free to ask! And if I cannot find the answer, I'm sure that @Thomas P., @KillAshley and @Sigma88 on the main Kopernicus thread are more than happy to lend a hand.

Update! Upon inspection, it seems that I forgot an entry for the orbit properties. You can also write 'eccentricity = (number)' to make your planet's orbit more egg-shaped. For instance, comets have a high eccentricity. Setting this value to or near 0 will result in an (almost) perfectly circular orbit.

Sorry for the inconvenience everyone, and happy Kopernicus modding!

##### Share on other sites

Quick noob question:

Do I need to keep the System folder in the Config folder? I wouldn't like to delete the universe AT ALL!

Edited by saurodye
Grammar

##### Share on other sites

OK. So this is what i've thrown together as a test world. If you can find any errors (Im sure there will be) please notify me so I can make a CORRECT template for future use. (Not saying that Guardians is not good! Its amazing.) Id just like to have a non-segmented file I can access just in case I need to refresh my memory.

@Kopernicus:AFTER[Kopernicus]
{
Body
{
name = Jaybai
cacheFile = TBD
Properties
{
description = TBD
geeASL = 1.0
rotationPeriod = 10000
rotates = true
initialRotation = 0
tidallyLocked = false

isHomeWorld = false
timewarpAltitudeLimits =  0 10000 50000 100000 200000 400000 600000 1000000

ScienceValues
{
landedDataValue = 1
splashedDataValue = 1

flyingLowDataValue = 6
flyingHighDataValue = 5.5
inSpaceLowDataValue = 5
inSpaceHighDataValue = 4.5
recoveryValue = 6
flyingAltitudeThreshold = 12000
spaceAltitudeThreshold = 140000
}
}

Orbit
{
referenceBody = Sun
color = 204,153,0
inclination = 0
eccentricity = 1
argumentOfPeriapsis = 0
longitudeOfAscendingNode = 600000000
meanAnomalyAtEpoch = 2
epoch = 2
}

ScaledVersion
{
type = Atmospheric
Material
{
texture = (filepath to your planet's color.[fileformat] file)
normals = (filepath to your planet's normal.[fileformat] file)
shininess = 0
specular = 0.0,0.0,0.0,1.0
rimPower = 23
rimBlend = 11
{
0.0 = 255,209,71
0.5 = 255,194,10
1.0 = 0.0196,0.0196,0.0196,1.0
}
}
}

Atmosphere
{
ambientColor = 255,224,133
lightColor = 255,163,133
enabled = true (important)
oxygen = true

altitude = 100000
pressureCurve
key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02
key = 13750 1215.4779 -2.89618181818182E-02 -2.89618181818182E-02
key = 27500 926.0747733 -1.70812909090909E-02 -1.70812909090909E-02
key = 41250 745.7422867 -1.22066367272727E-02 -1.22066367272727E-02
key = 55000 590.39232 -1.03885874909091E-02 -1.03885874909091E-02
key = 68750 460.0561533 -8.63595672727273E-03 -8.63595672727273E-03
key = 82500 352.9034533 -7.05044647272727E-03 -7.05044647272727E-03
key = 96250 266.1688867 -5.6660456E-03 -5.6660456E-03
key = 110000 197.0872333 -4.48274916363636E-03 -4.48274916363636E-03
key = 123750 142.8932733 -3.50056581818182E-03 -3.50056581818182E-03
key = 137500 100.8216733 -2.71949803636364E-03 -2.71949803636364E-03
key = 151250 68.1071 -2.13953963636364E-03 -2.13953963636364E-03
key = 165000 41.98433333 -1.65774109090909E-03 -1.65774109090909E-03
key = 178750 22.51922 -1.00126501090909E-03 -1.00126501090909E-03
key = 192500 14.44954667 -4.06759432727273E-04 -4.06759432727273E-04
key = 206250 11.33333333 -2.27824727272727E-04 -2.27824727272727E-04
key = 220000 8.184366667 -2.25669374545455E-04 -2.25669374545455E-04
key = 233750 5.127426667 -2.06283192727273E-04 -2.06283192727273E-04
key = 247500 2.51158 -1.61502101818182E-04 -1.61502101818182E-04
key = 261250 0.68612 -9.13301818181818E-05 -9.13301818181818E-05
key = 275000 0 -4.98996363636364E-05 -4.98996363636364E-05
}
temperatureCurve
{
key = 0 141.67 -0.002333333455 -0.002333333455
key = 33000 104.4583677 -0.0003304941091 -0.0003294753455
key = 57750 104.4583677 0.0003294753455 0.0003294753455
key = 85250 131.0381051 0.0001800779636 0.0001800779636
key = 154000 131.0381051 -0.0002483375636 -0.0002483375636
key = 220000 90.44359713 -0.0003304941091 -0.0003304941091
key = 247500 90.44359713 0.0001722816364 0.0001722816364
key = 275000 111.2241191 0.0002525833091 0.0002525833091
key = 343750 0 -0.0001634942182 -0.0001634942182
}
}

Edited by saurodye

##### Share on other sites
3 hours ago, saurodye said:

-snip-

you are free to use my example, but I have just noticed a critical value being forgotten under 'properties'. This is my fault though.

You see, the size of the planet has not been specified. To do this, add 'radius = (distance from your planet's core to it's surface)'

Another issue: remove the '(important)' after 'enabled = true' in Atmospheres. Unless notes like this have '//' in front of it, Kopernicus will read it and then scratch it's head in confusion for it has absolutely no idea what you mean. Please remove these kinds of notes.

Edited by The White Guardian

##### Share on other sites

Another update! For those of you who just don't feel like writing an entire config or who are tired of copy-n-pasting stuff from this thread, I have uploaded a ready-to-go gas giant config, all you have to do is punch in your gas giant's numbers. It can be found here:

Happy planetbuilding, everyone!

##### Share on other sites

Im really thankful for all your help. I don't know what i'd do with out it. Thank You!

##### Share on other sites

I thought planets had the SunMultCurve as well as the altitude and temp. Whats up with it not being there? and i tried the pre-made config and it doesn't work.

Edited by SAS123

##### Share on other sites
6 hours ago, SAS123 said:

I thought planets had the SunMultCurve as well as the altitude and temp. Whats up with it not being there? and i tried the pre-made config and it doesn't work.

pressureCurve and temperatureCurve are present, as for the temperatureSunMultCurve, it can be left out. If it does not work, add this:

```Template
{
name = Jool
}```

Don't worry about removing stuff, Jool has no PQSMods.

##### Share on other sites

Finally! I found it. I wish there was an easier way to search for Threads. Anyway ill be adding ONE PQS mod but it makes awesome things. VertexOblate

##### Share on other sites
On 26-6-2016 at 10:12 AM, SAS123 said:

Finally! I found it. I wish there was an easier way to search for Threads. Anyway ill be adding ONE PQS mod but it makes awesome things. VertexOblate

Nice idea! I personally wondered if I could use VertexHeightMap to add elevated bands and storms but I've never tried to use it yet.

##### Share on other sites
On 08/02/2016 at 8:56 AM, The White Guardian said:

Alright, other guides are still in the makings, but since gas giants are easy, I've written a quick guide on it.

So, how do I create a gas giant with Kopernicus?

The answer is rather simple: it's easier than 'solid' planets!

Let's start off as usual.

Step 1: Start as always

```
@Kopernicus:AFTER[Kopernicus]
{
Body
{
cacheFile = (filepath)```

That's how you begin. Easy, right? Next step: the properties of your gas giant.

Step 2: Planet properties

```
Properties
{
description = (in-game description in the info tag)
geeASL = (surface gravity in G's)
radius = (distance from your gas giant's core to it's surface, how 'big' is the planet?)
rotationPeriod = (rotation period of your planet)
rotates = true (important!)
initialRotation = (number here)
tidallyLocked = (do you want your planet to be tidally locked, ergo, do you want it's rotation period to be identical to it's orbital period, resulting in it always showing it's parent object the same side of the planet? If yes, write 'true', if not, write 'false')

isHomeWorld = false (important!)
timewarpAltitudeLimits = (eight numbers here. Each number is a specific altitude above your planet's sea level at which a set timewarp speed is unlocked. Example: 0 30000 40000 60000 100000 200000 400000 800000. In the example, 1x time warp is unlocked at altitude 0, 5x is unlocked at 30000m above sea level, 10x at 40000, etc)

ScienceValues
{
landedDataValue = 1
splashedDataValue = 1 (Since this is a gas giant, it is in theory impossible for science to be collected at the surface or while 'splashed down'. Therefor, write down '1' for conditions that are not possible, for example, flying low and flying high on planets that have no atmosphere)

flyingLowDataValue = 6
flyingHighDataValue = 5.5
inSpaceLowDataValue = 5
inSpaceHighDataValue = 4.5
recoveryValue = 6
flyingAltitudeThreshold = 12000
spaceAltitudeThreshold = 140000
}
}```

That wasn't too complicated now, was it? Next up is specifying the planet's orbit.

Step 3: Orbit properties

```
Orbit
{
referenceBody = (what object does your planet/moon orbit?)
color = (orbit line color)
eccentricity = (how eccentric (oval shaped) is the orbit? For instance, comets have highly eccentric orbits)
inclination = (orbit inclination relative to the equator of the 'referenceBody')
argumentOfPeriapsis = (number here)
longitudeOfAscendingNode = (number here)
meanAnomalyAtEpoch = (number here)
epoch = (number here)
}```

And now updating the scaledspace.

Step 4: ScaledSpace update

```
ScaledVersion
{
type = Atmospheric
Material
{
texture = (filepath to your planet's color.[fileformat] file)
normals = (filepath to your planet's normal.[fileformat] file)
shininess = (surface shininess in ScaledSpace)
specular = 0.0,0.0,0.0,1.0
rimPower = (number here, provides an atmospheric glow)
rimBlend = (number here, 'blends' the atmospheric glow)
{
0.0 = (atmosphere color on one side of the planet)
0.5 = (atmosphere color on the other side of the planet)
1.0 = 0.0196,0.0196,0.0196,1.0
}
}
}```

Then the last step is specifying the atmosphere.

Step 5: Atmospheres

```
Atmosphere
{
ambientColor = (color code here, crafts entering the atmosphere will be tinted slightly with the color specified here)
lightColor = (atmosphere color, insert color code)
enabled = true (important)
oxygen = ('true' allows the use of air-breathing engines, 'false' disallows the use of air-breathing engines)

altitude = (Max. atmosphere altitude. Kerbin = 70000m, Laythe is 50000m, Eve is ~90000m)
pressureCurve (tells Kopernicus the pressure at each given altitude. These example curves have been borrowed from KopernicusExamples by KillAshley)
{
key = 0 1722.525 -3.68761403636364E-02 -3.68761403636364E-02
key = 13750 1215.4779 -2.89618181818182E-02 -2.89618181818182E-02
key = 27500 926.0747733 -1.70812909090909E-02 -1.70812909090909E-02
key = 41250 745.7422867 -1.22066367272727E-02 -1.22066367272727E-02
key = 55000 590.39232 -1.03885874909091E-02 -1.03885874909091E-02
key = 68750 460.0561533 -8.63595672727273E-03 -8.63595672727273E-03
key = 82500 352.9034533 -7.05044647272727E-03 -7.05044647272727E-03
key = 96250 266.1688867 -5.6660456E-03 -5.6660456E-03
key = 110000 197.0872333 -4.48274916363636E-03 -4.48274916363636E-03
key = 123750 142.8932733 -3.50056581818182E-03 -3.50056581818182E-03
key = 137500 100.8216733 -2.71949803636364E-03 -2.71949803636364E-03
key = 151250 68.1071 -2.13953963636364E-03 -2.13953963636364E-03
key = 165000 41.98433333 -1.65774109090909E-03 -1.65774109090909E-03
key = 178750 22.51922 -1.00126501090909E-03 -1.00126501090909E-03
key = 192500 14.44954667 -4.06759432727273E-04 -4.06759432727273E-04
key = 206250 11.33333333 -2.27824727272727E-04 -2.27824727272727E-04
key = 220000 8.184366667 -2.25669374545455E-04 -2.25669374545455E-04
key = 233750 5.127426667 -2.06283192727273E-04 -2.06283192727273E-04
key = 247500 2.51158 -1.61502101818182E-04 -1.61502101818182E-04
key = 261250 0.68612 -9.13301818181818E-05 -9.13301818181818E-05
key = 275000 0 -4.98996363636364E-05 -4.98996363636364E-05
}
temperatureCurve (tells Kopernicus the temperature at each specified altitude)
{
key = 0 141.67 -0.002333333455 -0.002333333455
key = 33000 104.4583677 -0.0003304941091 -0.0003294753455
key = 57750 104.4583677 0.0003294753455 0.0003294753455
key = 85250 131.0381051 0.0001800779636 0.0001800779636
key = 154000 131.0381051 -0.0002483375636 -0.0002483375636
key = 220000 90.44359713 -0.0003304941091 -0.0003304941091
key = 247500 90.44359713 0.0001722816364 0.0001722816364
key = 275000 111.2241191 0.0002525833091 0.0002525833091
key = 343750 0 -0.0001634942182 -0.0001634942182
}
}```

And done! Make sure everything is closed off the way it should, and that all given parameters (Orbit, ScaledVersion, Properties and Atmosphere) are located directly in the 'Body' tab.

For those of you who are uncertain if they filled everything in correctly, I have uploaded a config file for a gas giant here:

All you have to do is punch in your values. I can't make it much easier than this, people!

small problem, i ripped a normal map from space engine, but my planet still shows up as a dark blue sphere with no features, ive got a color map and a normal map, not sure what went wrong on the games end they all appear to load correctly

##### Share on other sites
39 minutes ago, noobsrtoast said:

small problem, i ripped a normal map from space engine, but my planet still shows up as a dark blue sphere with no features, ive got a color map and a normal map, not sure what went wrong on the games end they all appear to load correctly

First off - please don't quote the entire OP for those that have subscribed to this thread.

The issue you are having could be because of the way KSP handles normal maps on gasplanets. Unlike rocky planets, the normal map is not ovelayed over the planet in full but is instead used as a noisetexture.
Jool, for example, uses the texture cloud_normal, which is the same normal map Kerbin uses for it's grass. For the normalmap to display correctly, add the following line to Material{}

`bumpMapScale = 1,1`

So, it should look like this:

```	Body
{
ScaledVersion
{
Material
{
bumpMapScale = 1,1
...```

##### Share on other sites

thank you, i apologize for quoting the entire topic thats how ive always replied, i didnt realize it did that

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.