The White Guardian

A beginner's guide to Kopernicus - The basics

Recommended Posts

@Kopernicus:AFTER[KOPERNICUS]
{
	Body
	{
		Welcome!
		PQS
		{
			Mods
			{
				VertexNiceTutorialMusic
				{
					music = idk
					doesThisModExist = nope
					isThisJokeGettingTooLong = true
				}
			}
		}
	}
}

All kidding aside, welcome to this tutorial on Kopernicus modding. So, let me teach you how to use perhaps one of the most creative and powerful mods there is for KSP: Kopernicus. While you can simply download packs, some of you may be willing to give it a try for yourself.

However, many of you probably have no idea what all those confusing lines and numbers do. I will explain that here. In the horrible joke above, I did already show how to start your config. I will repeat the important part and filter out the joke below. First off, you need to create a config file. Simply open notepad and click 'save as'. Then save it as "(Yourplanetname).cfg". Remember to add the .cfg part to the name! Most of the time it will result in a config file. If not, download a pack like Outer Planets Mod or New Horizons, copy and paste a config and delete everything inside.

So, now you've got your config file! The next step is adding everything Kopernicus needs to create a planet.

Step 1: starting

@Kopernicus:AFTER[KOPERNICUS]
{
	Body
	{

Now, what everthing does: the '@Kopernicus:AFTER[Kopernicus]' forces KSP to load your planet(s) after Kopernicus itself. Otherwise, it would load your pack with Kopernicus still inactive, and thus Kopernicus will not load your pack since it has already been loaded by KSP.

Now,  we need to add some basic information.

Step 2: basic info

@Kopernicus:AFTER[KOPERNICUS]
{
	Body
	{
		name = (Your Planet's Name)
		cacheFile = (Optional.)

The planet's name speaks for itself, it is the name that will be seen in-game. The 'cacheFile' is optional: Kopernicus generates a cache file by default, but with the cacheFile line you can specify a filepath and force Kopernicus to generate the cachefile(s) in a specific location. For instance, you can use the following filepath: "MyFirstPack/CacheFiles/MyPlanet.bin". As you can see, you should not add 'GameData/', Kopernicus automatically searches in the GameData folder. Also, make sure that, at the end, you add the name of your planet plus '.bin'. Never ever forget to add '.bin'!

Step 3: Template

It might be a good idea to add the following lines:

		Template
		{
			name = Kerbin
			removeAllPQSMods = true
			removeOcean = true
		}

In this case, I chose Kerbin as a template. If you choose a template, Kopernicus clones a stock planet and renames it. Next, you can either add:

- 'removeAllPQSMods = true' to remove all PQS mods and turn the templated planet into a flat sphere

- removePQSMods = (PQSmod names)' to remove specific PQSmods from the templated planet that your planet does not need.

As you can see I also added 'removeOcean = true'. I think that line is pretty self-explanatory.

Step 4: properties

Now we will set the physical properties of your planet.

		Properties //Physical properties
		{
			description = First planet you ever made! You can be proud of yourself.
			radius = 7000000 //Distance from the planet's core to it's surface. How 'big' is the planet?
			geeASL = 0.67 //Surface gravity in G's
			rotationPeriod = 36000
			rotates = true //Important!
			tidallyLocked = false
			initialRotation = 0
			isHomeWorld = false //Very important!
			timewarpAltitudeLimits = 0 30000 30000 60000 300000 300000 400000 700000
			ScienceValues //Scientific expiriments value multiplier
			{
				landedDataValue = 2 //For expiriments taken on the surface
				splashedDataValue = 2 //For expiriments taken while splashed down
				flyingLowDataValue = 11 //For expiriments taken while flying in the lower atmosphere
				flyingHighDataValue = 8 //For expiriments taken while flying in the upper atmosphere
				inSpaceLowDataValue = 7 //For expiriments taken in space, close to your planet
				inSpaceHighDataValue = 6 //For expiriments taken in space, far away from your planet
				recoveryValue = 7 //Science multiplier for expiriment data taken from recovered vessels
				flyingAltitudeThreshold = 12000
				spaceAltitudeThreshold = 140000
			}	
		}

As you can see I've added some notes to the config. Do not include those in your config. Anyhow, the 'description' defines the info displayed when clicking the info-tab in the map view in-game. 'tidallyLocked' determines if a planet's surface does not move relative to the parent object: it's rotation period is identical to it's orbital period. 'initialRotation' determines how a planet is rotated on start. 'isHomeWorld' is for debugging purposes.

Then there's 'timewarpAltitudeLimits'. This entry determines what timewarp speed is unlocked at what altitude. For instance, in the example code the time warp speeds 5x and 10x are unlocked at 30000m above sea level.

Now, this is what your config should look like right now:

Spoiler

@Kopernicus:AFTER[KOPERNICUS]
{
    Body
    {
        name = (Cool name here)
        cacheFile = (Filepath here)
        flightGlobalsIndex = (number here)
        Properties
        {
            description = (Witty pun here :sticktongue:)
            radius = (number here)
            geeASL = (number here)
            rotationPeriod = (number here)
            rotates = true
            tidallyLocked = (false or true)
            initialRotation = (number here)
            isHomeWorld = false
            timewarpAltitudeLimits = (eight numbers here)
            ScienceValues
            {
                landedDataValue = (number here)
                splashedDataValue = (number here)
                flyingLowDataValue = (number here)
                flyingHighDataValue = (number here)
                inSpaceLowDataValue = (number here)
                inSpaceHighDataValue = (number here)
                recoveryValue = (number here)
                flyingAltitudeThreshold = 12000
                spaceAltitudeThreshold = 140000
            }    
        }

Step 5: orbit properties

It's already starting to look like something, isn't it? Now, we must specify your planet's orbit.

		Orbit //Orbit properties
		{
			referenceBody = Sun
			color = 1,1,1,1
			inclination = 0.5 //Orbit inclination relative to referenceBody's equator
			eccentricity = 0.02 //Orbit eccentricity, how elliptical is the orbit?
			semiMajorAxis = 9000000000 //Average distance to reference body
			longitudeOfAscendingNode = 0 //Position of ascending node relative to the surface of the reference body
			argumentOfPeriapsis = 0
			meanAnomalyAtEpoch = 0
			epoch = 0 //Position of your planet when it is first loaded. Not nessecary to give a number unless your planet shares it's orbit, can be used to create laplace resonances
		}

Again, I've left some notes in place. The 'referenceBody' defines what celestial body your planet orbits. You can use stock celestial bodies like Sun, Moho, and Dres but you can also use your own planets or planets added by another mod.

The 'color' entry defines the color of your planet's orbit line in the map view. For instance, Jool's orbit is green, Eve's orbit is purple, Kerbin's orbit is blue, Duna's orbit is red, and the color specified in the example would result in a white orbit line. The '1,1,1,1' determine how much red, green and blue is present, and the last one determines the 'lightness'. It should be on a scale of 0-1 or you could use 'RGBA( R(0-255), G(0-255), B(0-255), A(0-255))

Step 6: ScaledSpace update

If you'd load up your planet right now, it wouldn't work yet. But if it would work, in the map view it would look identical to the templated planet. To combat this we need to update the ScaledSpace with the following lines:

		ScaledVersion //Update scaledspace
		{
			type = Atmospheric
			fadeStart = 0
			fadeEnd = 0
			Material
			{
				texture = (filepath)/YourPlanet_color.dds //Texture map
				normals = (filepath)/YourPlanet_normal.dds //Normal map
				shininess = 0
				specular = 0.0,0.0,0.0,1.0
				rimPower = 3 //Atmosphere rim power
				rimBlend = 0.2 //Atmosphere rim blend
				Gradient //Atmosphere rim color defenitions
				{
					0.0 = 0.06,0.06,0.06,1
					0.5 = 0.05,0.05,0.05,1
					1.0 = 0.0196,0.0196,0.0196,1
				}
			}
		}

Now, the following entries are optional: 'type', 'fadeStart', 'fadeEnd', 'shininess', 'specular', 'rimPower', 'rimBlend', and 'Gradient'. Nevertheless I will explain what they do.

'type', 'fadeStart' and 'fadeEnd' can be used to make things look just a bit better. 'type' examples are 'Atmospheric' and 'Vacuum'.

'shininess' and 'specular' can add a little touch to a planet's scaledspace such as an icy glow.

'rimPower', 'rimBlend' and 'Gradient' create a colored atmospheric rim around your planet. For instance, Eve has this purple glow around it. Furthermore: under 'Gradient', you see '0.0', '0.5' and '1.0'. For '1.0' you must copy exactly what I wrote, and for 0.0 and 0.5, just add the colors you want. 0.0 and 0.5 define the atmosphere rim color on opposite sides of the planet, which color defines which side I do not know for sure. It just needs some trial and error.

Now, the most important entries: 'texture' and 'normals'. 'texture' needs a filepath that leads to the texture file you made for your planet. It will glue this texture over the templated planet. To make sure that your planet neither looks like a recolored Eve for example nor a flat ball, the 'normals' entry needs a normal map in the 'DXT5_nm' format. The normal map will make your planet look 3D in scaledspace rather than a perfectly smooth orb. If you are uncertain how to export your normal map as 'DXT5_nm', I will do a tutorial on that too. It can be done with Photoshop, but I've managed to do it with GIMP, which is absolutely free! Futhermore, you do not have to save it as DXT5_nm for your normal map to work, it's just that normal maps that are not saved as DXT5_nm create an annoying lighting issue in ScaledSpace. It's not gamebreaking, it just looks ugly.

Step 7: atmospheres (optional step)

If you want to create a planet that has an atmosphere, then do not skip this step. Otherwise, go on.

If you're still here, add the following lines:

		Atmosphere
		{
			ambientColor = 0.24, 0.25, 0.25, 1
			lightColor = 0.65, 0.57, 0.475, 0.5
			enabled = true
			oxygen = true
			altitude = 77000.0
			pressureCurve
			{
				key = 0		121.59		-1.32825662337662E-02	-1.32825662337662E-02
				key = 3850	70.45212	1.08101766233766E-02	-1.08101766233766E-02
				key = 7700	38.35164	-6.61608311688312E-03	-6.61608311688312E-03
				key = 11550	19.50828	-3.70578701298701E-03	-3.70578701298701E-03

				key = 15400	9.81708		-1.89074805194805E-03	-1.89074805194805E-03
				key = 19250	4.94952		-9.4665974025974E-04	-9.4665974025974E-04
				key = 23100	2.5278		-4.7371948051948E-04	-4.7371948051948E-04
				key = 26950	1.30188		-2.38877922077922E-04	-2.38877922077922E-04
				key = 30800	0.68844		-1.20685714285714E-04	-1.20685714285714E-04
				key = 34650	0.3726		-6.2212987012987E-05	-6.2212987012987E-05
				key = 38500	0.2094		-3.29298701298701E-05	-3.29298701298701E-05

				key = 42350	0.11904		-1.80935064935065E-05	-1.80935064935065E-05
				key = 46200	0.07008		-1.02857142857143E-05	-1.02857142857143E-05
				key = 50050	0.03984		-6.21818181818182E-06	-6.21818181818182E-06
				key = 53900	0.0222		-3.63116883116883E-06	-3.63116883116883E-06
				key = 57750	0.01188		-2.07272727272727E-06	-2.07272727272727E-06
				key = 61600	0.00624		-1.13766233766234E-06	-1.13766233766234E-06
				key = 65450	0.00312		-6.07792207792208E-07	-6.07792207792208E-07
				key = 69300	0.00156		-3.42857142857143E-07	 -3.42857142857143E-07
				key = 73150	0.00048		-2.02597402597403E-07	-2.02597402597403E-07
				key = 77000	0		-1.24675324675325E-07	-1.24675324675325E-07
			}
			pressureCurveIsNormalized = false
			temparatureSeaLevel = 288.15
			temparatureCurve
			{
				key = 0		288.15		-0.008333333766		-0.008333333766
				key = 9240	212.4633208	-0.001180336104		-0.001176697662
				key = 16170	212.4633208	0.001176697662		0.001176697662
				key = 23870	266.5252345	0.0006431355844		0.0006431355844
				key = 43120	266.5252345	-0.0008869198701	-0.0008869198701
				key = 61600	183.9579481	-0.001180336104		-0.001180336104
				key = 69300	183.9579481	0.0006152915584		0.0006152915584
				key = 77000	226.2245352	0.0009020832468		0.0009020832468
				key = 115500	0		-0.0005839079221	-0.0005839079221
			}
			temparatureSunMultCurve
			{
				key = 0			1	0			0
				key = 5923.076923	0.5	-0.00007792207792	-0.0001333050649
				key = 6526.656231	0	0			0
				key = 11883.45738	0	0			0
				key = 28045.35461	0.2	0			0
				key = 42527.78708	0.2	0			0
				key = 54071.53228	0	0			0
				key = 77000		0.4	0			0
			}
		}

Looks quite confusing, doesn't it? No worries, I will explain everything.

Let's begin with 'ambientColor' and 'lightColor'. 'ambientColor' provides a slight tint on the spacecraft. For instance, take a good look at your spacecraft when you're on Eve, and you will see that your craft is tinted slightly purple. That is ambientColor at work. 'lightColor' defines what color the atmosphere is. lightColor is a bit glitchy and needs some trial and error to work. Furthermore, the red and blue are swapped in the lightColor entry, so lightColor needs it's color in the following format: Blue, Green, Red, Alpha.

'enabled' is pretty self-explanatory, and 'oxygen' determines if the atmosphere of your planet has oxygen. It must be either 'true' or 'false'. An atmosphere that contains oxygen allows the use of air-breathing engines, like on Kerbin and Laythe.

'altitude' determines the maximum altitude of your atmosphere. Let's take Kerbin for example. On Kerbin, the 'altitude' is 70000m. Laythe = 50000m, Eve is roughly 90000m, etc.

Then 'pressureCurve'. That one confuses me too. It determines the atmospheric pressure at certain altitudes. There is a calculator that can calculate the keys for you, but you will have to ask @KillAshley for a link.

The calculator can also calculate the 'temparatureCurve' and 'temparatureSunMultCurve' for you. As for the other entries: 'temparatureSeaLevel' determines the temparature at sea level in Kelvin, and 'pressureCurveIsNormalized' should be set to false.

Step 8: confusing stuff

Now we're getting to the confusing part: PQS mods. Start off by creating the following lines:

		PQS
		{
			Mods
			{

Now we will add the mods needed for your basic planet one by one. Let's start with VertexHeightMap:

				VertexHeightMap
				{
					map = (Filepath)/YourPlanet_height.dds
					offset = -500
					deformity = 3000.0
					scaleDeformityByRadius = false
					order = 20
					enabled = true
				}

VertexHeightMap needs a heightmap to function. It is possible to create planets that do not need heightmaps, but that is more advanced stuff, and this is about the basics, so we'll stick with heightmaps for now. 'offset' is basically how elevated the terrain is relative to your planet's sea level. This can be used to fine-tune the sealevel to make sure the coasts are all correct. 'deformity' basically asks 'how high do you want the tallest mountains to be?' and asks an answer in meters. In the answer I chose 3000.0m.

Set 'scaleDeformityByRadius' to false, and set 'enabled' to true. Then there's 'order'. PQSMods have to be loaded in a specific order. The lower the number, the earlier it is loaded. You can use this to specify which mod must be loaded in what order. Set this one to 20.

Alright, next mod: VertexColorMap. This one is optional. Only use this one if your planet is colored diffrently than it is in ScaledSpace.

				VertexColorMap
				{
					map = (filepath)/MyPlanet_color.dds
					order = 20
					enabled = true
				}

Probably the simples PQSMod out there. It applies the color map we used for ScaledSpace updating earlier to your planet's surface.

Next mods are a bit more complex. Feel free to copy them if you'd like.

				VertexHeightNoiseVertHeightCurve2
				{
					deformity = 100
					ridgedAddSeed = 123456
					ridgedAddFrequency = 12
					ridgedAddLacunarity = 2
					ridgedAddOctaves = 4
					ridgedSubSeed = 654321
					ridgedSubFrequency = 12
					ridgedSubLacunarity = 2
					ridgedSubOctaves = 4
					simplexCurve
					{
						key = 0 0 0.1466263 0.1466263
						key = 0.7922793 0.2448772 0.6761706 1.497418
						key = 1 1 6.106985 6.106985
					}
					simplexHeightStart = 0
					simplexHeightEnd = 6500
					simplexSeed = 123456
					simplexOctaves = 4
					simplexPersistence = 0.6
					simplexFrequency = 12
					enabled = true
					order = 200
				}
				HeightColorMap
				{
					blend = 1
					order = 500
					enabled = true
					LandClasses
					{
						Class
						{
							name = Bottom
							altitudeStart = 0
							altitudeEnd = 0.7
							color = 0.1,0.1,0.1,1.0
							lerpToNext = true
						}
						Class
						{
							name = Base
							altitudeStart = 0.7
							altitudeEnd = 0.75
							color = 0.7,0.55,0.2,1.0
							lerpToNext = true
						}
						Class
						{
							name = Low
							altitudeStart = 0.75
							altitudeEnd = 0.85
							color = 0.7,0.6,0.4,1.0
							lerpToNext = true
						}
						Class
						{
							name = Grad
							altitudeStart = 0.85
							altitudeEnd = 0.95
							color = 1.0,0.9,0.7,1.0
							lerpToNext = true
						}
						Class
						{
							name = High
							altitudeStart = 0.95
							altitudeEnd = 2
							color = 0.95,0.95,0.9,1.0
							lerpToNext = false
						}
					}
				}
			}
		}

They add the basic landclasses and some basic height-values-and-stuffTM

Now, you're done! Make sure everything is closed off correctly, it should look like this:

			}
		}
	}
}

All the way until the last '}' has no more tabs or spaces in front of it.

But, you can still add an ocean. In that case, do not close off everything. We will continue where the last PQSMod example code ended.

Step 9: Oceans

First off, the example code.

		Ocean
		{
			maxQuadLengthsPerFrame = 0.03
			minLevel = 2
			maxLevel = 12
			minDetailDistance = 8
			oceanColor = 0.15,0.25,0.35,1
			Material
			{
				colorFromSpace = 0.15,0.25,0.35,1
				color = 0.15,0.25,0.35,1
			}
			FallbackMaterial
			{
				colorFromSpace = 0.15,0.25,0.35,1
				color = 0.15,0.25,0.35,1
			}
			Mods
			{
				AerialPerspectiveMaterial
				{
					globalDensity = -0.00001
					heightFalloff = 6.75
					atmosphereDepth = 150000
					DEBUG_SetEveryFrame = true
					cameraAlt = 0
					cameraAtmosAlt = 0
					heightDensAtViewer = 0
					enabled = true
					order = 200
				}
				OceanFX
				{
					Watermain
					{
						waterTex-0 = BUILTIN/sea-water1
						waterTex-1 = BUILTIN/sea-water2
						waterTex-2 = BUILTIN/sea-water3
						waterTex-3 = BUILTIN/sea-water4
						waterTex-4 = BUILTIN/sea-water5
						waterTex-5 = BUILTIN/sea-water6
						waterTex-6 = BUILTIN/sea-water7
						waterTex-7 = BUILTIN/sea-water8
					}
					framesPerSecond = 1
					spaceAltitude = 150000
					blendA = 0
					blendB = 0
					texBlend = 0
					angle = 0
					specColor = 0.000,0.000,0.000,0.000
					oceanOpacity = 0
					spaceSurfaceBlend = 0
					enabled = true
					order = 200
				}
			}
			Fog
			{
				fogColorEnd = 0.15,0.25,0.35,1
				fogColorStart = 0.15,0.25,0.35,1
				skyColorOpacityBase = 0.7
			}
		}
	}

Long, confusing code, eh? Let me explain: leave 'maxQuadLengtsPerFrame', 'minLevel', 'maxLevel' and 'minDetailDistance' as is unless you know what you're doing. With 'oceanColor', you can set your ocean's color. Just input the wanted color, then copy that code and replace the color codes under 'Material' and 'FallbackMaterial'. Just punch in the same numbers.

Then, the 'Mods'. I don't recommend changing anything under 'AerialPerspectiveMaterial' unless you know what you're doing. But now it gets more interesting. Do you see 'Watermain', under 'OceanFX'? There, we need to specify the ocean's texture. You can use the BUILTIN textures specified in the example to get the same ocean textures as Eve, Kerbin and Laythe, or you could make your own ocean textures and create filepaths to those. Again, I don't recommend touching the rest of the values unless you know what you're doing.

Then there's the 'Fog' mod. This mod adds underwater fog. Just punch in the same colors as 'oceanColor'.

But, there is one more, simple thing you can do to make your pack over 1000 times better!

How, you might ask. The answer is simple: Kopernicus has an incredible feature called OnDemandLoading: it will only load the textures of planets nearby, so if you would be orbiting Duna for instance, it would only load the textures of Duna and Ike, and won't load the others, such as Moho, Dres, and Jool.

This saves a lot of memory! But, in order to make it work with your pack, there are two things that you must do:

- All textures must be stored in a folder called 'PluginData'. There can be multiple PluginData folders, but as long as all textures are saved in a folder called PluginData, you're good.

- All texture formats must be specified. This step is easy: at the end of every 'texture-filepath', add what format it is: .dds, .png, .jpg, etc.

And done! You are now using OnDemandLoading, which means that everyone using your pack will experience exploration with memory optimized.

And done! Again, make sure everything is closed off properly. I will soon write another tutorial on how to export your maps correctly through GIMP as well as more advanced Kopernicus stuff: procedural planets (heightmapless planets) and biomes. I hope this guide helped. If so, please let me know.

Edited by The White Guardian
Fixed a typo in the VertexHeightMap entry, and removed anything about FlightGlobalsIndexes

Share this post


Link to post
Share on other sites

Fifty kinds of awesome. I can't click 'like' enough times.

Share this post


Link to post
Share on other sites

Pretty nice. I may need some help with the atmospheres part because the super-thin atmosphere of my Enceladus analogue acts as an explosive see-through trampoline of doom. If this wasn't going to be in an official mod, I would keep that feature just to mess with it (and maybe pay a visit to Mr. Kraken):sticktongue::sticktongue::sticktongue:

Share this post


Link to post
Share on other sites
8 hours ago, ProtoJeb21 said:

Pretty nice. I may need some help with the atmospheres part because the super-thin atmosphere of my Enceladus analogue acts as an explosive see-through trampoline of doom. If this wasn't going to be in an official mod, I would keep that feature just to mess with it (and maybe pay a visit to Mr. Kraken):sticktongue::sticktongue::sticktongue:

Could I have a look at your config? I might, I repeat might be able to help you.

I think the issue has to do with incorrect pressure keys but I have to know for certain. If you could post your config here, I'll take a look, perhaps the issue is something else.

Nevertheless, could you give me the following info:

- Atmospheric pressure at sea level of your moon

- Atmosphere height of your moon

- Temparature at sea level of your moon

Oh, and say hi to the Kraken for me. If you'd take a look at my youtube channel, you'd find a video in which I got a killer Kraken attack: Bill or Bob Kerman (I don't remember who my pilot was and I'm too lazy to check :sticktongue:) turned into a bloody roller coaster travelling at several kilometers PER SECOND.

12 hours ago, Thomas P. said:

Awesome. :) A pretty good explanation of the basics for Kopernicus.

Side note: You don't need the flightGlobalsIndex bit at all. They get overwritten when the planets are loaded, I don't even know why the parser is still there. ;)

