sdj64

How to make planets with KopernicusTech

Recommended Posts

SDJ's KopernicusTech Planet Making Tutorial

Hey everyone, this tutorial was made for KopernicusTech for KSP 0.90, it won't work for Kopernicus now! The Space Engine part still works, so you can still use it to get textures from Space Engine. It will probably not be updated very soon, if at all. Use the examples or download some planet packs and look at how they did it.

Hello aspiring planet makers! Making planets for KSP used to be very difficult, but KopernicusTech makes it easy and relatively stable to make your own mod that adds planets. No coding experience is required, just editing configs. This tutorial will provide some configs for planets that you can modify for whatever ones you try to make. Since there has been no consolidated tutorial in place, I'm trying to make one so that new people don't have to hunt over many threads and posts to find what they're looking for. Experienced planet makers, please feel free to correct me or to add to what's already here.

On to the tutorial itself.

Step 1. Get Space Engine

Space Engine is a free software that procedurally generates the entire universe. You can visit stars, planets, and galaxies that humans have found and named, including our own solar system. You can also explore beyond known space to find more stars with their own planet systems, all generated by Space Engine. The most important part, though, is that you can export planet textures. You could also create your own textures without Space Engine, but that is much more difficult.

You only need SE if you want to make planets with height maps or to get textures for gas giants. If all you want are asteroids like Gilly, skip this step and the next one.

Get Space Engine here: http://en.spaceengine.org/

Step 2. Find your planets and export them.

You can find planets for your pack by flying around and exploring by chance, or you can use a filter to select, for example, "temperate terra" for an earth-like planet. I'm not going to go into this in too much detail.

Once you have found a planet you want, hit Esc, and select "Editor", then "Export Planet". The information box will pop up. You want to export the surface color map, height map, and normal map. If there is an option for a specular map, you need that to be checked as well because otherwise your color map will not completely show up. The resolution is up to you, but keep in mind that unless you have a mid to high end graphics card you won't be able to export higher than 2048 (some computers will mistakenly run Space Engine on Intel graphics even if you have a dedicated graphics card. Make sure it's running on your best graphics when you export). Usually I like to use 4096 for larger planets, 2048 for mid size moons, and 1024 for tiny moons. Higher res textures will look better but will also take up more memory. For a gas giant planet all you need is the color map.

Here in this picture I have exported the maps of a desert planet. Unlike in the picture, export a normal map too.

r74Yti1.png

Once you have your textures, navigate to the Export folder inside your Space Engine directory and copy the surface_bump and surface_diff into another folder for your mod. Rename surface_bump to yourPlanetName_height, surface_diff to yourPlanetName_map, and surface_norm to yourPlanetName_normal. The export folder only holds one planet at a time so make sure to save your textures before exporting again.

Step 3. Set up your Kopernicus config file

Your planets all need configuration files to work in KSP. The two most important, and the ones we're covering here, are the KittopiaTech SaveLoad file and the Kopernicus System file. First is Kopernicus. The sample file below has four example planets in it, one for a gas giant, one for an atmospheric planet, one for a non-atmospheric planet or moon, and one for a small asteroid moon. Copy this file into your favorite text editor and save it as YourSystem.cfg, then adjust the parameters for the planets you want to make.


