The White Guardian

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
	{
		name = (your planet's name)
		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
	fadeStart = 0
	fadeEnd = 0
	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)
		Gradient
		{
			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:

https://www.dropbox.com/s/3at9y9cxqfyeeu0/Gas%20Giant%20Config.cfg?dl=0

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
Added a link to a ready-to-fill-in config

Share this post


Link to post
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 this post


Link to post
Share on other sites
2 hours ago, SpaceplaneAddict said:

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 this post


Link to post
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 this post


Link to post
Share on other sites
7 hours ago, SpaceplaneAddict said:

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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 :wink:

Share this post


Link to post
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 :wink:

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

Share this post


Link to post
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
	{
		name = (your planet's name)
		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
	fadeStart = 0
	fadeEnd = 0
	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)
		Gradient
		{
			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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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! :P

Edited by saurodye
Grammar

Share this post


Link to post
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
    fadeStart = 0
    fadeEnd = 0
    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
        Gradient
        {
            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 this post


Link to post
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 this post


Link to post
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:

https://www.dropbox.com/s/3at9y9cxqfyeeu0/Gas%20Giant%20Config.cfg?dl=0

Happy planetbuilding, everyone!

Share this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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 this post


Link to post
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
	{
		name = (your planet's name)
		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
	fadeStart = 0
	fadeEnd = 0
	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)
		Gradient
		{
			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:

https://www.dropbox.com/s/3at9y9cxqfyeeu0/Gas%20Giant%20Config.cfg?dl=0

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 this post


Link to post
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. :D

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 this post


Link to post
Share on other sites
This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.