May I take a guess? I think they're still here so older packs can keep using them. Look at what happened when Capt removed the F.G.I from the OPM planets: crafts' orbits changed. I believe it's for compatibility and to prevent safe file breaks.

Nevertheless I will remove the F.G.I from all my codes and update the guide.

Share this post


Link to post
Share on other sites
3 hours ago, The White Guardian said:

Could I have a look at your config? I might, I repeat might be able to help you.

I think the issue has to do with incorrect pressure keys but I have to know for certain. If you could post your config here, I'll take a look, perhaps the issue is something else.

Nevertheless, could you give me the following info:

- Atmospheric pressure at sea level of your moon

- Atmosphere height of your moon

- Temparature at sea level of your moon

Oh, and say hi to the Kraken for me. If you'd take a look at my youtube channel, you'd find a video in which I got a killer Kraken attack: Bill or Bob Kerman (I don't remember who my pilot was and I'm too lazy to check :sticktongue:) turned into a bloody roller coaster travelling at several kilometers PER SECOND.

That Kraken incident you had is VERY similar to what the moon did to me. Here's my config:

@Kopernicus:AFTER[Kopernicus]
{
    Body
    {
		name = Elastro
		cacheFile = IA_Revived/CervantesSystem/Elastro/Cache/Elastro.bin
		flightGlobalsIndex = 810

		Template
        {
            name = Eeloo
			removePQSMods = PQSLandControl, PQSMod_AltitudeAlpha, PQSMod_VertexHeightNoise, PQSMod_VertexSimplexHeightMap, PQSMod_VertexHeightMap
        }

		Orbit
		{
            referenceBody = Sancho
            inclination = 6.18
            eccentricity = 0.088617
            semiMajorAxis = 78091339
            longitudeOfAscendingNode = 180
            argumentOfPeriapsis = 0
            meanAnomalyAtEpoch = 0
            epoch = 0
            color = 0.0,0.89,0.986,0.5
		}
		Properties
		{
            description = One time when astronomers were looking at Sancho, they found something that looked like a squashed comet. They announced that there was a comet about to hit the gas giant. But much to the disapointment of the Kerbal plublic, it turned out to be an icy moon with giant cryovolcanoes. And a subsurface ocean. And life.
            radius = 97000
            geeASL = 0.0950813
			rotationPeriod = 46134.589375
			rotates = true
			tidallyLocked = true
			initialRotation = 0
			isHomeWorld = false
			timewarpAltitudeLimits = 0 5000 5000 10000 25000 50000 90000 250000

			biomeMap = IA_Revived/CervantesSystem/Elastro/PluginData/Elastro_biome.png

            Biomes
            {
                Biome
                {   name = Lowlands
                    value = 1.0
                    color = 1,0,0,1
                }
				Biome
				{
					name = Highlands
					value = 1.0
					color = 0,1,0,1
				}
				Biome
				{
					name = Craters
					value = 1.0
					color = 0,0,1,1
				}

			}				
			ScienceValues
			{
				landedDataValue = 36.6
				flyingLowDataValue = 35
				flyingHighDataValue = 33.4
				inSpaceLowDataValue = 32.5
				inSpaceHighDataValue = 30.5
				recoveryValue = 35.6
				flyingAltitudeThreshold = 30000
				spaceAltitudeThreshold = 125000
			}
		}
		ScaledVersion
		{
			type = Atmospheric
			fadeStart = 95000
			fadeEnd = 97000

			Material
			{
				texture = IA_Revived/CervantesSystem/Elastro/Textures/Elastro_color
				normals = IA_Revived/CervantesSystem/Elastro/Textures/Elastro_normal
				shininess = 0
				specular = 0.00,0.00,0.00,0

				rimPower = 2.06
				rimBlend = 0.3

				Gradient
				{
                    0.0 = 0.0,0.0,0.1,1
					0.6 = 0.0,0.0,0.09,1
					1.0 = 0.0,0.0,0.14,1
				}
			}
		}

		Atmosphere
		{
			ambientColor = 0.0,0.0,0.105,1
			
			lightColor = 0.0,0.0,0.098,095

			enabled = true
			oxygen = true

			altitude = 5000.0
			atmosphereMolarMass = 0.14

			pressureCurve
			{
				key = 0 5
				key = 500 4.5
				key = 1000 3.34
				key = 1500 2.65
				key = 2000 2.4
				key = 2500 1.96
				key = 3000 0.996
				key = 3500 0.875
				key = 4000 0.534
				key = 4500 0.098
				key = 5000 0
			}
			pressureCurveIsNormalized = true
			
			temperatureSeaLevel = 59.613
			temperatureCurve
			{
				key = 0 59.613
				key = 5000 0
			}
			temperatureCurveIsNormalized = false
			temperatureLapseRate = 0.001
			
			albedo = 0.31
			adiabaticIndex = 1.42999994754791
			gasMassLapseRate = 2.64291043733601
		}
		
        PQS
        {
            maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 6
            minDetailDistance = 8

            Mods
			{
				VertexColorMap
				{
					map = IA_Revived/CervantesSystem/Elastro/Textures/Elastro_color.png
					order = 500
					enabled = true
				}

				VertexHeightMap
				{
					map = IA_Revived/CervantesSystem/Elastro/PluginData/Elastro_height.png
					offset = -1794.666
					deformity = 8355.095
					scaleDeformityByRadius = false
					order = 20
					enabled = true
				}

				VertexSimplexHeight
				{
					seed = 578219
					deformity = 561
					octaves = 8.0
					persistence = 0.5
					frequency = 4.0
					enabled = true
					order = 59
				}

				VertexSimplexHeightAbsolute
				{
					seed = 21
					deformity = 776
					octaves = 3
					persistence = 0.5
					frequency = 0.5
					enabled = true
					order = 10
				}
			}
		}
	}
}