@Kopernicus
{
Body
{
name = TutGasGiant //change to the name of your planet
flightGlobalsIndex = 1233 //change to any number, not too big. Avoid numbers used by other planet packs
Template
{
name = Jool //all gas giants use Jool as template
}
Properties
{
description = This planet has swirly clouds and rings. Nice to look at but explosive to try to land on! Change this text to whatever you want.
radius = 6000000 //Jool has radius 6000000
geeASL = 0.8 //surface gravity, Jool has 0.8. Keep in mind that since the planet is bigger, orbital velocity will be too.

ScienceValues //Higher values mean more science. Increase these for planets that are hard to reach.
{
flyingLowDataValue = 25 //big reward for flying low at a gas giant. Just a suggestion
flyingHighDataValue = 14
inSpaceLowDataValue = 12
inSpaceHighDataValue = 11
recoveryValue = 11
flyingAltitudeThreshold = 100000 //limit between "flying at TutGasGiant" and "TutGasGiant's upper atmosphere"
spaceAltitudeThreshold = 3500000 //limit between "space near TutGasGiant" and "space high above TutGasGiant"
}
}
Orbit
{
referenceBody = Sun //what body does it orbit? DO NOT write Kerbol, the sun is called Sun in game. All other bodies use their names.
inclination = 3.5 //inclination in degrees
eccentricity = 0.01 //set this very close to zero for gas giants.
semiMajorAxis = 68773560320 //how far the planet is from the sun. This number is Jool's
longitudeOfAscendingNode = 0 //change to whatever you want
argumentOfPeriapsis = 0 //change to whatever you want
meanAnomalyAtEpoch = 0 //Determines where the planet starts at day 0. Probably don't change
epoch = 0 //Determines where the planet starts at day 0. Probably don't change
color = 0.35,0.325,0.3,1.0 //RGB color of the orbit line
}
Atmosphere
{
ScaleHeight = 10 //same as Kittopia for all of these
ContainsOxygen = False
maxAltitude = 150000
Multiplier = 22
TemperatureMultiplier = 22
lightColor = 0.70, 0.675, 0.65, 1.00 //(1 divided by color) of the atmosphere at the surface. Lower numbers mean more of that color. RGB
ambientColor = 0.45, 0.525, 0.30, 1.00 //RGB of color the atmosphere shines on flying spaceships.
}
ScaledVersion
{
Material
{
texture = YourPlanetPack/Textures/TutGasGiant_map //change to your file path. Don't include "GameData/" or ".png"

Gradient //atmospheric gradient in map view. 0.0 is surface, 1.0 is edge of space
{
0.0 = 0.35,0.325,0.30,1
0.6 = 0.09,0.08,0.07,1
1.0 = 0.02,0.015,0.01,1
}
rimPower = 3 //Higher for thicker atmospheres
rimBlend = 0.3 //don't change
}
}
}
Body
{
name = TutPlanetAtmosphere //change to the name of your planet
flightGlobalsIndex = 1234 //change to any number, not too big. Avoid numbers used by other planet packs
Template
{
name = Laythe //Don't change this! Duna and Eve have hard coded colors, so they make bad templates. Use Laythe even if your planet doesn't have oceans.
}
Properties
{
description = The description is what shows up in the information box in map view. Change this text to whatever you want.
radius = 500000 //How big is the planet? Laythe is 500000, keeping this number makes clouds easier to use
geeASL = 0.8 //Gravity at sea level. Kerbin is 1, of course
timewarpAltitudeLimits = 0 60000 60000 60000 100000 200000 400000 800000 //altitudes that time warp can be used at, in meters. Time warps are x1, x5, x10, x50, x100, x1000, x10000, and x100000

ScienceValues //Higher values mean more science. Increase these for planets that are hard to reach or to land on, return from.
{
landedDataValue = 10 //Duna = 8, Laythe = 14
flyingLowDataValue = 9 //Duna = 5, Laythe = 11
flyingHighDataValue = 8.5 //Duna = 5, Laythe = 10
inSpaceLowDataValue = 8 //Duna = 7, Laythe = 9
inSpaceHighDataValue = 7.5 //Duna = 5, Laythe = 8
recoveryValue = 8
flyingAltitudeThreshold = 20000 //limit between "flying at TutPlanetAtmosphere" and "TutPlanetAtmosphere's upper atmosphere"
spaceAltitudeThreshold = 200000 //limit between "space near TutPlanetAtmosphere" and "space high above TutPlanetAtmosphere"
}
}
Orbit
{
referenceBody = Sun //what body does it orbit? DO NOT write Kerbol, the sun is called Sun in game. All other bodies use their names.
color = 0.5,0.5,0.5,1 //RGB color of the orbit line
inclination = 0.5 //inclination in degrees
eccentricity = 0.03 //eccentricity of orbit, don't set this higher than 0.1 especially for large planets
semiMajorAxis = 13599840256 //how far the planet is from the sun. This number is Kerbin's
longitudeOfAscendingNode = 60 //change to whatever you want
argumentOfPeriapsis = 25 //change to whatever you want
meanAnomalyAtEpoch = 0 //Determines where the planet starts at day 0. Probably don't change
epoch = 0 //Determines where the planet starts at day 0. Probably don't change
}
ScaledVersion
{
Material
{
texture = YourPlanetPack/Textures/TutPlanetAtmosphere_map //change to your file path. Don't include "GameData/" or ".png"
normals = YourPlanetPack/Textures/TutPlanetAtmosphere_normal //change to your file path. Don't include "GameData/" or ".png"

Gradient //atmospheric gradient in map view. 0.0 is surface, 1.0 is edge of space
{
0.0 = 0.80,0.70,0.65,1
0.6 = 0.10,0.08,0.08,1
1.0 = 0.02,0.02,0.01,1
}
rimPower = 1 //Higher for thicker atmospheres
rimBlend = 0.3 //don't change
}
}
Atmosphere
{
ScaleHeight = 5 //same as in Kittopia
ContainsOxygen = False //same as in Kittopia
maxAltitude = 60000 //same as in Kittopia
Multiplier = 1 //same as in Kittopia
lightColor = 0.68, 0.70, 0.75, 1.00 //(1 divided by color) of the atmosphere at the surface. Lower numbers mean more of that color. RGB
ambientColor = 0.35, 0.325, 0.30, 1.00 //RGB of color the atmosphere shines on landed/flying spaceships.
}
}
Body
{
name = TutLargeMoon
flightGlobalsIndex = 1235 //Don't forget to make this number different from your other planets!
Template
{
name = Tylo //keep this for any moon or planet with a heightmap and no atmosphere
}
Properties
{
description = TutLargeMoon could be a planet, too, if that planet didn't have an atmosphere. Change this text to whatever you want.
radius = 300000
geeASL = 0.5

ScienceValues
{
landedDataValue = 10
inSpaceLowDataValue = 9
inSpaceHighDataValue = 8.5
recoveryValue = 9
spaceAltitudeThreshold = 80000
}
}
Orbit
{
referenceBody = TutPlanetAtmosphere //you can have your moons orbiting your planets
color = 1,1,1,1
inclination = 0.3
eccentricity = 0.05
semiMajorAxis = 12000000 //this is the Mun's SMA
longitudeOfAscendingNode = 60
argumentOfPeriapsis = 25
meanAnomalyAtEpoch = 0
epoch = 0
}
ScaledVersion
{
Material
{
texture = YourPlanetPack/Textures/TutLargeMoon_map
normals = YourPlanetPack/Textures/TutLargeMoon_normal
}
}
}
Body
{
name = TutAsteroidMoon
flightGlobalsIndex = 1236
Template
{
name = Gilly //keep this as is, other small moons (Minmus, Dres, Bop, Pol) use different height characteristics
}
Properties
{
description = If you squint really really hard in your telescope, you can see it. Change this text to whatever you want.
radius = 20000 //You can have a really tiny asteroid if you want. Kopernicus will still work if this number is as low as 100 meters
geeASL = 0.04 //don't set this too low, or the body will have an SOI that's too small. Gilly = 0.03
tidallyLocked = True //If the same side of the moon always faces the body it's orbiting, it's tidally locked. Examples include the Moon in real life, and the Mun in KSP.

ScienceValues
{
landedDataValue = 12
inSpaceLowDataValue = 10
inSpaceHighDataValue = 9.5
recoveryValue = 10
spaceAltitudeThreshold = 15000
}
}
Orbit
{
referenceBody = Jool //You can also add moons to the stock planets, for example, Jool.
color = 0.9,0.8,0.7,1
inclination = 20 //Don't be afraid to set high inclinations or eccentricities for asteroids, this makes them more of a challenge to get to!
eccentricity = 0.1
semiMajorAxis = 250000000 //this is about twice Bop's SMA.
longitudeOfAscendingNode = 55
argumentOfPeriapsis = 0
meanAnomalyAtEpoch = 0
epoch = 0
}
ScaledVersion
{
Material
{
texture = YourPlanetPack/Textures/TutAsteroidMoon_map
normals = YourPlanetPack/Textures/TutAsteroidMoon_normal
}
}
}
}