If the config looks a bit weird, it's because I edited it with both regular notepad and Notepad++. if I do it correctly, there aren't any problems with the moon not showing.

Share this post


Link to post
Share on other sites
54 minutes ago, ProtoJeb21 said:

-snip-

I found the issue. Here it is:

		pressureCurve
			{
				key = 0 5
				key = 500 4.5
				key = 1000 3.34
				key = 1500 2.65
				key = 2000 2.4
				key = 2500 1.96
				key = 3000 0.996
				key = 3500 0.875
				key = 4000 0.534
				key = 4500 0.098
				key = 5000 0
			}
			pressureCurveIsNormalized = true
			
			temperatureSeaLevel = 59.613
			temperatureCurve
			{
				key = 0 59.613
				key = 5000 0
			}
			temperatureCurveIsNormalized = false
			temperatureLapseRate = 0.001
			
			albedo = 0.31
			adiabaticIndex = 1.42999994754791
			gasMassLapseRate = 2.64291043733601

Those pressure keys ain't gonna work, son. You also don't have the temparatureSunMultCurve and your temparatureCurve is whacked up.

Try the following values:

pressureCurve:

0		5.06625		-8.52298E-03	-8.52298E-03
250		2.935505	-6.93653E-03	-6.93653E-03
500		1.597985	-4.24532E-03	-4.24532E-03
750		0.812845	-2.37788E-03	-2.37788E-03
1000	0.409045	-1.21323E-03	-1.21323E-03
1250	0.20623		-6.0744E-04		-6.0744E-04
1500	0.105325	-3.0397E-04		-3.0397E-04
1750	0.054245	-1.5328E-04		-1.5328E-04
2000	0.028685	-7.744E-05		-7.744E-05
2250	0.015525	-3.992E-05		-3.992E-05
2500	0.008725	-2.113E-05		-2.113E-05
2750	0.00496		-1.161E-05		-1.161E-05
3000	0.00292		-6.6E-06		-6.6E-06
3250	0.00166		-3.99E-06		-3.99E-06
3500	0.000925	-2.33E-06		-2.33E-06
3750	0.000495	-1.33E-06		-1.33E-06
4000	0.00026		-7.3E-07		-7.3E-07
4250	0.00013		-3.9E-07		-3.9E-07
4500	0.000065	-2.2E-07		-2.2E-07
4750	0.00002		-1.3E-07		-1.3E-07
5000	0			-8.E-08			-8.E-08