Step 4. Set up your KittopiaTech config files

Each planet needs its own config file for KittopiaTech. Each planet template is configured a little differently, so here are the ones you need for the templates of Laythe, Tylo, and Gilly. Again, copy them into your favorite text editor and adjust the parameters until they're what you want, and save them as PlanetName.cfg.

Gas giant planet


PlanetTutGasGiant //keep Planet here, it's PlanetYourplanetname
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = True //of course if you don't want rings you can leave this out
Rings
{
Ring
{
Tilt = 0 //note if you have a tilt of 0 and a low inclination of your orbit, your rings may appear black.
OuterRadius = 1200 //in kilometers measured from the center of the planet
InnerRadius = 800
Colour = RGBA(0.7,0.675,0.65, 1.000) //self explanatory color of the ring.
}
Ring //you can add as many rings as you want.
{
Tilt = 0 //Tilted rings spin at the same rate as the planet's rotation period
OuterRadius = 2200
InnerRadius = 1400
Colour = RGBA(0.65,0.625,0.6, 1.000)
}
}
AddParticles = False
DisableOrbitRenderer = False
}
CelestialBody
{
pressureMultiplier = 22 //atmospheric pressure at 0m altitude
altitudeMultiplier = 3 //how quickly the atmosphere becomes thinner. Higher numbers mean upper atmosphere is thicker
atmoshpereTemperatureMultiplier = 22 //not sure if this has any game effect. May overheat craft in the lower atmosphere
atmosphereMultiplier = 22 //same as pressure multiplier
maxAtmosphereAltitude = 150000 //what it shows in map info as the max altitude
atmosphereScaleHeight = 10 //what actually determines max atmosphere altitude. Higher numbers mean atmosphere is taller
}
}

Atmospheric planet (with a heightmap)


PlanetTutPlanetAtmosphere
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = False
AddParticles = False
DisableOrbitRenderer = False
}
CelestialBody
{
atmosphereContainsOxygen = False //self explanatory, allows jet engines to work
pressureMultiplier = 1 //how thick the atmosphere is at sea level
altitudeMultiplier = 1 //how quickly does the atmosphere get thinner with altitude (higher number = thicker)
atmoshpereTemperatureMultiplier = 1 //does nothing, I think
atmosphereMultiplier = 1 //set this the same as pressureMultiplier
maxAtmosphereAltitude = 60000 //determines what the game says is the atmosphere height (in meters)
atmosphereScaleHeight = 5 //actually determines atmosphere height (Kerbin is 5, Duna is 3, Eve is 7. Decimals are allowed but not shown in game)
ocean = False //self explanatory
}
PQS
{
PQSMod_HeightColorMap
{
modEnabled = False
}
PQSCity
{
modEnabled = False
}
PQSMod_VertexHeightMap
{
heightMap = GameData/YourPlanetPack/Textures/TutPlanetAtmosphere_height.png //Replace this with your file path
heightMapDeformity = 4000 //how tall should the highest mountains be?
heightMapOffset = -800 //If your planet has oceans, set this to a negative number. Play around until you get it right
scaleDeformityByRadius = False
}
PQSMod_VertexColorMap
{
vertexColorMap = GameData/YourPlanetPack/Textures/TutPlanetAtmosphere_map.png //Replace this with your file path
}
PQSMod_VertexSimplexHeight
{
seed = 101274 //change this to any random number
deformity = 300 //how bumpy do you want the ground to be
octaves = 8 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing them and see what happens
frequency = 12
}
PQSMod_VertexSimplexHeightAbsolute
{
seed = 637926 //change this to any random number
deformity = 100 //how bumpy do you want the ground to be
octaves = 3 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing them and see what happens
frequency = 0.8
}
PQSMod_VertexHeightNoise
{
deformity = 300 //Height of dunes or rolling hills on your planet. Looks good on Laythe or Kerbin like planets
}
PQSMod_VertexSimplexHeightMap
{
modEnabled = False
}
PQSMod_QuadEnhanceCoast
{
modEnabled = False //if you want to, set this to true on an ocean planet. You don't need it otherwise
}
PQSMod_VertexHeightNoiseVertHeight
{
modEnabled = False //don't know exactly what this does. It is another type of small-scale terrain bumpiness
}
PQSMod_AltitudeAlpha
{
atmosphereDepth = 60000 //How tall the atmosphere looks, how quickly atmospheric color appears as you go down towards the surface
modEnabled = True
}
}
}