You see, what you did was skip the first and second deriv (those two numbers at the back of the lines), and those specify the pressure curve. You only specified the pressure, not the curve itself. The result is an extremely instable atmosphere, hence why you always bug upon entering it. Punch in these numbers (but don't forget to add 'key = ')

Then the temparatureCurve.

0		59.613			-0.12833334		-0.12833334
600		43.95480113		-0.018177176	-0.018177176
1050	43.95480113		0.018121144		0.018121144
1550	55.13922889		0.009904288		0.009904288
2800	55.13922889		-0.013658566	-0.013658566
4000	38.05755739		-0.018177176	-0.018177176
4500	38.05755739		0.00947549		0.00947549
5000	46.80174638		0.013892082		0.013892082
7500	0				-0.008992182	-0.008992182

And temparatureSunMultCurve

0				1		0		0
384.6153846		0.5		-0.0012	-0.002052898
423.8088462		0		0		0
771.6530767		0		0		0
1821.126923		0.2		0		0
2761.544615		0.2		0		0
3511.13846		0		0		0
5000			0.4		0		0

Add these numbers, then try again. And no skipping the derivs, otherwise it'll crash again.

Also, remove the flightGlobalsIndex on every planet before you release the pack,  it is unnecessary and not recommended.

Edited by The White Guardian

Share this post


Link to post
Share on other sites

It helped big time in explaining what the sections of the config are actually for, valid values, etc etc.

I'm having trouble with my heightmap texture (it's one that worked when I tried this last month .. no. frickin. clue. why it would suddenly stop now ...) but that's unrelated. :)

Share this post


Link to post
Share on other sites
2 hours ago, The White Guardian said:

Also, remove the flightGlobalsIndex on every planet before you release the pack,  it is unnecessary and not recommended.

I would if removing them wasn't a big save-breaker. Just look at what happened with version 1.9.0 of OPM! But thanks for the help!

Edited by ProtoJeb21

Share this post


Link to post
Share on other sites
12 minutes ago, ProtoJeb21 said:

I would if removing them wasn't a big save-breaker. Just look at what happened with version 1.9.0 of OPM!

Which is exactly why you should remove the flightGlobalsIndexes if the mod is still unreleased: to prevent stuff like that.

Share this post


Link to post
Share on other sites

Well, my mod is already released, but the version I'm working on will be the official, final release of the Cervantes/Mu Arae solar system. So I guess I can remove the FGI values before it becomes very popular.

Share this post


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

I wonder how If you can set the sphere of influence or mass of a planet

The sphere of influence depends on the 'geeASL' of a planet (listed under 'Properties'). As far as I know there's no separate 'sphereOfInfluence' node,  but hey, the S.O.I depends on a few things:

- The mass of the object the planet or moon is orbiting (and thus the gravity of that object)

- The distance to that object

Take Laythe for example: Laythe's gravity is 0.8g. If you'd move it away from Jool and give it a separate orbit around the Sun, Kopernicus updates Laythe and gives it a planet-sized SOI rather than a moon-sized SOI.

 

You can also set the mass, just add 'mass = (number)' under 'Properties'. However, please know that, in real life, the surface gravity of a planet depends on it's mass and size so, for realism, you should calculate how massive your planet would be with the size and surface gravity you're setting. Otherwise, calculate the mass. I can do those calculations for you if you'd like, but I'll need to know at least two of the following things about your planet or moon:

- It's mass

- It's radius

- It's surface gravity

Share this post


Link to post
Share on other sites

I need serious help with my first ocean-rich planet (well, moon), Lamancha. I don't really know how to list the textures for the ocean...

@Kopernicus:AFTER[KOPERNICUS] 
{
    Body
    {
        name = Lamancha
		flightGlobalsIndex = 806
        cacheFile = IA_Revived/CervantesSystem/Lamancha/Cache/Lamancha.bin
        
        Template
        {
            name = Laythe
			removePQSMods = VertexHeightNoiseVertHeight, PQSMod_AltitudeAlpha, PQSMod_VertexHeightNoise, PQSMod_VertexSimplexHeightMap, PQSMod_VertexHeightMap
			removeOcean = true
		}
        Properties
        {
            description = A Kerra-Class moon of Quijote, Lamancha is by far the most habitable object ever found outside our solar system. Spectral analysis have show the presence of multicellular flora and unicellular bacteria.
            radius = 461000
            geeASL = 0.82
			ScienceValues
			{
				landedDataValue = 41
				splashedDataValue = 40.56
				flyingLowDataValue = 39
				flyingHighDataValue = 38.5
				inSpaceLowDataValue = 37
				inSpaceHighDataValue = 35.5
				recoveryValue = 40
				flyingAltitudeThreshold = 20000
				spaceAltitudeThreshold =  208000				
			}
        }
		Atmosphere
        {
            ambientColor = 0.0,0.0,0.55,1
            lightColor = 0.0,0.0,0.698,1
			
            enabled = true
            oxygen = true

            altitude = 65000.0
			
             pressureCurve
			{
				key = 	0		231.086407	0				-0.000108275
				key = 	2000	209.4314833	-0.000108275	-9.04189E-05
				key = 	4000	191.3477137	-9.04189E-05	-7.5503E-05
				key = 	6000	176.2471051	-7.5503E-05		-6.30438E-05
				key = 	8000	163.6383366	-6.30438E-05	-5.32594E-05
				key = 	10000	152.9864639	-5.32594E-05	-4.43606E-05
				key = 	12000	144.1143425	-4.43606E-05	-3.69463E-05
				key = 	14000	136.7250922	-3.69463E-05	-3.07691E-05
				key = 	16000	130.5712815	-3.07691E-05	-2.56229E-05
				key = 	18000	125.4467007	-2.56229E-05	-2.26947E-05
				key = 	20000	120.9077683	-2.26947E-05	-1.86702E-05
				key = 	22000	117.1737343	-1.86702E-05	-1.53558E-05
				key = 	24000	114.1025797	-1.53558E-05	-1.26267E-05
				key = 	26000	111.5772385	-1.26267E-05	-1.03801E-05
				key = 	28000	96.5012209	-1.03801E-05	-9.06244E-06
				key = 	30000	79.6887315	-9.06244E-06	-7.34005E-06
				key = 	32000	63.2207227	-7.34005E-06	-5.94393E-06
				key = 	34000	51.0319373	-5.94393E-06	-4.81247E-06
				key = 	36000	44.069443	-4.81247E-06	-3.89564E-06
				key = 	38000	38.2903146	-3.89564E-06	-3.33082E-06
				key = 	40000	27.6241503	-3.33082E-06	-2.65869E-06
				key = 	42000	24.0924119	-2.65869E-06	-2.12179E-06
				key = 	44000	18.6680547	-2.12179E-06	-1.69298E-06
				key = 	46000	16.329459	-1.69298E-06	-1.35056E-06
				key = 	48000	12.0593468	-1.35056E-06	-1.13852E-06
				key = 	50000	8.316437	-1.13852E-06	-8.94325E-07
				key = 	52000	7.527787	-8.94325E-07	-7.02404E-07
				key = 	54000	5.122979	-7.02404E-07	-5.51586E-07
				key = 	56000	4.965513	-6.98152E-08	-9.18864E-08
				key =   58000	3.009132	-1.66651E-08	-7.85093E-08
				key =	60000	1.000083	-2.89349E-08	-4.65128E-08
				key =	62000	0.781552	-1.46703E-08	-3.85622E-08
				key =	64000	0.0088313	-2.95008E-08	-1.99152E-08
				key =	65000	0			0				0
			}
            pressureCurveIsNormalized = false
            
            temperatureOcean/seaLevel = 222
            temperatureCurve
            {
				key = 0 222 -0.007825203659 -0.007825203659
				key = 9840 209 -0.00110836439 -0.001104947805
				key = 17220 185 0.001104947805 0.001104947805
				key = 25420 153 0.00060392 0.00060392
				key = 45920 137 -0.0008328393902 -0.0008328393902
				key = 65600 118 -0.00110836439 -0.00110836439
				key = 73800 98 0.0005777737805 0.0005777737805
				key = 82000 73 0.0008470781707 0.0008470781707
				key = 123000 0 -0.0005483037805 -0.0005483037805
            }
            temperatureCurveIsNormalized = false
            temperatureLapseRate = 0.0024
			temperatureSunMultCurve = true
            temperatureSunMultCurve
            {
				key = 6307.692308 0.5 -0.00007317073171 -0.0001251767073
				key = 6950.465077 0 0 0
				key = 12655.11046 0 0 0
				key = 29866.48154 0.2 0 0
				key = 45289.33169 0.2 0 0
				key = 57582.67074 0 0 0
				key = 82000 0.4 0 0
            }
            
            adiabaticIndex = 0.014
            gasMassLapseRate = 2.06477390407027
            atmosphereMolarMass = 0.02896440029
		}
        ScaledVersion
        {
		     Material
            {	
                texture = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color
				normals = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_normal
				Gradient
                {
					0.0 = 0.0,0.0,0.5,1
					0.6 = 0.0,0.0,0.5901,1
                    1.0 = 0.0,0.0,0.796,1
                }
                rimPower = 2.06
                rimBlend = 0.3
            }
        }
        Orbit
        {
            referenceBody = Quijote
            color = 0.0,0.0,0.56,1
            inclination = 3.86
            eccentricity = 0.095
            semiMajorAxis = 30986612
            longitudeOfAscendingNode = 78
            argumentOfPeriapsis = 250
            meanAnomalyAtEpoch = 0
            epoch = 0
        }
        PQS
        {
            maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 10
            minDetailDistance = 8
            
            Mods
            {               
				VertexColorMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color.png
                    order = 9999999
                    enabled = true
                }
				VertexHeightMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/PluginData/Lamancha_height.png
					offset = -20
                    deformity = 14000
                    order = 9999999
                    enabled = true
                }
            }
        }
		Ocean
		{
			maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 12
            minDetailDistance = 8
			oceanColor = #000000
			
			Material
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000 - If you want to color the water
			}
			
			FallbackMaterial
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000
			}
			
			Mods
			{
				AerialPerspectiveMaterial
				{
					globalDensity = -0.00001
					heightFalloff = 6.75
					atmosphereDepth = 150000
					DEBUG_SetEveryFrame = true
					cameraAlt = 0
					cameraAtmosAlt = 0
					heightDensAtViewer = 0
					enabled = true
					order = 100
				}
						
				OceanFX
				{
					Watermain
					{
                        waterTex-0 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water1
						waterTex-1 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water2
						waterTex-2 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water3
						waterTex-3 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water4
						waterTex-4 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water5
						waterTex-5 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water6
						waterTex-6 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water7
						waterTex-7 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water8
					}
				
					framesPerSecond = 1
					spaceAltitude = 150000
					blendA = 0
					blendB = 0
					texBlend = 0
					angle = 0
					specColor = 0.000, 0.000, 0.000, 0.000
					oceanOpacity = 0
					spaceSurfaceBlend = 0
					enabled = true
					order = 100
				}
			}
		}		
    }
}

I do have the eight needed ocean textures, but I don't know if I'm supposed to put a "Go-To Text" (Planet/Oceans/sea-water8) or a BUILTIN texture or whatever. This config has also been edited with Notepad++, along with all of my other textures.

Edited by ProtoJeb21

Share this post


Link to post
Share on other sites
50 minutes ago, ProtoJeb21 said:

I need serious help with my first ocean-rich planet (well, moon), Lamancha. I don't really know how to list the textures for the ocean...