Non atmospheric (with a heightmap)


PlanetTutLargeMoon
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = False
AddParticles = False
DisableOrbitRenderer = False
}
PQS
{
PQSMod_HeightColorMap
{
modEnabled = False
}
PQSCity
{
modEnabled = False
}
PQSMod_VertexHeightMap
{
heightMap = GameData/YourPlanetPack/Textures/TutLargeMoon_height.png //Replace this with your file path
heightMapDeformity = 2500 //how tall should the highest mountains be?
heightMapOffset = 0 //only necessary if you're using oceans or if you get areas below 0 elevation
scaleDeformityByRadius = False
}
PQSMod_VertexColorMap
{
modEnabled = true
vertexColorMap = GameData/YourPlanetPack/Textures/TutLargeMoon_map.png //Replace this with your file path
}
PQSMod_VertexSimplexHeight
{
seed = 95374 //change this to any random number
deformity = 300 //how bumpy do you want the ground to be
octaves = 8 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing them and see what happens
frequency = 12
}
PQSMod_VertexSimplexHeightAbsolute
{
seed = 637926 //change this to any random number
deformity = 100 //how bumpy do you want the ground to be
octaves = 3 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing them and see what happens
frequency = 0.8
}
PQSMod_VertexSimplexHeightMap
{
modEnabled = False
}
PQSMod_VertexHeightNoiseVertHeight
{
modEnabled = False
}
}
}

Asteroid (no heightmap)


PlanetTutAsteroidMoon
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = False
AddParticles = False
DisableOrbitRenderer = False
}
CelestialBody
{
sphereOfInfluence = 500000 //some small bodies will have too small of an SOI. Change if you need to. Won't take effect in game unless you reload the KT config
}
PQS
{
PQSMod_VertexSimplexHeightAbsolute
{
seed = 24389752 //change this to any random number
deformity = 10000 //how high are the highest plateaus and mountains
octaves = 6 //how small do you want the mountains to be (3 or lower, they take up basically a quarter of the planet)
persistence = 0.4 //don't know what these do, you can try changing them and see what happens
frequency = 1.0
modEnabled = True
}
PQSMod_VertexHeightNoise
{
seed = 23510750 //change this to any random number
deformity = 500 //how bumpy and jagged is the terrain
frequency = 4 //don't know what these do, you can try changing them and see what happens
lacunarity = 2.5
persistance = 1.0
octaves = 6 //how small do you want the jagged ridges to be
modEnabled = True
}
PQSMod_VertexSimplexNoiseColor //Small gilly-based moons don't have color maps and use this instead
{
seed = 0175123 //change this to any random number
blend = 1
colorStart = RGBA(0.30, 0.30, 0.30, 1.000) //The color of your moon is a spectrum between these two colors
colorEnd = RGBA(0.60, 0.60, 0.60, 1.000)
octaves = 7 //how small do you want the blotches of color to be
persistence = 0.5 //don't know what these do, you can try changing them and see what happens
frequency = 1
modEnabled = True
}
}
}

Step 5. Put all of this stuff into KSP

Now you're ready to run your mod! You should have some textures, a file named YourSystem.cfg, and some other configs named after your planets. Install KopernicusTech if you haven't already.

http://forum.kerbalspaceprogram.com/threads/109122-WIP-KopernicusTech-An-integration-attempt-between-Kopernicus-and-KittopiaTech-%280-121-02-13-15%29

Make a folder inside GameData called YourPlanetPack (or whatever name you want, be sure it agrees with the file paths in the configs) and in it, put your YourSystem.cfg and a folder called "Textures", then put your textures in there. Your Kittopia configs need to go inside the KittopiaSpace/SaveLoad folder.

If you don't have normal maps at this point, you can use the Normal Map Online tool to make your normal maps.

http://cpetry.github.io/NormalMap-Online/

You also don't have any maps yet for asteroid moons. Though the color is determined procedurally in game, they need a color map and a normal map for scaled space. A plain white png works just fine for now since KittopiaTech will make them for you, or you can find an asteroid in Space Engine to use as a placeholder.

Step 6. Load KSP and hope it runs

Now, load up KSP and open the debug menu (alt-f12) and go to the debug tab. Once it loads the main menu, scroll down and you should see something like this, with all of your planets listed after the stock ones. This image has my planet pack loaded:

wPuASmu.png

If the list only includes the stock planets, go back up and look for red text (errors). The most common one is that one of your texture files were named wrong.

Any yellow errors "PQS default not found" are okay, and this red error does not matter, your planets will load fine with it: "[Exception]: DirectoryNotFoundException: Directory 'C:\Users\Brian\Desktop\KSP\KTechTrial\GameInfo\KittopiaSpace\Textures\Kerbin\PQS' not found."

If your game crashes before you reached the main menu, it's probably out of memory. Uninstall some other mods or reduce the number of planets you have or their texture size.

Step 7. Fix ScaledSpace and errors using Kittopia