@Kopernicus:AFTER[KOPERNICUS] 
{
    Body
    {
        name = Lamancha
		flightGlobalsIndex = 806
        cacheFile = IA_Revived/CervantesSystem/Lamancha/Cache/Lamancha.bin
        
        Template
        {
            name = Laythe
			removePQSMods = VertexHeightNoiseVertHeight, PQSMod_AltitudeAlpha, PQSMod_VertexHeightNoise, PQSMod_VertexSimplexHeightMap, PQSMod_VertexHeightMap
			removeOcean = true
		}
        Properties
        {
            description = A Kerra-Class moon of Quijote, Lamancha is by far the most habitable object ever found outside our solar system. Spectral analysis have show the presence of multicellular flora and unicellular bacteria.
            radius = 461000
            geeASL = 0.82
			ScienceValues
			{
				landedDataValue = 41
				splashedDataValue = 40.56
				flyingLowDataValue = 39
				flyingHighDataValue = 38.5
				inSpaceLowDataValue = 37
				inSpaceHighDataValue = 35.5
				recoveryValue = 40
				flyingAltitudeThreshold = 20000
				spaceAltitudeThreshold =  208000				
			}
        }
		Atmosphere
        {
            ambientColor = 0.0,0.0,0.55,1
            lightColor = 0.0,0.0,0.698,1
			
            enabled = true
            oxygen = true

            altitude = 65000.0
			
             pressureCurve
			{
				key = 	0		231.086407	0				-0.000108275
				key = 	2000	209.4314833	-0.000108275	-9.04189E-05
				key = 	4000	191.3477137	-9.04189E-05	-7.5503E-05
				key = 	6000	176.2471051	-7.5503E-05		-6.30438E-05
				key = 	8000	163.6383366	-6.30438E-05	-5.32594E-05
				key = 	10000	152.9864639	-5.32594E-05	-4.43606E-05
				key = 	12000	144.1143425	-4.43606E-05	-3.69463E-05
				key = 	14000	136.7250922	-3.69463E-05	-3.07691E-05
				key = 	16000	130.5712815	-3.07691E-05	-2.56229E-05
				key = 	18000	125.4467007	-2.56229E-05	-2.26947E-05
				key = 	20000	120.9077683	-2.26947E-05	-1.86702E-05
				key = 	22000	117.1737343	-1.86702E-05	-1.53558E-05
				key = 	24000	114.1025797	-1.53558E-05	-1.26267E-05
				key = 	26000	111.5772385	-1.26267E-05	-1.03801E-05
				key = 	28000	96.5012209	-1.03801E-05	-9.06244E-06
				key = 	30000	79.6887315	-9.06244E-06	-7.34005E-06
				key = 	32000	63.2207227	-7.34005E-06	-5.94393E-06
				key = 	34000	51.0319373	-5.94393E-06	-4.81247E-06
				key = 	36000	44.069443	-4.81247E-06	-3.89564E-06
				key = 	38000	38.2903146	-3.89564E-06	-3.33082E-06
				key = 	40000	27.6241503	-3.33082E-06	-2.65869E-06
				key = 	42000	24.0924119	-2.65869E-06	-2.12179E-06
				key = 	44000	18.6680547	-2.12179E-06	-1.69298E-06
				key = 	46000	16.329459	-1.69298E-06	-1.35056E-06
				key = 	48000	12.0593468	-1.35056E-06	-1.13852E-06
				key = 	50000	8.316437	-1.13852E-06	-8.94325E-07
				key = 	52000	7.527787	-8.94325E-07	-7.02404E-07
				key = 	54000	5.122979	-7.02404E-07	-5.51586E-07
				key = 	56000	4.965513	-6.98152E-08	-9.18864E-08
				key =   58000	3.009132	-1.66651E-08	-7.85093E-08
				key =	60000	1.000083	-2.89349E-08	-4.65128E-08
				key =	62000	0.781552	-1.46703E-08	-3.85622E-08
				key =	64000	0.0088313	-2.95008E-08	-1.99152E-08
				key =	65000	0			0				0
			}
            pressureCurveIsNormalized = false
            
            temperatureOcean/seaLevel = 222
            temperatureCurve
            {
				key = 0 222 -0.007825203659 -0.007825203659
				key = 9840 209 -0.00110836439 -0.001104947805
				key = 17220 185 0.001104947805 0.001104947805
				key = 25420 153 0.00060392 0.00060392
				key = 45920 137 -0.0008328393902 -0.0008328393902
				key = 65600 118 -0.00110836439 -0.00110836439
				key = 73800 98 0.0005777737805 0.0005777737805
				key = 82000 73 0.0008470781707 0.0008470781707
				key = 123000 0 -0.0005483037805 -0.0005483037805
            }
            temperatureCurveIsNormalized = false
            temperatureLapseRate = 0.0024
			temperatureSunMultCurve = true
            temperatureSunMultCurve
            {
				key = 6307.692308 0.5 -0.00007317073171 -0.0001251767073
				key = 6950.465077 0 0 0
				key = 12655.11046 0 0 0
				key = 29866.48154 0.2 0 0
				key = 45289.33169 0.2 0 0
				key = 57582.67074 0 0 0
				key = 82000 0.4 0 0
            }
            
            adiabaticIndex = 0.014
            gasMassLapseRate = 2.06477390407027
            atmosphereMolarMass = 0.02896440029
		}
        ScaledVersion
        {
		     Material
            {	
                texture = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color
				normals = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_normal
				Gradient
                {
					0.0 = 0.0,0.0,0.5,1
					0.6 = 0.0,0.0,0.5901,1
                    1.0 = 0.0,0.0,0.796,1
                }
                rimPower = 2.06
                rimBlend = 0.3
            }
        }
        Orbit
        {
            referenceBody = Quijote
            color = 0.0,0.0,0.56,1
            inclination = 3.86
            eccentricity = 0.095
            semiMajorAxis = 30986612
            longitudeOfAscendingNode = 78
            argumentOfPeriapsis = 250
            meanAnomalyAtEpoch = 0
            epoch = 0
        }
        PQS
        {
            maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 10
            minDetailDistance = 8
            
            Mods
            {               
				VertexColorMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color.png
                    order = 9999999
                    enabled = true
                }
				VertexHeightMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/PluginData/Lamancha_height.png
					offset = -20
                    deformity = 14000
                    order = 9999999
                    enabled = true
                }
            }
        }
		Ocean
		{
			maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 12
            minDetailDistance = 8
			oceanColor = #000000
			
			Material
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000 - If you want to color the water
			}
			
			FallbackMaterial
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000
			}
			
			Mods
			{
				AerialPerspectiveMaterial
				{
					globalDensity = -0.00001
					heightFalloff = 6.75
					atmosphereDepth = 150000
					DEBUG_SetEveryFrame = true
					cameraAlt = 0
					cameraAtmosAlt = 0
					heightDensAtViewer = 0
					enabled = true
					order = 100
				}
						
				OceanFX
				{
					Watermain
					{
                        waterTex-0 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water1
						waterTex-1 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water2
						waterTex-2 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water3
						waterTex-3 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water4
						waterTex-4 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water5
						waterTex-5 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water6
						waterTex-6 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water7
						waterTex-7 = IA_Revived/CervantesSystem/Lamancha/Ocean/sea-water8
					}
				
					framesPerSecond = 1
					spaceAltitude = 150000
					blendA = 0
					blendB = 0
					texBlend = 0
					angle = 0
					specColor = 0.000, 0.000, 0.000, 0.000
					oceanOpacity = 0
					spaceSurfaceBlend = 0
					enabled = true
					order = 100
				}
			}
		}		
    }
}

I do have the eight needed ocean textures, but I don't know if I'm supposed to put a "Go-To Text" (Planet/Oceans/sea-water8) or a BUILTIN texture or whatever. This config has also been edited with Notepad++, along with all of my other textures.

It looks good, have you tested it in-game yet?

Share this post


Link to post
Share on other sites
14 minutes ago, The White Guardian said:

It looks good, have you tested it in-game yet?

Yeah, multiple times (aka every time when I opened the Tracking Station to check on/edit my planets with Kittopia, so, like, 10 times?). Maybe I should try the BUILTIN-thing.

Share this post


Link to post
Share on other sites
1 hour ago, ProtoJeb21 said:

Yeah, multiple times (aka every time when I opened the Tracking Station to check on/edit my planets with Kittopia, so, like, 10 times?). Maybe I should try the BUILTIN-thing.

Yes, try that then see what happens.

Share this post


Link to post
Share on other sites
3 hours ago, The White Guardian said:

Yes, try that then see what happens.

Well, it solved one problem, but not others. Lamancha loads up and looks AMAZING, but the "Oceans" are really just blue land. I've tried a few things, but all I get are blue rocks. And also, there's this weird yellow haze in the planet's atmosphere:

E0BvX1P.png

Any clue about what may be causing this? Here's my new config:

@Kopernicus:AFTER[KOPERNICUS] 
{
    Body
    {
        name = Lamancha
        cacheFile = IA_Revived/CervantesSystem/Lamancha/Cache/Lamancha.bin
		flightGlobalsIndex = 806
        
        Template
        {
            name = Laythe
			removeAllPQSMods = true
			removeOcean = true
		}
        Properties
        {
            description = A Kerra-Class moon of Quijote, Lamancha is by far the most habitable object ever found outside our solar system. Spectral analysis have show the presence of multicellular flora and unicellular bacteria.
            radius = 461000
            geeASL = 0.82
			ScienceValues
			{
				landedDataValue = 41
				splashedDataValue = 40.56
				flyingLowDataValue = 39
				flyingHighDataValue = 38.5
				inSpaceLowDataValue = 37
				inSpaceHighDataValue = 35.5
				recoveryValue = 40
				flyingAltitudeThreshold = 20000
				spaceAltitudeThreshold =  208000				
			}
        }
		Atmosphere
        {
            ambientColor = 0.0,0.0513,0.55,1
            lightColor = 0.0,0.06,0.598,1
			
            enabled = true
            oxygen = true

            altitude = 65000.0
			
             pressureCurve
			{
				key = 	0		95.086407	0				-0.000108275
				key = 	2000	93.4314833	-0.000108275	-9.04189E-05
				key = 	4000	91.3477137	-9.04189E-05	-7.5503E-05
				key = 	6000	76.2471051	-7.5503E-05		-6.30438E-05
				key = 	8000	63.6383366	-6.30438E-05	-5.32594E-05
				key = 	10000	52.9864639	-5.32594E-05	-4.43606E-05
				key = 	12000	44.1143425	-4.43606E-05	-3.69463E-05
				key = 	14000	36.7250922	-3.69463E-05	-3.07691E-05
				key = 	16000	30.5712815	-3.07691E-05	-2.56229E-05
				key = 	18000	25.4467007	-2.56229E-05	-2.26947E-05
				key = 	20000	20.9077683	-2.26947E-05	-1.86702E-05
				key = 	22000	17.1737343	-1.86702E-05	-1.53558E-05
				key = 	24000	14.1025797	-1.53558E-05	-1.26267E-05
				key = 	26000	11.5772385	-1.26267E-05	-1.03801E-05
				key = 	28000	9.65012209	-1.03801E-05	-9.06244E-06
				key = 	30000	7.96887315	-9.06244E-06	-7.34005E-06
				key = 	32000	6.32207227	-7.34005E-06	-5.94393E-06
				key = 	34000	5.10319373	-5.94393E-06	-4.81247E-06
				key = 	36000	4.4069443	-4.81247E-06	-3.89564E-06
				key = 	38000	3.82903146	-3.89564E-06	-3.33082E-06
				key = 	40000	2.76241503	-3.33082E-06	-2.65869E-06
				key = 	42000	2.40924119	-2.65869E-06	-2.12179E-06
				key = 	44000	1.86680547	-2.12179E-06	-1.69298E-06
				key = 	46000	1.6329459	-1.69298E-06	-1.35056E-06
				key = 	48000	1.20593468	-1.35056E-06	-1.13852E-06
				key = 	50000	0.8316437	-1.13852E-06	-8.94325E-07
				key = 	52000	0.7527787	-8.94325E-07	-7.02404E-07
				key = 	54000	0.5122979	-7.02404E-07	-5.51586E-07
				key = 	56000	0.4965513	-6.98152E-08	-9.18864E-08
				key =   58000	0.3009132	-1.66651E-08	-7.85093E-08
				key =	60000	0.1000083	-2.89349E-08	-4.65128E-08
				key =	62000	0.0781552	-1.46703E-08	-3.85622E-08
				key =	64000	0.00088313	-2.95008E-08	-1.99152E-08
				key =	65000	0			0				0
			}
            pressureCurveIsNormalized = false
            
            temperatureOcean/seaLevel = 222
            temperatureCurve
            {
				key = 0 222 -0.007825203659 -0.007825203659
				key = 9840 209 -0.00110836439 -0.001104947805
				key = 17220 185 0.001104947805 0.001104947805
				key = 25420 153 0.00060392 0.00060392
				key = 45920 137 -0.0008328393902 -0.0008328393902
				key = 65600 118 -0.00110836439 -0.00110836439
				key = 73800 98 0.0005777737805 0.0005777737805
				key = 82000 73 0.0008470781707 0.0008470781707
				key = 123000 0 -0.0005483037805 -0.0005483037805
            }
            temperatureCurveIsNormalized = false
            temperatureLapseRate = 0.0024
			temperatureSunMultCurve = true
            temperatureSunMultCurve
            {
				key = 6307.692308 0.5 -0.00007317073171 -0.0001251767073
				key = 6950.465077 0 0 0
				key = 12655.11046 0 0 0
				key = 29866.48154 0.2 0 0
				key = 45289.33169 0.2 0 0
				key = 57582.67074 0 0 0
				key = 82000 0.4 0 0
            }
            
            adiabaticIndex = 0.014
            gasMassLapseRate = 2.06477390407027
            atmosphereMolarMass = 0.02896440029
		}
        ScaledVersion
        {
		     Material
            {	
                texture = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color
				normals = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_normal
				Gradient
                {
					0.0 = 0.0,0.0,0.5,1
					0.6 = 0.0,0.0,0.5901,1
                    1.0 = 0.0,0.0,0.796,1
                }
                rimPower = 2.06
                rimBlend = 0.3
            }
        }
        Orbit
        {
            referenceBody = Quijote
            color = 0.0,0.0,0.56,1
            inclination = 3.86
            eccentricity = 0.095
            semiMajorAxis = 30986612
            longitudeOfAscendingNode = 78
            argumentOfPeriapsis = 250
            meanAnomalyAtEpoch = 0
            epoch = 0
        }
        PQS
        {
            maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 10
            minDetailDistance = 8
            
            Mods
            {               
				VertexColorMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/Textures/Lamancha_color.png
                    order = 9999999
                    enabled = true
                }
				VertexHeightMap
                {
                    map = IA_Revived/CervantesSystem/Lamancha/PluginData/Lamancha_height.png
					offset = -4988.56
                    deformity = 14000
                    order = 9999999
                    enabled = true
                }
				VertexSimplexHeight
				{
					seed = 691883
					deformity = 339
					octaves = 8
					persistance = 7
					frequency = 5
					enabled = true
					order = 30
				}
				VertexSimplexheightAbsolute
				{
					seed = 16755
					deformity = -984.5
					octaves = 4
					persistance = 9
					frequency = 3
					enabled = true
					order = 65
				}
            }
        }
		Ocean
		{
			maxQuadLengthsPerFrame = 0.03
            minLevel = 2
            maxLevel = 12
            minDetailDistance = 8
			oceanColor = #000000
			
			Material
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000 - If you want to color the water
			}
			
			FallbackMaterial
			{
				colorFromSpace = #000000
				// color = 1, 0.2, 0.2, 1.000
			}
			
			Mods
			{
				AerialPerspectiveMaterial
				{
					globalDensity = -0.00001
					heightFalloff = 6.75
					atmosphereDepth = 150000
					DEBUG_SetEveryFrame = true
					cameraAlt = 0
					cameraAtmosAlt = 0
					heightDensAtViewer = 0
					enabled = true
					order = 100
				}
						
				OceanFX
				{
					Watermain
					{
                        waterTex-0 = BUILTIN/sea-water1
						waterTex-1 = BUILTIN/sea-water2
						waterTex-2 = BUILTIN/sea-water3
						waterTex-3 = BUILTIN/sea-water4
						waterTex-4 = BUILTIN/sea-water5
						waterTex-5 = BUILTIN/sea-water6
						waterTex-6 = BUILTIN/sea-water7
						waterTex-7 = BUILTIN/sea-water8
					}
				
					framesPerSecond = 1
					spaceAltitude = 150000
					blendA = 0
					blendB = 0
					texBlend = 0
					angle = 0
					specColor = 0.000, 0.000, 0.000, 0.000
					oceanOpacity = 0
					spaceSurfaceBlend = 0
					enabled = true
					order = 100
				}
			}
		}		
    }
}

 

Share this post


Link to post
Share on other sites
8 hours ago, ProtoJeb21 said:

-snip-

About the ocean, could you land on your planet then try to move the camera into the terrain? While rubbing the camera against the rocks, sometimes you may catch a glimpse of what's underneath the surface. If you can't see an ocean underneath the surface, then there is an error in your config, and if you do see an ocean, you need to alter the heightmap's offset. In that case you need to lower the offset even further, then go into KSP and fine-tune it.

 

As for the atmosphere, may I ask what color you were going for?

Share this post


Link to post
Share on other sites
13 hours ago, The White Guardian said:

About the ocean, could you land on your planet then try to move the camera into the terrain? While rubbing the camera against the rocks, sometimes you may catch a glimpse of what's underneath the surface. If you can't see an ocean underneath the surface, then there is an error in your config, and if you do see an ocean, you need to alter the heightmap's offset. In that case you need to lower the offset even further, then go into KSP and fine-tune it.

 

As for the atmosphere, may I ask what color you were going for?

  1. I did check under the terrain, and yes, I saw an ocean! I was going to ask you if KB's height map offset was sort of like that in KC - putting in values and changing them until you get a good result. Apparently, I was right. I'm surprised -4988.56 isn't enough.
  2. I'm trying to make an atmosphere with similar colors to Kerbin's. Instead, on the surface, it is the same blue as the orbit color. Which values spot (R, G, B, or A) do I alter to make the color lighter?

Share this post


Link to post
Share on other sites
45 minutes ago, ProtoJeb21 said:
  1. I'm trying to make an atmosphere with similar colors to Kerbin's. Instead, on the surface, it is the same blue as the orbit color. Which values spot (R, G, B, or A) do I alter to make the color lighter?