Load a sandbox game. In the tracking station or when focused on a craft, bring up the Kittopia GUI with Ctrl-P. Select your planets one by one and then click "update scaled" with the export button checked. KSP will hang for a while, this is normal. This generates better normal maps, as well as a color and a heightmap. Your color map can replace the one you have (necessary for asteroid moons, optional for others) and the normal map replaces the old one. You can safely convert all of your normal maps to greyscale using Photoshop, Gimp, or Paint.NET to save memory later. Leave the transparency as is. DO NOT use the heightmap. The heightmap has all of the terrain noise built into it, which will be applied double if you replace your old heightmap with it.

You do not need to fix ScaledSpace with gas giants since they don't have normal maps.

I highly recommend HyperEdit and the infinite fuel cheat to check out your planets with a small ship and make sure everything works. If it doesn't, you can alt-tab out of KSP, edit your Kittopia config, save it, then go back to KSP and press "load data" with your planet selected. Remember to Update Scaled again after changing any settings.

Your new files will be located in KittopiaSpace/Textures/ScaledSpace. Grab your new normal maps and any color maps you want, and replace the old textures in your textures folder. Delete the extra textures from the Kittopia folder afterward, it will try to load them and take up memory if you don't.

The other new files you will have will be .bin files in the KittopiaSpace/ScaledSpace folder. Leave them there, Kittopia uses them to load faster.

Step 7. Package your mod

To make it easy for other people to install your mod, make a .zip folder and put a folder named GameData inside. Then, copy your DDSLoader, KittopiaSpace, Kopernicus, and YourPlanetPack folders into that folder. Putting a mod on the forums is not within the scope of this tutorial, but you'll need a license and a hosting site (KerbalStuff, Curse, etc.). Remember to say that your mod redistributes KittopiaTech and DDSLoader, and obey their licenses. Happy Planet Making!

Extra: Ocean Planets

Ocean planets are hard to make. Most of the time your oceans won't line up with your color map and you're stuck with a misaligned texture. In Space Engine, export without "Paint up oceans" checked. This is so the color map does not have any blue terrain. If you're having problems with oceans not lining up, this is probably because your terrain noise is higher than the depth of your ocean. One fix is to edit the height map in the image editor of your choice (not MS Paint) and selecting the oceans and darkening them. It might be easier to select the oceans if you export from Space Engine again with "Paint up oceans" checked, since they will be flat on the heightmap. Once you're happy with the oceans, replace the color map with Kittopia's generated color map so it shows up correctly in scaled space.

Edited by sdj64

Share this post


Link to post
Share on other sites

Thank you so much! I had to figure KT all alone so much time...

Share this post


Link to post
Share on other sites

it just so happens that i was struggling to make a planet the other day, so this tutorial is very appreciated!

i got as far as checking the planet out in the tracking station. looked fine, except for the white smear caused by the blank normal map. however, after i told kittopia to export the scaled space, it turned into an ugly, bumpy, oceanless laythe clone. any idea what caused this? i assume it's on the KT side of things, but i've looked through both .cfgs a couple times and cannot find anything wrong with either of them. (i can pastebin them if you'd like).

before and after screenshots are here

Share this post


Link to post
Share on other sites

Does KT ui work on linux? I know i need windows for SE.

Share this post


Link to post
Share on other sites

What would you recommend if you want to actually make planets with specific features? It seems like with either of these methods we're at the mercy of RNG, either finding the planet in space engine, or the rng seed used for asteroid type bodies. I actually have specific features in mind I'd like my planets to have, and I'm not sure how to ago about that. (Also, I can't use space engine, for some reason it always flies me backwards away from objects instead of toward them)

Share this post


Link to post
Share on other sites

once i get 0.90 working i will definitely put this to use in porting over my planet pack to kopernicustech! :D

Share this post


Link to post
Share on other sites

WOW, sdj64! This is much, MUCH better then my tutorial.I just tried out to make my planet THIS way, and it works a lot better than my old way!

Share this post


Link to post
Share on other sites

I've got a question sdj64, I want to make a gas giant, how would I do this? I'm not sure if I should use the Atmosphere Planet guide, or if making one is much different. Could you get back to me on that? Or maybe add a tutorial for how to make on on the OP

Share this post


Link to post
Share on other sites

So I messed around just to see what I could do. I can get the Kopernicus part to work right, but I can't get Kittopia to apply the height or color. This is my cfg, which is correctly in SaveLoad, and I have a pactus_height pactus_map and pactus_normal (all 2048x1024 png files) in gamedata/pactus/textures. Any clue what I'm doing wrong? (The numbers are all just random at this time, & the texture is just something i threw together quick in photoshop. It's basically looking like a Tylo with a bunch of random bumps, and that's it. It Should be yellowish brown and more whispy.

pactus
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = False
AddParticles = False
DisableOrbitRenderer = False
}
PQS
{
PQSMod_HeightColorMap
{
modEnabled = False
}
PQSCity
{
modEnabled = False
}
PQSMod_VertexHeightMap
{
heightMap = GameData/pactus/Textures/pactus_height.png //Replace

this with your file path
heightMapDeformity = 2000 //how tall should the highest mountains

be?
heightMapOffset = 0 //only necessary if you're using oceans or if you

get areas below 0 elevation
scaleDeformityByRadius = False
}
PQSMod_VertexColorMap
{
modEnabled = true
vertexColorMap = GameData/pactus/Textures/pactus_map.png

//Replace this with your file path
}
PQSMod_VertexSimplexHeight
{
seed = 69696 //change this to any random number
deformity = 10 //how bumpy do you want the ground to be
octaves = 2 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing

them and see what happens
frequency = 1
}
PQSMod_VertexSimplexHeightAbsolute
{
seed = 96969 //change this to any random number
deformity = 10 //how bumpy do you want the ground to be
octaves = 3 //how small do you want the bumps to be
persistence = 0.5 //don't know what these do, you can try changing

them and see what happens
frequency = 0.8
}
PQSMod_VertexSimplexHeightMap
{
modEnabled = False
}
PQSMod_VertexHeightNoiseVertHeight
{
modEnabled = False
}
}
}

Also I'd love advise for how to make a texture without SpaceEngine (It won't work for me, and anyways you cant exactly make them custom with it). Specifically how to make them custom in such a way that they match up at the edges. Thanks

Share this post


Link to post
Share on other sites
it just so happens that i was struggling to make a planet the other day, so this tutorial is very appreciated!

i got as far as checking the planet out in the tracking station. looked fine, except for the white smear caused by the blank normal map. however, after i told kittopia to export the scaled space, it turned into an ugly, bumpy, oceanless laythe clone. any idea what caused this? i assume it's on the KT side of things, but i've looked through both .cfgs a couple times and cannot find anything wrong with either of them. (i can pastebin them if you'd like).

before and after screenshots are here

Can't really determine what's wrong just from the screenshots. Did you ever fly down to the surface and check out how it looks outside of scaled space? I can probably figure it out from the config files if you post them.

Does KT ui work on linux? I know i need windows for SE.

I don't have Linux but I heard it doesn't. You can try it out though, I might be thinking of something else.

What would you recommend if you want to actually make planets with specific features? It seems like with either of these methods we're at the mercy of RNG, either finding the planet in space engine, or the rng seed used for asteroid type bodies. I actually have specific features in mind I'd like my planets to have, and I'm not sure how to ago about that. (Also, I can't use space engine, for some reason it always flies me backwards away from objects instead of toward them)

I'm not an expert at making textures from scratch. You want your texture to be twice as wide as it is tall. Powers of two are recommended but not absolutely necessary.

To get your texture to line up well with the side edges, expand your background so it's twice as wide as it was before, then copy your texture so it appears twice side by side. Fix the border between the two edges, then copy-paste the left edge of the texture on the right to the texture on the left and return your background to its original size. For the top and bottom edges, I would recommend applying a gradient that fades to transparent from the top and bottom on both the height and color maps so that you avoid getting scrunched up radial mountains and colors at the poles. The gradient should cover the top and bottom tenth of your image probably.

DDIjLVH.png

yes, the stock planets have them too but yours don't have to!

I've got a question sdj64, I want to make a gas giant, how would I do this? I'm not sure if I should use the Atmosphere Planet guide, or if making one is much different. Could you get back to me on that? Or maybe add a tutorial for how to make on on the OP

Gas giants are different, but actually substantially easier than planets with land. I'll get an example config made for gas giants soon, but if you can't wait, download my Terrestrial Planet Pack and look at Stenci.

Edited by sdj64

Share this post


Link to post
Share on other sites

I'm having some trouble with planets shapes.

regardless of the heightMapDeformity I use the planet has always the same bumpy shape which doesn't fit my heightmap

unless I use like heightMapDeformity greater than 10k and in that case it just messes everything

I have the feeling that is adding my heightmap to some other shape.

--edit--

aaaand of course after two days of trial and error, I'm totally frustrated and post a question on the forum, 10 seconds later I find what the problem was -.-

never mind, now I'm happy :D

thanks for the tutorial

Edited by Sigma88

Share this post


Link to post
Share on other sites
I'm not an expert at making textures from scratch. You want your texture to be twice as wide as it is tall. Powers of two are recommended but not absolutely necessary.

To get your texture to line up well with the side edges, expand your background so it's twice as wide as it was before, then copy your texture so it appears twice side by side. Fix the border between the two edges, then copy-paste the left edge of the texture on the right to the texture on the left and return your background to its original size. For the top and bottom edges, I would recommend applying a gradient that fades to transparent from the top and bottom on both the height and color maps so that you avoid getting scrunched up radial mountains and colors at the poles. The gradient should cover the top and bottom tenth of your image probably.

Yeah, I had an idea for how to do it later, unfortunately I still cant solve the part in my other post about kittopia not loading my terrain at all...

Share this post


Link to post
Share on other sites

Just a question; what's stopping someone from using the normal map that Space Engine itself is capable of producing? You can even see the tickbox for it in the screenshot included in the OP.

Nice tutorial, anyway. Figured I'd give it a shot :)

Share this post


Link to post
Share on other sites
Just a question; what's stopping someone from using the normal map that Space Engine itself is capable of producing? You can even see the tickbox for it in the screenshot included in the OP.

Nice tutorial, anyway. Figured I'd give it a shot :)

Yes, you can. I'll make a note of it.

Share this post


Link to post
Share on other sites
Just a question; what's stopping someone from using the normal map that Space Engine itself is capable of producing? You can even see the tickbox for it in the screenshot included in the OP.

It does work, but I've found it only applies to the planet being used only if the opacity is set to 50%. Even then the normal map is 'inverted," with the highest points of the terrain having shadows on over them. It's pretty minor, but noticeable if you take the time.