I honestly do not know. It has to do with the lightColor value, I know that much, but the lightColor value's behavior is a mystery to me as well. I use lots of trial and errors to get the colors right. Perhaps you should ask @Thomas P. or @KillAshley, they are probably able to help you more than I can with the lightColor value.

I did manage to create a blue atmosphere though, try these numbers:

			ambientColor = 0.24, 0.25, 0.25, 1
			lightColor = 0.65, 0.57, 0.475, 0.5

EDIT: I took another look at the config. In lightColor, the red and blue are swapped, so the result is indeed a yellow atmosphere. Also, set the alpha to 0.5, it often works a lot better.

Edited by The White Guardian

Share this post


Link to post
Share on other sites

@The White Guardian The atmosphere and oceans show up perfectly! I really want to add Kerbin-like ground scatter (trees and grass) to Lamancha, but how do I? Also, I'm having some issues where reentry effects start at the top layer of the atmosphere, and I'm not majorly slowed down near the surface. What's going on? The error should be in that same config file I posted the other day; the atmo values have not changed at all.

Edited by ProtoJeb21

Share this post


Link to post
Share on other sites
16 hours ago, ProtoJeb21 said:

@The White Guardian The atmosphere and oceans show up perfectly! I really want to add Kerbin-like ground scatter (trees and grass) to Lamancha, but how do I? Also, I'm having some issues where reentry effects start at the top layer of the atmosphere, and I'm not majorly slowed down near the surface. What's going on? The error should be in that same config file I posted the other day; the atmo values have not changed at all.

Pressure keys. Could you run another test and this time write down the following stuff: the speed at which you enter the atmosphere, and in the map view/tracking station, select Lamancha, go to the properties (middle tap on the right of your screen), scroll down to atmosphere and write down the pressure. Could you give me that info?

As for the scatter, I honestly do not know that myself. Perhaps @Thomas P. or @KillAshley can help you with that.

Share this post


Link to post
Share on other sites
4 hours ago, The White Guardian said:

Pressure keys. Could you run another test and this time write down the following stuff: the speed at which you enter the atmosphere, and in the map view/tracking station, select Lamancha, go to the properties (middle tap on the right of your screen), scroll down to atmosphere and write down the pressure. Could you give me that info?

As for the scatter, I honestly do not know that myself. Perhaps @Thomas P. or @KillAshley can help you with that.

I remember all of that information. The atmosphere starts at 65 kilometers and has a pressure of 0.95...... atm. The reentry effects start at 62-63 km when I'm going about 500-1,000 meters per second. With a vessel similar to Kerbal 2 (the small one, I get those crafts mixed up), I'm slowed to about 30-90 m/s, but start to increase speed at around 5-7 km, even with a parachute. Even if my craft is tiny, has four large parachutes, and has the largest heat shield, the minimum speed is still fast, at 25 m/s.

Share this post


Link to post
Share on other sites
On 12-1-2016 at 9:03 PM, ProtoJeb21 said:

I remember all of that information. The atmosphere starts at 65 kilometers and has a pressure of 0.95...... atm. The reentry effects start at 62-63 km when I'm going about 500-1,000 meters per second. With a vessel similar to Kerbal 2 (the small one, I get those crafts mixed up), I'm slowed to about 30-90 m/s, but start to increase speed at around 5-7 km, even with a parachute. Even if my craft is tiny, has four large parachutes, and has the largest heat shield, the minimum speed is still fast, at 25 m/s.

I can only advise you to enter new pressure curves and see if it helps, I'm afraid.

Share this post


Link to post
Share on other sites

hi. I have a problem. When i was testing my planet something weird happened. The ground textures and space textures are completely different and not only that but the ground textures are much higher than the space textures.

@Kopernicus:AFTER[KOPERNICUS]
{
    Body
    {
        name = Akinae
        cacheFile = 
        flightGlobalsIndex = 8901
        Template
        {
            name = Kerbin
            removeAllPQSMods = true
            removeOcean = true
        }
       Properties //Physical properties
        {
            description = A fuzzball of a thing
            radius = 78000 //Distance from the planet's core to it's surface. How 'big' is the planet?
            geeASL = 0.3 //Surface gravity in G's
            rotationPeriod = 360000
            rotates = true //Important!
            tidallyLocked = false
            initialRotation = 0
            isHomeWorld = false //Very important!
            timewarpAltitudeLimits = 0 30000 30000 60000 300000 300000 400000 700000
            ScienceValues //Scientific expiriments value multiplier
            {
                landedDataValue = 12 //For expiriments taken on the surface
                splashedDataValue = 0 //For expiriments taken while splashed down
                flyingLowDataValue = 11 //For expiriments taken while flying in the lower atmosphere
                flyingHighDataValue = 8 //For expiriments taken while flying in the upper atmosphere
                inSpaceLowDataValue = 7 //For expiriments taken in space, close to your planet
                inSpaceHighDataValue = 6 //For expiriments taken in space, far away from your planet
                recoveryValue = 7 //Science multiplier for expiriment data taken from recovered vessels
                flyingAltitudeThreshold = 0
                spaceAltitudeThreshold = 140000
            }    
        }
        Orbit //Orbit properties
        {
            referenceBody = Kerbin
            color = 1,0,1,0.5
            inclination = 0 //Orbit inclination relative to referenceBody's equator
            eccentricity = 0.0 //Orbit eccentricity, how elliptical is the orbit?
            semiMajorAxis = 700000 //Average distance to reference body
            longitudeOfAscendingNode = 56 //Position of ascending node relative to the surface of the reference body
            argumentOfPeriapsis = 0
            meanAnomalyAtEpoch = 0
            epoch = 0 //Position of your planet when it is first loaded. Not nessecary to give a number unless your planet shares it's orbit, can be used to create laplace resonances
        }
        ScaledVersion //Update scaledspace
        {
            type = Atmospheric
            fadeStart = 0
            fadeEnd = 0
            Material
            {
                texture = NewPlanet/Textures/Textures/Akina_color.dds //Texture map
                normals = NewPlanet/Textures/Textures/Akina_normal.dds //Normal map
                shininess = 0
                specular = 0.0,0.0,0.0,1.0
                rimPower = 0 //Atmosphere rim power
                rimBlend = 0 //Atmosphere rim blend
                Gradient //Atmosphere rim color defenitions
                {
                    0.0 = 0.06,0.06,0.06,1
                    0.5 = 0.05,0.05,0.05,1
                    1.0 = 0.0196,0.0196,0.0196,1
                }
            }
        }
        PQS
        {
            Mods
            {
            VertexHeightMap
                {
                    map = NewPlanet/Textures/Textures/Akina_height.dds
                    offset = -500
                    deformity = 10000.0
                    scaleDeformityByRatius = false
                    order = 20
                    enabled = true
                }
                VertexHeightNoiseVertHeightCurve2
                {
                    deformity = 100
                    ridgedAddSeed = 123456
                    ridgedAddFrequency = 12
                    ridgedAddLacunarity = 2
                    ridgedAddOctaves = 4
                    ridgedSubSeed = 654321
                    ridgedSubFrequency = 12
                    ridgedSubLacunarity = 2
                    ridgedSubOctaves = 4
                    simplexCurve
                    {
                        key = 0 0 0.1466263 0.1466263
                        key = 0.7922793 0.2448772 0.6761706 1.497418
                        key = 1 1 6.106985 6.106985
                    }
                    simplexHeightStart = 0
                    simplexHeightEnd = 6500
                    simplexSeed = 123456
                    simplexOctaves = 4
                    simplexPersistence = 0.6
                    simplexFrequency = 12
                    enabled = true
                    order = 200
                }
                HeightColorMap
                {
                    blend = 1
                    order = 500
                    enabled = true
                    LandClasses
                    {
                        Class
                        {
                            name = Bottom
                            altitudeStart = 0
                            altitudeEnd = 0.7
                            color = 0.1,0.1,0.1,1.0
                            lerpToNext = true
                        }
                        Class
                        {
                            name = Base
                            altitudeStart = 0.7
                            altitudeEnd = 0.75
                            color = 0.7,0.55,0.2,1.0
                            lerpToNext = true
                        }
                        Class
                        {
                            name = Low
                            altitudeStart = 0.75
                            altitudeEnd = 0.85
                            color = 0.7,0.6,0.4,1.0
                            lerpToNext = true
                        }
                        Class
                        {
                            name = Grad
                            altitudeStart = 0.85
                            altitudeEnd = 0.95
                            color = 1.0,0.9,0.7,1.0
                            lerpToNext = true
                        }
                        Class
                        {
                            name = High
                            altitudeStart = 0.95
                            altitudeEnd = 2
                            color = 0.95,0.95,0.9,1.0
                            lerpToNext = false
                        }
                    }
                }
            }
        }
    }
}
 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now