EDIT: Ninja'd! :P

Share this post


Link to post
Share on other sites
Yes, you can. I'll make a note of it.

Thanks for the answer :)

It does work, but I've found it only applies to the planet being used only if the opacity is set to 50%. Even then the normal map is 'inverted," with the highest points of the terrain having shadows on over them. It's pretty minor, but noticeable if you take the time.

EDIT: Ninja'd! :P

I'll be sure to look out for that.

Share this post


Link to post
Share on other sites

Hey, while I'm here I'd like to point out an absolutely astounding tutorial that allows you export textures higher than 4096! :D

Here it is.

It does involve some "deep computer editing," but trust me it is super easy and messing up is impossible. Plus I have not had a single problem with this computer ever since I made this change.

Share this post


Link to post
Share on other sites

Well, I have a planet, but it's having some teething issues (I don't think any of them are stemming from the tutorial you have here, though :))...

The immediately obvious one is that the wrong side of the planet is lit up:

MVKlioo.png

The one that you discover later on is even worse...

8susH9J.png

It had an identity crisis and reverted to Laythe, except I don't have oceans enabled on the planet, so the ship just went straight through the waterline.

Also, when using the ScaledSpace Updater (with or without the exporter), it reverts to a deformed, ocean-less version of Laythe:

bCUAoeR.png

Still, I'm surprised I got as far as this. I think I'll post this in the KopernicusTech thread as well, try and get some resolutions for these issues there, too (that is the KT development thread, after all :wink:). I also got some useful information from my testing; the atmosphere works as intended, and the transfer window between Kerbin and Kasimir isn't all that much different than between Kerbin and Jool...

Edited by RogueMason

Share this post


Link to post
Share on other sites

Ok, I've tried EVERYTHING I can think of, but I can't get the terrain of my planet to be anything but Tylo's. I've completely deleted all my CFG's, and then used ones from OPM's slate, just replacing the texture locations with my own, but still nothing.

@Kopernicus:AFTER[Kopernicus]
{
Body
{
name = Pactus
flightGlobalsIndex = 185
Template
{
name = Tylo
}
Properties
{
radius = 125000
geeASL = 0.2
mass = 3.6191e+20
tidallyLocked = True
description = Evidence suggests that Slate was very much like Kerbin until only a few hundred thousand years ago. An unknown cataclysm seems to have stripped the moon of its atmosphere and leaving nothing but a dead husk behind. Its vibrant yellow and brown color palette has inspired painters ever since its discovery, including the world-renowned Vincent van Kerman.
ScienceValues
{
landedDataValue = 11.5
inSpaceLowDataValue = 10.5
inSpaceHighDataValue = 10
recoveryValue = 10.5
spaceAltitudeThreshold = 216000
}
}
Orbit
{
referenceBody = Kerbin
color = 0.823529,0.705882,0.54902,1
inclination = 0
eccentricity = 0
semiMajorAxis = 1500000
longitudeOfAscendingNode = 55
argumentOfPeriapsis = 0
meanAnomalyAtEpoch = 1.1
epoch = 1343.91
}
ScaledVersion
{
Material
{
texture = Pactus/Textures/Pactus_map
normals = Pactus/Textures/Pactus_normal
}
}
}
}

// CustomData

Pactus
{
AdditionalData
{
Stock = False
AddAtmoFx = False
AddOceanFx = False
OceanLoadTextures = False
UnlitOcean = False
ModScaledAtmoShader = False
AddRings = False
AddParticles = False
DisableOrbitRenderer = False
}
PQS
{
PQSMod_VertexHeightMap
{
heightMapOffset = 0.0
heightMapDeformity = 10500.0
heightMap = GameData/Pactus/Textures/Pactus_height.png
}
PQSMod_VertexColorSolid
{
modEnabled = True
blend = 1.0
color = 0.01, 0.01, 0.01, 1.0
order = 999999
}
PQSMod_VertexColorMapBlend
{
modEnabled = True
vertexColorMap = GameData/Pactus/Textures/Pactus_map.png
blend = 1.0
order = 9999993
}
PQSMod_VertexSimplexNoiseColor
{
modEnabled = False
}
PQSLandControl
{
modEnabled = False
}
}
}

This is what I'm working with at the moment (these are the ones I pulled from OPM and tweaked after the ones I copied from the thread here didn't work) The Kopenicus config works fine, but I cannot get the Kittopia part to work under any circumstance.

Can someone PLEASE tell me what I'm doing wrong, I'm losing my mind here because everything looks right.

Share this post


Link to post
Share on other sites

So, apparently in:

PlanetTutLargeMoon

The "Planet" part is actually something that is an identifier to Kittopia, NOT part of the name you gave the example planet. So whatever you name the planet has to be Planet[Planetname] not just [Planetname] in the Kittopia file...

That said I've finally got gotten it to at least read the Kittopia file, though it still doesn't appear to be applying my heightmap, the colormap is at least being used now, so I guess that's a start. And even though it's not using my height map, it doesn't look like Tylo's either. (At this point it just looks like a completely random scattering of mountains)

This is the height map I'm trying to work with if it helps any: http://i.imgur.com/zl2cr19.png (Not asking if it's good or anything, I know it's not, I just want it to work period, once I can get one working I can work on making one better)

Edit: Ok, so upon more tweaking, it turns out the default VertexSmplexHeights values in the example are simply so large that they obscure any actual heightmaps you use. One I turned those down by several orders of magnitude I was able to start to see my heightmap appear.

I've still got a LONG way to go figuring out how to actually make a decent heightmap & texture, but at least I'e finally got them showing up in the game. For instance it seems like I need to greatly exaggerate my heightmap and colormap differences, the ones I made were way too blended.

Edited by Yargnit

Share this post


Link to post
Share on other sites
So, apparently in:

PlanetTutLargeMoon

The "Planet" part is actually something that is an identifier to Kittopia, NOT part of the name you gave the example planet. So whatever you name the planet has to be Planet[Planetname] not just [Planetname] in the Kittopia file...

That said I've finally got gotten it to at least read the Kittopia file, though it still doesn't appear to be applying my heightmap, the colormap is at least being used now, so I guess that's a start. And even though it's not using my height map, it doesn't look like Tylo's either. (At this point it just looks like a completely random scattering of mountains)

This is the height map I'm trying to work with if it helps any: http://i.imgur.com/zl2cr19.png (Not asking if it's good or anything, I know it's not, I just want it to work period, once I can get one working I can work on making one better)

You need to keep the other PQS mods after PQSMod_VertexHeightMap in my file in there otherwise they will be applied as default for Tylo. These mods produce noise, and in your case the noise is drowning out the heightmap. Try adding them back in at the end and setting the deformities low or disabling them entirely. I do not think you can disable PQSLandControl, it breaks lots of things when you do. Just delete that line from your file. Also, this shouldn't be a problem but just to be safe add modEnabled = true to your PQSMod_VertexHeightMap. In your Kopernicus file you don't need :AFTER[Kopernicus], it can just be @Kopernicus.

And make sure again that your texture is spelled correctly and is in the right place.

Share this post


Link to post
Share on other sites

So I'm making decent progress, what I'm trying to figure out how to do is how to make a really deep trench, while keeping most of the other heightmap fairly flat except for a few craters. The problem I'm having is I can't seem to keep the majority of the planet flatish once my heightmapdeformity gets to around 15000, even if the rest of the heightmap except for the areas in question only has very fine color differences. I've gone to this extreme: http://i.imgur.com/bTTcS1S.png and I still can't keep the light colored areas flat. Any suggestions?

Also, I don't suppose you can tell me how to fix this? http://i.imgur.com/HZrGoe4.png Specifically all of the blurring that happens at higher elevations when I attempt to make a very tall heightmap.

And this as well: http://i.imgur.com/CkAcATA.jpg http://i.imgur.com/yFC0PRN.png Basically I need a way to blend the slopes better, that is as fine as I can make the color gradients in photoshop. (IE, 71,71,71 to 72,72,72 RGB) But I don't know what setting in KSP to use to blend those. (I'm trying to make a planet with an atmosphere in the ring you see in the middle, but non atmospheric when you land outside the ring)

Edited by Yargnit

Share this post


Link to post
Share on other sites

I'm having some issues coloring the planet, whe you zoom in the texture has a very recognizable pattern which ruins the result, is this a limitation of ksp or is there a way to correct this?

and when you are a bit less zoomed in it looks strange, with different squares, not smooth but kinda pixelated

textures are 2048x1024

Javascript is disabled. View full album

Share this post


Link to post
Share on other sites

Ok, here is the longed gas giant tutorial...

Gas Giants

First things first: In the Kopernicus "Config" folder, create a new text document and name it the name of your gas giant, and change it's file extension from .txt to .cfg. Ignore any warnings. Open it up in any text editor and paste this code in:


@Kopernicus
{
Body
{
name = YourGasGiant // Delete this and enter the name of your gas giant.
flightGlobalsIndex = 951 // Type in any number that is not too high and doesn't conflict with other planet packs.
Template
{
name = Jool // Keep this as it is.Otherwise, your planet won't be a gas giant (duh)...
}
Properties
{
radius = 6000000 // Radius in metres. This number is Jool's.
geeASL = 0.8 // Gravity at sea level.This number is Jool's (Kerbin = 1)
mass = 4.2332635e+24 // Self-explanatory.This number is Jool's.
description = The description. // This text will appear in-game in the tracking station info.Delete this and change it to whatever you want.
ScienceValues // Put really high values if your gas giant is really far away
{
landedDataValue = 145
splashedDataValue = 1
flyingLowDataValue = 52
flyingHighDataValue = 40
inSpaceLowDataValue = 87
inSpaceHighDataValue = 59
recoveryValue = 7
}
}
Orbit
{
referenceBody = Sun // The body your gas giant orbits around.
color = 0.75,0.6,0.25,1 // Color of the orbit line (RGBA)
inclination = 1 // Self-explanatory, i recommend smaller than 4
eccentricity = 0.05 // Don't make it higher than 0.1, Jool's eccentricity is 0.05
semiMajorAxis = 21000000 // Mean distance of your planet from your parent body in metres.Note that everything is 10x smaller than real life.
longitudeOfAscendingNode = 0 // Change this if you want
argumentOfPeriapsis = 0 // Change this if you want
meanAnomalyAtEpoch = 0 // Change this if you want
epoch = 0 // Change this if you want
}
ScaledVersion
{
Material
{
texture = YourPlanetPack/Textures/YourGasPlanet //Change this to your file(texture) path. Don't include GameData.
}
}
}
}

Now run the game and go to the tracking station.You should see your gas giant.

When i have time, i will explain how to do custom colored atmospheres.

Enjoy ;).

Edited by Radon86

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