Normal maps are best exported using the KittopiaTech plugin. For height and color maps, you don't have to create them. KSP can also generate a planet without VertexHeightMap and VertexColorMap, those are not required. But if you want to make maps, Photoshop or GIMP will do just fine. There's no set of rules when it comes to making maps, and there are thousands of ways to do it.
use space engine, find your planet, use the planet export feature and leave only the surface, color, elevation, and normal checked if you export it you will have the 3 textures hope that helped :)
Using SpaceEngine is really, REALLY bad practice. Space Engine has it's own art style that clashes with KSP's. If people would start mass-producing planet packs relying heavily on Space Engine the forums would be flooded with planet packs that all look alike. That's why I never use SpaceEngine, or why I will never teach people how to use SpaceEngine to acquire textures.
Happy to help! The next video will be on gas planets though, followed by oceanic worlds, procedural planets and lastly, nice tricks such as custom science, surface and ocean textures, rings, terrain scatter, etc. I'm going to put everything I know into these guides.
Use GIMP. It's a free image editing software. Once you've downloaded it, load up your heightmap, then go to filters, then look for generic, and in there you'll find normal map.
Hi! This is a really old video, so please don't cringe too hard, but the video editor is good ol' Windows Live Movie Maker. For a text editor, I use Notepad++. It has many great features over the regular Windows notepad, such as automatic bracket completion and indentation, because Notepad++ is also a lightweight programming tool. Also, don't worry, I get a notification when someone leaves a comment. :)
@The White Guardian thanks i have nopepad ++ now but it wont work i type in everthing right but i wont work do you know any tutorials to help with this?
Why are there 4 color values? I get that 1 is red, 1 is blue, and 1 is green, but what is the fourth one? Everywhere I look I see hue, saturation, and lightness listed as values as well, but how do any of these impact that fourth number? Is it one of them? Is it all of them combined in some weird way?
Add a Ring node. Basically add the following code directly in Body{} Rings { Ring { texture = X innerRadius = X outerRadius = X angle = X color = 1,1,1,1 lockRotation = true unlit = true } } In which 'texture' is a filepath to your ring texture, 'innerRadius' and 'outerRadius' determine the placement of the ring, I don't know what unit of measurement KSP uses for this, try 1500 for the innerRadius and 2500 for the outerRadius then experiment further. The angle is simply the inclination of the ring relative to the planet's equator. Since the 'color' doesn't really work that well, try coloring your ring texture in advance.
Idk if you still respond but i made everything like in video but when i load to game it says "kopernicus was not able to load custom planetary sytem..."
Ok cool video and you derserve to have more focus,but i have questions about this: 1:Can we delete biomes or did you have a link for explain how to create biomes? 2.If we remove PQSMods,did the "heightmap" still the same of the Height texture? 3.How to define sphere of infulence? 4. Can you do more video of creating things with kopernicus,like biomes,rings, how to delete the solar system,etc...
Thank you! 1. Biomes are already explained in a guide written by me over on the KSP forums, but will be explained in a video as well. 2. I'm not entirely sure what you mean by that, can you elaborate a bit more? 3. In 'properties', write spehereOfInfluence = (SOI in meters). However, the SOI is calculated automatically by mathematical equations. The heavier and the further an object is from it's parent body, and the lower the mass of this parent body, the bigger the SOI will be. 4. I have no intention of stopping anytime soon! :) Deleting planets is easy though, just write !Body[PlanetName] followed by an opening and closing bracket, like {}, each on a separate line, and the targeted planet will be destroyed.
I've tried to follow this guide as closely as possible, but when I start the game it gets stuck on a black loading screen before reaching the title screen. do you know what the issue might be?
WARNING! im going to ask a very stupid question here so bear with me and i apologize in advance do i need a specific program to write the lines of code into, or can i just use something like notepad++?
Regular Notepad can do the job, but Nodepad++ will make the job so much easier that it's probably the ideal program for the job. (In fact, in the video Notepad++ is what I use to write the code in.) For example Notepad++ highlights bracket pairs so you can easily check if stuff is opened and closed correctly. To safe as a config file all you need to do is add .cfg to the filename when you save it. Also, stupid questions do not exist. XD Besides, it's better to ask questions than to dive into the process head-first while there are things you don't yet understand.
ok so ive gotten it to load into the game (i exported some random textures over from space engine and got rid of the biome map to get it all working) but now its not showing up in the game, the log says that it loaded fine but the game doesnt appear to be reflecting that
Is there like a format that you can copy and paste in it to be a little easier for you and you just have to edit the numbers and stuff? And where do you go to get Kopernicus?
I'm not sure what you mean by 'close up terrain', can you be a bit more specific there? As for the biome map, that'll take some good ol' handwork I'm afraid. Load your planet's textures into an image editor and start painting splotches of a solid color. Then, you can link that color to a biome definition.
@@TWGuardian No i mean when you are close up the terrian become more detailed and the biome texture mean when you are close to grass land the ground texture is grass but when you are in dessert the ground become sand
@@NUL-SIL Subdividing the terrain to make it more detailed is something that KSP does automatically. You can set the minimum and maximum amount of subdivisions but beyond that, it's up to KSP. Defining the textures that the terrain renderer uses is done through assigning a PQS Material. The biome map actually doesn't influence the terrain texture-wise. To change the terrain textures (which can vary only by altitude currently) you change the PQS Material. Here's an example that I pulled from an old mod (not mine): github.com/KillAshley/UL/blob/master/GameData/UnchartedLands/KopernicusFiles/Kerbin/Minmus.cfg Note that under the PQS node there is a Material node. Therein you define which textures are applied to the terrain at which altitudes, and the altitudes limits for these texture layers. For example: highTex = BUILTIN/ice highBumpMap = BUILTIN/bouldernormal highNearTiling = 3000 highMultiFactor = 5 highBumpNearTiling = 30000 highBumpFarTiling = 30 In this case, highNearTiling and highFarTiling define how many times the texture is repeated. The higher this number, the smaller the texture. The near-far structure means that further away, the texture is scaled less, so the texture becomes less repetitive. What MultiFactor does, I actually don't know. Next, note: lowStart = 0 lowEnd = 0.35 highStart = 0.7 highEnd = 1 These describe normalized altitude, IE where 0 is the lowest point on your planet and 1 is the highest. Here, the planet has the 'low' textures between 0 and 0.35, after which it blends into the 'mid' textures, and then finally from 0.7 onwards the 'high' textures.
@@TWGuardian How about ocean.i want to add ocean to my planet but i don't know all psq mod and when i write remove all psq mod true but i want the ocean to exist on my planet.
I know this video is 8 years old, but is kopernicus the right mod to "edit" pre existing planets? I had a silly idea to give the Mun a small atmosphere, but I cant find any info on doing that.
@@toasty_7233 it can do that, yes. Apologies, my tutorials are outdated and incomplete and due for a full rewrite. If you have Discord, there is a server specifically for kopernicus modding where myself, the devs and many other planet makers can answer any question.
@@TWGuardian Ok, I guess I would have to ask there, I’ve never done anything with Kopernicus before so this is a huge help, thank you! Where would I find this kopernicus discord?
You wrote this comment with a TH-cam account. Let's use that as an analogy to the Body object in the video there. In programming lingo, 'Body' there is a _structure_ and things like 'name' and 'cacheFile' are _fields._ Now think of your TH-cam account. Your account is a _structure_ and your username is a property of that structure. So you could represent a TH-cam account in data as some object that has a username, a password, and a profile picture. Similarly, 'Body' there is an object that has a name. Does that make sense?
so I made a planet which worked just fine, but now it's moon has lots of issues. The bright side isn't facing the sun, it occasionally disappears and doesn't have a surface for some reason. i previously made the moon an Ocean planet but the ocean wasn't showing (though it was there) the ground also disappeared, the oceans and atmosphere werent shown correctly. The Version of kopernicus I use is a new install, it works great for planets but not for their Moons. The Old install had the same problems. what could be the Problem?
So, this requires a bit of knowledge as to how Kopernicus works. When you start up KSP, Kopernicus deletes the planetary system, and then rebuilds it from scratch. By default, it perfectly reconstructs the stock system. It does this by using the built-in configuration of each planet. If you want to modify Jool, then you want to edit this built-in configuration for Jool specifically. In this video I show how to create a new planet, but you can also modify one. To do this, instead of creating a blank 'Body' node, write @Body[Jool] The @-sign tells KSP that you're modifying an existing node, and the block marks tell KSP that you're modifying Jool's node specifically. You need to repeat this pattern for every node that you intend to modify. If you want to modify a value, I used to prefix it with a % sign, to hint to KSP that I'm updating an existing value instead of adding one. Note that if you want to _add_ a node to Jool's config, then don't prefix it with an @-sign. For example, if you want to change Jool's in-game description, your script will look like this. @Kopernicus:FOR[JoolMod] { @Body[Jool] { @Properties { %description = That is one big space goober. } } }
In case it's useful, here is an old archive on the Kopernicus GitHub that gives the built-in configuration for each planet, exported using Kittopia. github.com/Kopernicus/kittopia-dumps/blob/master/Configs/Jool.cfg Bear in mind that Kittopia exports _everything_ it sees. Don't copy these templates one-to-one. For example, you can only define mass, geeASL OR gravparameter, and not some permutation of them. The other two are calculated internally.
Great video but I got a question, how does maps work? I know that normal maps kind of decides where the land bumps up or not. But then we have Height, map & color. What do they really do? Thanks
- Color map: The computer reads the pixel data, more specifically red, green, blue and alpha (transparency). Red, green and blue are used for painting the terrain in a specified color, while the alpha (transparency) is used for how 'shiny' the surface is. - Height map: VertexHeightMap reads the map data, more specifically it reads all the pixels, but it takes the 'PixelFloat'. Ergo, the whiteness of the pixel. This value can be anywhere between 0 (pure black, ergo 0,0,0,255) and 1 (pure white, ergo 255,255,255,255), then multiplies it by the 'deformity'. Thus it scales the deformity by the whiteness of the pixels. I hope that makes sense. - Normal map: Normal maps tell Unity to make 'light anomalies'. Ergo it adds lighting for geometry that doesn't actually exist. The shadow angle and effect makes it seem like the geometry is there. Game designers use normal maps to add minor details to models to make them less hard to render. For example, if you ever played Overwatch, when you hit something with a meelee attack it often leaves a dent. This dent is a normal map.
Can someone please tell me what I might have done wrong? My moon works just fine anywhere now except From far away because the bright side is ~90° offset :(
I just told you man. Save the normal map in the proper FORMAT with Photoshop/GIMP, or better, use KittopiaTech to export the maps of your planets plus the PQSMods you added.
The White Guardian well I was asking about how kittopia works, but doing it with Gimp also works I guess. But what does kittopia do that it is so great?
1. How to create an ocean: Add an 'Ocean' node to your planet's node. The Ocean node's layout is largely the same as that of the PQS node, because an ocean in KSP is essentially a second procedural quad sphere. You can see an example here. github.com/KillAshley/UL/blob/master/GameData/UnchartedLands/KopernicusFiles/Laythe/Laythe.cfg As you can see, oceans, too, have a Mods section, where they use PQS mods. These PQSMods however are more with the intention of stylizing the ocean rather than animating it. AerialPerspectiveMaterial can make the tiling look a little prettier from afar, but the main mod - the one that should ALWAYS be present for oceans, is OceanFX. In the OceanFX node there should be a WaterMain node, where you define the textures that KSP will use for your ocean. As you can see in the example I linked, you can also use KSP's own textures. The Fog node in an ocean node defines the properties of the volumetric fog that you see when you dunk a camera underwater in KSP.
2. How to support scatterer oceans. A scatterer ocean is essentially an object separate from KSP's ocean. Scatterer hides KSP's ocean by preventing it from rendering, and instead renders its own ocean object. You can see an example here: github.com/Galileo88/Galileos-Planet-Pack/blob/master/GameData/GPP/GPP_Scatterer/Planets/Gael/ocean.cfg The first node in this config isn't too interesting for us, it's a compatibility patch. The second one is what you're looking for. Note that it defines a new Ocean node with a set of properties. I'll discuss the most important ones briefly. Name: the name of the celestial body that this ocean should be applied to. m_whiteCapStr: controls the amount of foam as a result of collapsing waves. shoreFoam: controls the amount of foam as a result of waves crashing against a surface. m_farWhiteCapStr: allows you to scale back the amount of visible foam when looking from a distance. This makes distant ocean surfaces appear less white and makes the colors stand out more. AMP: the amplifier for the oceans. Defines how strong the displacement is. m_windSpeed: the higher the wind speed, the faster the waves. m_oceanUpwellingColor: worded a little strangely and used a bit awkwardly but it largely defines the water color. m_UnderwaterColor: similarly to the Fog-node in your planet's config file, this value defines the color of the volumetric underwater fog. m_resolution: allows you to offset quality versus performance. The higher the value, the better the result looks but the more intensive the computations are. oceanScale: allows you to offset the ocean with respect to the ocean collider. It's best to leave this alone. transparencyDepth: defines the intensity of the volumetric fog in terms of the maximum distance that one can see through the water. darknessDepth: deep oceans are generally very, very dark. Scatterer's oceans also simulate this effect, and this parameter gives you control over the depth at which the ocean should be really dark if underwater. Essentially if you were to dive to this depth, then almost all natural light will have filtered out at this point. refractionIndex: when light traveling through medium A enters medium B, it may change direction slightly. This process is called refraction, and the amount by which the light ray shifts depends on the relative refractive indices of the two mediums. In this case, the atmosphere will have a refractive index of 1. You should now define the refractive index of your water, which will define how your ocean will refract any object that you can see beneath the water surface. Note: water has a refractive index of approximately 1.333
1. There is no such thing as a 'coding menu'. Code is written in text editors. Something as basic as notepad will do. In that video I'm using a program called Notepad++, and nowadays I would use Visual Studio Code. 2. What you're seeing there isn't computer programming. You're seeing a configuration. A planet configuration file is a description, not an instruction. You're explaining to KSP what properties the planet should have, but you're not writing the code that KSP will execute. 3. Calm down.
Hey Guardian, I followed the video and made a titan analogue for my new gas giant Surla. However, when I zoom in on the planet there is an incredible shininess to it like it is made of ice. Do you know what would be causing it? Thanks.
I'd guess it to be related to the PQSMaterials node. You see, the PQS node stores ALL data for the planet's surface. It contains a number of subnodes, some related to how the surface behaves in a physical sense (how slippery it is for example), some related to the deformation of the terrain (PQS-Mods), and some related to how the terrain looks (PQS-Material) Try adding the following directly inside the PQS node: Material { saturation = 1 contrast = 0.5 } You may have to tweak the values a little to make them work right, but this should reduce the amount of effect light has on your planet.
I use Notepad++. To be honest I don't really understand your other question - I just use the TAB button on the keyboard to move code left and right. It's not a requirement but it helps making the config easier to read. Here's what I press when I write Body{} Body (enter key) { (notepad++ automatically adds the closing bracket behind my cursor) (enter key twice) and I end up with Body { }
Ok I did all the steps and I put it in my game data folder but it's not in my game and this happens with all planets that I download even so I need help I'm such a noob and I suck at this stuff
In your KSP directory, there should be a folder named 'logs' now. What's in this logs folder depends on the version of your KSP, in older versions it contains files, every file has a name of one of the planets, followed by the filetype extension '.body'. These are log files Kopernicus generates for every planet upon starting the game, they are generated when the loading screen switches to the main menu. In newer versions of KSP, the logs folder will contain a folder called 'Kopernicus', and inside this Kopernicus folder should be the .body files. These files aren't only used for debugging and as logfiles, they're also extremely handy for modders: if a planet doesn't load at all, or doesn't load properly, the .body file should stop at a certain point with an error. This pinpoints the exact location of the error within the config file of a planet. But yeah, if there's a logs folder you've probably installed Kopernicus correctly. Try running a planet pack, if it shows up you've likely done things right ;) If you haven't installed it correctly, let me know, I'd be happy to help.
Aye, then something is definitely wrong. I'm going to need more information though to be able to help you effectively. Could you upload the config file you wrote somewhere? Pastebin for example?
+Ender Dragnell Okay so first off, I noticed that you have a FlightGlobalsIndex, I recommend decreasing the number or just get rid of it entirely, it causes quite a few problems if not done correctly. Second, make sure to write FOR instead of AFTER, I recommend using AFTER only if it's directly linked to Kopernicus., so instead of @Kopernicus:AFTER[New_Horizons], it should be @Kopernicus:FOR[New_Horizons] Third, make sure that the biome alphas are all the way up to 255 (or 1.0 in this case) if they're transparent, the biomes won't work and that would cause your planet to not load. Fourth, the planet is going to be orbiting inside Moh, so make sure to add another zero or change the one to something higher than three at the least. And last, your deformity is off the charts. It'll look like a firework and a hedgehog had a baby if you keep it at 600,000. Lower it to 600 or 6,000 if you want to keep it stable
I actually made the height map incredibly smooth. The goal was to make it severely warped by tidal forces and extremely fast rotation. Other than that, okay.
I know, it's quite a difference from the color format used by software such as GIMP, Photoshop and Paint(dot)NET. I'll try to explain it as best as I can. Every pixel on a monitor is split up into three parts: a narrow light that shines in red, a narrow light that shines in green and lastly a narrow light that shines in blue. Each pixel on a digital image has a value for each of these three colors, the so-called 'color channels'. For GIMP, for example, a pixel on an image can be colored as 172,150,200; In that case the value of the red part of the MONITOR pixel is 172, the value of the green part of the MONITOR pixel is 150, and the blue part of the MONITOR pixel is 200. Kerbal Space Program was made in Unity, and what Unity has in common with most game engines is the fact that uses a 'floating point number format' instead of the 'integer format' used by image editors. A color in GIMP or Photoshop can be 51,102,51 but in Unity the exact same color would be 0.2,0.4,0.2 Unity basically works in percentages. Therefore you can use the following equations to convert between color formats: Editors -> KSP K = E/255 KSP -> Editors E = K*255 Note that you have to divide or multiply each channel. Let's take the previously mentioned color, 51,102,51 as an example. Red: 51/255 = 0.2 Green: 102 / 255 = 0.4 Blue: 51 / 255 = 0.2 Therefore the corresponding color in Unity is 0.2,0.4,0.2 I hope that makes sense. :)
I'm no expert at that, but it requires the Particles{} wrapper directly in Body{} The code: Particles { Particle { target = [Object that you want the particles to move to or away from. Set it to the planet itself if you want the particles to float around the planet] texture = [filepath to the particle texture] minEmission = x maxEmission = x //These values create distortions in the amount of partciles generated per second, so instead of a constant stream there can be more or less particles generated. lifespanMin = x lifespanMax = x //These values create distortions in the amount of time that a particle remains active before it is destroyed. Setting these to 1 and 3 means that the particles exist between 1 and 3 seconds. sizeMin = x sizeMax = x //These generate the size of the particles. Setting these to 1 and 3 for example generates particles with a size from 1 to 3. speedScale = x rate = x randVelocity = x,x,x //Not sure what these do. force = x,x,x //The first number is your left/right force, the second number is diagonal and the third is up/down. Basically vectors. Colors { color1 = x color2 = x color3 = x color4 = x color5 = x } //This creates a color gradient for the particles. Color1 is the color that they have when generated, and as they move to the end of their 'lifespan' they gradually shift to color2, color3, etc until they reach color5 before they are deleted. } }
Well, part of it is. But luckily Kopernicus keeps track of what it does when it is loading up your planet, so you can see where the issues are. In your KSP directory, go to Logs -> Kopernicus and there should be a log file with your planet's name. Check in there for any weirdness. :)
@@DebatableSnowman The last thing I type is adding the VertexColorMap mod. All that this does is setting the terrain color based on an image. It's generally not great practice since even at 8k images (which will eat a lot of RAM, btw) there are going to be more vertices than there are pixels. You're generally better off using procedural vertex coloring because they use way less RAM. Examples are HeightColorMap and ideally LandControl. For example, LandControl is the mod that Kerbin uses for its colors. If you want to go a bit more in-depth about what exactly PQSMods are: when you get near a planet in KSP, the game will start generating the terrain. The terrain is going to be a grid of points between which the game renders squares or 'quads'. Hence the term 'PQS' or 'Procedural Quad Sphere', since it is a procedurally generated sphere of quads. For each of these points, KSP loops over all 'PQS Mods' or 'procedural quad sphere modifiers'. These are sorted based on the mod's 'order' value, and mods that have 'enabled' set to 'false' are ignored. With these filtering and sorting criteria applied, each mod is applied in order. Typically PQSMods target two parameters: 'data.vertHeight': the vertical height of the terrain point. Modifying this changes the terrain altitude. Example mods are VertexHeightMap, VertexHeightNoise and VertexPlanet. 'data.vertColor': the color of the land at this point. Modifying this changes the per-vertex color of the planet surface. The GPU then, when rendering a pixel of the terrain, interpolates between the colors of neighboring terrain points. Example mods are VertexColorMap, HeightColorMap and LandControl.
Hi, I have installed Kopernicus into the GameData folder, and have created a .cfg file and used the coding from this video, But my question is where do i save this .cfg file with KSP/Gamedata? Ive also downloaded files from other people and copied into KSP gamedata, but i can't seem to get see any changes within KSP Please can someone help me??? I need a guide from install of Kopernicus to crating a new planet and seeing it within KSP.
Please do not doublepost, see the answer I posted on the third installment in this guide series. Otherwise you'll also get multiple answers. Trust me, I'll get a notification when a comment is posted, I'll get to it.
When it comes to how to do this with stock: don't know, honestly. Try creating a gradient in a program like GIMP and set it as the target atmospheric color ramp and see how it fares. As for scatterer: for that you need a separate program released and maintained by the author of Scatterer. When in the small Unity program, just mess with the settings until you get something that looks right. The settings in this program for the most part also correspond to the settings in the final Scatterer config file. The program also allows you to export the .half maps that scatterer needs.
@@NUL-SIL Did you not read my comment? Because I've already told you: - For atmospheric color ramps: use a program such as GIMP/Photoshop and the gradient tool. - For Scatterer: use a custom, specialized program provided and maintained by the author of Scatterer.
ModuleManager is in charge of feeding the config files to Kopernicus, and it only searches inside the GameData folder. Therefore make sure the config files of your planets (as well as the textures they link to) are inside the GameData folder, and you should be good to go. :) (Tip: it's best to store all the data of a planet pack in a folder dedicated to that planet pack. Like how OPM does it: the OPM folder is inside GameData so it is loaded by ModuleManager, while at the same time holding all of the data that the mod needs to function)
i don´t make planets in ksp, but the hardest part is making the transition between how it looks from far awy vs how it looks from under 300Km, there is a mod called "Xamion, a panet far beyond eeloo" and, sure, it´s 8 billion Km orbit is far away, but the tansition makes the land and ocean switch. a.k.a. it´s not made right
Is there a source for how to make the .dds maps? I'm completely new to this and don't know how to create each map, let alone make .dds's Any help? I was also looking through the other videos of yours and the closest was the "how to draw planets with gimp" but I still don't know what to do for it.
Ive just tried this recently, and little to none of it works, what’s that piece of code you put at the end? You blurred it just enough you cant see any of the values?
"Ive just tried this recently, and little to none of it works" 1. This video is five years old, so things might have changed. 2. Check your planet's log files to find the error. Might be a typo, or some feature has been altered, or perhaps KSP can't find some file that you link to in your config. 3. You can follow example code to the letter and stuff can still go wrong. Again, check the log files, you can see there what issue Kopernicus has with your planet(s). "what’s that piece of code you put at the end? You blurred it just enough you cant see any of the values?" The mod that I set up while fading out was 'VertexColorMap'. It's hardly configurable, all it does is set the terrain color using an equirectangular planet map, and the other two values are 'enabled' and 'order', as usual. The values simply aren't important with that mod; what matters are the contents of the file that you link to with the 'map' parameter. I like the accusations there though. :/
@@TWGuardian sorry if i seemed rude, but i saw something about you taking the Ike texture, then later on it talks about some of the things like ExamplePlanet/Plugin/exampleplanet_dds. Does that mean i need to make an external texture, and does it require anything like making extra folders?
@@TWGuardian ( i didnt mean to accuse you, the video has definitely helped with my quest onto learning how to edit planets, just a little confused around some areas)
@@Trashiok It depends. You can make a planet from textures, or you can use procedural noise. In mathematical terms, every PQSMod is some function that takes a position on the planet and modifies the properties of that position, for example the distance to the planet's center. These needn't be maps, you can get away entirely by using procedural noise, but maps combined with artistic skill do often give the most unique looking surface features, because reality is too complex to be simulated by noise alone. If you are making a planet procedurally, you can use the Kittopia feature in Kopernicus to export color & normal maps for ScaledSpace. As for where you should store your textures: Kopernicus has an amazing feature called 'OnDemandLoading'. It ensures that KSP only loads the planet maps that are actually needed at that moment, otherwise a lot of RAM memory gets wasted on storing textures that aren't actually used by anything. For example, there's no point in storing Eve's height map when you're on Kerbin, since Eve's terrain isn't being processed. Nothing needs Eve's texture, and with OnDemandLoading, KSP unloads it. To make sure that your planets use OnDemandLoading, you need two things: 1. Place your planet maps in a folder called 'PluginData'. 2. In your config files, expand the filepaths to include the filetype extension ('.dds', '.png', '.jpeg', etc) And that's all there is to it. The first step prevents KSP from loading the texture, and the second step allows Kopernicus to manage the texture on its own.
@@TWGuardian I’m assuming to use Kittopia, you need to be in game right? Other question how do i know if the lines of code have worked, does it *have* to require using kittopia to show some signs of change?
Two things: One, I use different musics so I can't possibly know which one you mean with "what music is this". Two: I list the musics I used in the credits at the end of the video, so please watch the whole video before asking, you've already got the answer. Please be more specific next time you ask someone for the name of the soundtracks they used, because right now I can't help you. So, at what time during the video does the soundtrack that you want the name of play?
After the first 3 minutes with no hint of the music used figured you just forgot to mention it, and with no interest in the video it was easy to miss it in that wall of text at the end. I mean who would list the music used in the description of the video? Had me thinking it was just one song.
Could be that it is, but not where you'd expect it to be. Check in GameData/Kopernicus/Cache. If it's there, then you need to add some extra code: Debug { exportMesh = true update = true } This code goes directly inside Body{}, just like Properties{} and Orbit{} do.
It works now, the bin file gets generated in the custom filepath. But I am getting a bug described here: forum.kerbalspaceprogram.com/index.php?/topic/142520-making-planets-with-kopernicus-video-guides/&do=findComment&comment=2986827
Can you elaborate? I have no idea what you mean by 'first step'. If you mean my screen layout - I code in Notepad++, with regular notepad opened to the side for text overlay.
You don't 'open' Kopernicus. You install the Kopernicus plugin then just write the config file of the planet. You can do that without Kopernicus, the only thing you need Kopernicus for is getting the planet to load in-game.
@@theburgerbox9576 M-hm! I don't make videos much anymore, but I'm still very much active on here, and on the Kopernicus Discord server, too. And secondly: jazeker! Thought it'd be a fun way to answer your question.
On startup, the GameData folder is searched for assets to load into the game. It therefore does not matter where you place the scripts, so long as they are inside the GameData folder. It's probably best to make a folder inside GameData, name it after your mod, and store all of your mod's assets in that folder, as it keeps everything nicely organized.
That's madness! Sorry, but I'm not gonna spend 5 hours of my time writing a config of more than 1000 lines, of which only a tiny part will ever be used anyway. Besides, if you want a planet, you gotta write the config. It's something we all have to face.
I'm not sure if you still reply to comments on your videos(considering the fact the last video was 4 years ago) but I have some questions 1:Where do you put the planet's data?(The notepad++ file) do you put inside the gamedata or inside the Kopernicus folder itself? 3:Will you make a new tutorial that is updated? Since I'm pretty positive that much has changed, thanks for reading
1: anywhere inside the GameData folder. That folder and it's sub-folders are searched by the game on startup. Kopernicus then activates and processes your config files. 3: Not right now, I've been immensely busy as of late. My schedule will clear up a lot in a few months though, I'll start working on some new stuff then.
@@TWGuardian Thanks for the response, I forgot to remove the 3 because originally there were actually 3 questions, not just 2 the second question would just ask if I were to use Visual Studio instead of Notepad++ But Decided to remove it because for a reason I had forgotten also quick tiny question, what did you use to create a material for a Celestial Body?
@@locustthelorde8225 A material? What do you mean exactly? Because in the context of unity engine a material is a reference to a shader plus settings for using that shader.
Hello,i wanted to make my own planets for the first time and i have no experiance in coding whatsoever.I have a few questions,1.will this tutorial work for ksp 1.12? 2.What about planetary textures ? Do you just need to put the values and the textures come in place or what?
"i have no experiance in coding whatsoever" No problem! :) Planet making is more like setting parameters than it is programming. You only really need to know programming if you feel the need to write your own custom PQSMods. "1.will this tutorial work for ksp 1.12? " Theoretically it should work. I don't recall any changes having been made to the underlying planet system. At worst some names might have been changed, but most of it should still be the same. "2.What about planetary textures ? Do you just need to put the values and the textures come in place or what?" Right, so, first I need to clarify a distinction here. KSP has two 'modes' for rendering planets: 1. The 'procedural quad sphere' or PQS. This is the high-detailed, procedurally generated planetary surface that you see in low orbit. 2. The 'scaled space', which is a low-detail static sphere that acts as a stand-in for your planet at great distances. If you go into map view, everything is ScaledSpace. When you get started, don't worry about ScaledSpace. The ScaledSpace variant of your planet will look like the template you chose, but don't worry about that. First concern yourself with making the procedural quad sphere (IE your planet's true surface) look magnificent. In other words, concern yourself mostly with everything inside of the PQS{...} node. I recommend creating a PQS setup that you think should look alright (either with textures or without), and then tweaking it in-game using Kopernicus' Kittopia feature (CTRL+P if memory serves). Mind you, Kittopia does not actually modify the file on the disc. If you want to save any changes, have Kittopia export the planet's current config and then, and this is really important, selectively copy the changes you made. DON'T COPY THE EXPORTED FILE ITSELF because it tends to be finnicky and contains a lot of extra data. Once you're happy with how your planet looks up-close, Kittopia has a nice feature where it can export your planet's maps at any resolution you like. Use this feature to obtain the color and normal map files for ScaledSpace.
@@aniketchafekar4117 Configs ought to be written with curly braces, not brackets. Replace '[' with '{' and ']' with '}', then see what happens. If it doesn't work, Check [KSP Directory]/Logs/Kopernicus, there should be a log file there for your planet that talks about what went wrong while processing your planet.
can u make me a planet plz, an icy one. something like Mann's planet from interstellar. Search it up. Thx so much. if u do make it. my skype is kiwiboy2004. Thx
Sorry to bother you again, but I'm making an ocean planet and the oceans don't show up in map view. Or in high orbit. It just shows the color map beneath the oceans.
Do the oceans show up when you land? If not: try lowering the 'offset' value in VertexHeightMap until the ocean is where you want it. Negative numbers also work. If yes: could be that a re-export is required. If that doesn't fix it send me the codes and I'll take a look.
The oceans do show up when I land, but when I zoom out the oceans seem to get replaced by my scaledspace texture. I'll try re-exporting the color map, see if that helps.
I really like your video and Bove Maverick is right, u need alot more attention. I have seen videos taht are not easy to follow but urs makes it easy. But i hav a question. Where do i write all this? u never mentioned it. But if u did, soz i wasnt paying attention. But can u just tell me thnx
I need some help, i'm sure i got the commands right, but it shows an error for my planet Command for Planet : pastebin.com/fx9ed8XU Error : pastebin.com/KErDRM9T I apologize if i wasted your time, Guardian, in fact, i'm not 100% sure if you'll see this or not NRC
I'm always happy to help, and I'll do my best to answer any question. First off, thank you for including the .body file, I wouldn't have found the problem otherwise. The problem seems to be the normal map somehow, can you check the filepath? It literally reads: [LOG 02:03:03]: Parsing Target normals in (Kopernicus.Configuration.ScaledPlanetSimpleLoader) as (Kopernicus.Configuration.Texture2DParser) [LOG 02:03:03]: Exception Was Recorded: Object reference not set to an instance of an object at Kopernicus.Utility.LoadTexture (System.String path, Boolean compress, Boolean upload, Boolean unreadable) [0x00000] in :0 I have a gut feeling that Kopernicus either can't find or read the texture. What file format is it exactly?
I checked the file, it's a .dds like it should be unless I may have used a jpeg or png and converted it to a .dds. I found it strange that it opened up in MS paint :/.
AHA! I just realized something. Since it originated as a PNG i think that since I've literally done everything with the normal in MS Paint including typing it in as a .dds, Kopernicus doesn't recognize it as a .dds. I originally used this :cpetry.github.io/NormalMap-Online/ but that only does .jpg and .png, can you recommend another program besides photoshop that may work?
Sorry for being late with this, as TH-cam gave me no notification I wasn't aware of this comment's existence. Anyhow, GIMP is a free option. It has a third-party normal map plugin that can convert heightmaps to normals and a DDS plugin that allows saving under DXT5_nm, what you're looking for with normals. Color and Biome maps: DXT5 compression Heightmaps: no compression, set the format to L8 Normal maps: DXT5_nm compression
No worries! I'm a pretty patient guy myself and I have GIMP, but I didn't know you can do that stuff. Maybe the fault was paint.net which does save it as a .dds, but it says it's a "paint.net doc" So maybe that's it. Thanks for the tip :) Edit: I didn't see this comment until roughly two weeks later, so I can why Google is lax
im so fucking noob in this, i make the .cfg file i need to add textures or something more?¿ i put the .cfg file in gamedata folder but i cant see the planet
+Hazeukpro Tutorials/Games That, is not true. You can make planets without any kind of texture used. Check out this planet pack for example. forum.kerbalspaceprogram.com/index.php?/topic/120111-13kopernicus-uncharted-lands-v053-02jun17/ This pack uses no external textures at all. +SirNoobly If the planet does not appear, that means that there is a loading issue for it. If you can provide me with the config file used, then I can check it for errors.
Calm down please. Check your planet's logfile in Logs/Kopernicus. There should be a file there with your planet's name and with the extension '.body'. Check in there for errors. What you are describing sounds like a texture loading issue. Try the following: 1. Check every filepath for typos. These are case sensitive. 2. Place your planet maps in a folder named 'PluginData'. 3. Add the filetype extension (.dds, .png, .jpg, .jpeg, .tiff, etc) to the filepaths that reference files that are in a folder named PluginData.
What do you mean, 'what to do before coding'? The coding is the part people find nebulous. Making textures for example is an artistic process for which everyone has their own technique. And whatever was still unclear about the process, you could've just asked me here. With that hostile attitude though, I don't see why I should care. Apologies for not explaining to you the steps all the way from 'turn on your computer' I guess. Side note: 'I'll die two hours shorter'? Are you blaming me for the fact that time exists? As if you wouldn't have aged if my video was 'better'.
@@LowerBudgetOppenheimer Thanks for the apology. I'll clarify: on my screen, I have Notepad++ and regular Windows Notepad. You don't really need a special program, just any text editor. The reason why I used Notepad++ is that it has a handy tab feature and syntax highlighting. Nowadays I would use Visual Studio Code, because it can open any folder as a workspace. A .cfg file is itself nothing but a text file. It's not really a script file either. It's a configuration file, hence the extension 'cfg'. When Kerbal Space Program launches, it automatically scans the entire GameData folder for assets to import into the 'game database'. This is where KSP imports stuff like part mods: it detects and imports the part's models and textures, and it also imports the .cfg files, which tell KSP how all of these parts' assets work together. Kopernicus works a bit differently. When KSP starts, it loads the Kopernicus source code. Kopernicus then deletes the planetary system and rebuilds it from its own .cfg file. Any planet mod's .cfg files are actually patches made to the Kopernicus config file. That is why that first line is so important: '@Kopernicus:AFTER[Kopernicus]'. The @ symbol tells KSP that you are modifying the Kopernicus configuration, and 'AFTER[Kopernicus]' tells KSP that it should first import Kopernicus itself. After all, otherwise it won't know what you're attempting to modify. Within the '@Kopernicus' node, you define your own planets. When the game launches, it takes Kopernicus' configuration file, and applies the changes that you made. This can range from modifying or deleting a stock planet, to defining entirely new planets. Kopernicus then builds an entirely new planetary system in accordance with this config file. It is possible that, for some reason, Kopernicus is unable to create a planet from a config definition. In this case, there is some problem with the configuration of that celestial body. To help you with diagnosing issues, Kopernicus also maintains logs for all planets it processes. In your main KSP directory (the folder wherein the KSP executable is located) look for the folder 'Logs'. Inside will be another folder, 'Kopernicus'. In there, Kopernicus has separate folders, one for each celestial body that it ought to process. Look up your planet's log folder. If it doesn't exist, then KSP didn't pick up on and apply your config file. If this happens, then make sure that the config file has the .cfg extension, and that it is not, be it directly or indirectly, in a folder named 'PluginData', because when KSP scans the GameData folder, it doesn't look inside folders named 'PluginData'. At this point, you might wonder: why, then, did I, in the video, write out filepaths for planet textures that are placed in a PluginData folder? Well, you generally want your planet textures to be in a PluginData folder inside of GameData. This prevents KSP from loading it. This is because planet textures are quite large, but you only rarely need them. Only a handful of planets are going to be visible on your screen. There's no point in keeping all planet textures in memory. That's why Kopernicus has a feature called 'on-demand loading'. To use it, you only need to place your textures in a folder named PluginData (to prevent KSP from permanently loading it in memory), and add a file type extension to the filepath, because otherwise Kopernicus can't find it. But back to the log files. If your planet does have a log folder, then that means that KSP detected your config file, and injected the changes into Kopernicus' configuration, as it should, but there was some error in the file that prevented Kopernicus from acting on it in a meaningful way. Inside of your planet's log folder, there will be a log file, typically with the '.body' extension, that tells you exactly what Kopernicus did as it was processing your planet. At the very bottom of that log file, you'll usually encounter the error that caused Kopernicus to fail, and you'll be able to see what part of your planet's config file Kopernicus was looking at when it encountered an error. From there, you can inspect your config file in search of the problem. **TL;DR:** there is no special setup needed. All you need to do is create a text file with the .cfg extension anywhere in KSP's GameData folder and the game will pick it up on its own.
I cannot publicly post things like my personal e-mail address, I'm sorry. As an alternative to TH-cam, you can use the KSP forums or Discord to contact me.
How nice of you to leave a snarky comment instantly putting the blame on me instead of checking in the Kopernicus log files to see what the issue is with your config file, or otherwise giving me any indication of what issue you're having. What do you expect me to do? Wave a magic wand and telepathically fix your script? Normally I'd assist people with debugging their planets until they work, but with that attitude of yours, I don't see why I should care.
its broken where did i mess up cuz it has 4 brackets not 5 also i used visual studio code: Kopernius:AFTER[Kopernius] { Body { name = Anderoupia cacheFile = Anderoupia/Cache/Anderoupia.bin Template { name = Kerbin removeAllPQSMods = PQSMod_VertexHeightMap } Properties { description = 'A blue marble full of high mountains and deep lakes. A blend of the great Duna, and our Kerbin.' radius = 400000 geeASL = 0.8 isHomeWorld = false tidallyLocked = false rotationPeriod = 10800 timewarpAltitudeLimits = 0 1000 10000 30000 40000 50000 60000 70000 ScienceValues { landedDataValue = 10 splashedDataValue = 10 flyingLowDataValue = 7 flyingHighDataValue = 5 inSpaceLowDataValue = 5 inSpaceHighDataValue = 4 recoveryValue = 60 flyingAltitudeThreshold = 25000 spaceAltitudeThreshold = 400000 } biomeMap = Anderoupia/PluginData/AnderoupiaBiome.png Biomes { Biome { name = Deserts value = 4 color = 92.5, 100, 0 } Biome { name = Grasslands value = 4 color = 9, 100, 0 } Biome { name = NorthPole value = 4 color = 100, 100, 100 } Biome name = NorthPole value = 4 color = 56.2, 56.2, 56.2 } } } }
Well, for one, you write "Kopernius", which is wrong. So ModuleManager will be trying to target 'Kopernius' instead of 'Kopernicus'. "removeAllPQSMods = PQSMod_VertexHeightMap" This is basically a Frankenstein's monster. Either write 'removeAllPQSMods = true' to remove all mods, or use 'removePQSMods' to target specific mods, separated by a comma. For the description: you don't want to surround strings with apostrophes, that's not necessary in cfg files. Regarding bracket mismatch, that's up to you to solve. Since you use VSCode I presume you're more familiar with programming in general so that's probably not too big a dive into the deep end. A tip I can give here is to indent the contents of a node, like one would the lines of a function. That should make it easier to see which bracket pairs are not closed.
There's no specific end to computer code. Everything inside a Body{} wrapper is regarded as information for that specific planet. Once you feel like you've specified everything that you wanted to specify you can just save the code and try it out!
I was wondering: how do you make a height/normal/color map?
Normal maps are best exported using the KittopiaTech plugin. For height and color maps, you don't have to create them. KSP can also generate a planet without VertexHeightMap and VertexColorMap, those are not required. But if you want to make maps, Photoshop or GIMP will do just fine. There's no set of rules when it comes to making maps, and there are thousands of ways to do it.
use space engine, find your planet, use the planet export feature and leave only the surface, color, elevation, and normal checked if you export it you will have the 3 textures
hope that helped :)
Using SpaceEngine is really, REALLY bad practice. Space Engine has it's own art style that clashes with KSP's. If people would start mass-producing planet packs relying heavily on Space Engine the forums would be flooded with planet packs that all look alike.
That's why I never use SpaceEngine, or why I will never teach people how to use SpaceEngine to acquire textures.
I wrote the code you wrote and the planet I made won't show up in game plz help :(
I'm gonna need more info than that to be able to help you find the issue effectively.
Thank you Dude ! waiting for the ocean planets now
Happy to help! The next video will be on gas planets though, followed by oceanic worlds, procedural planets and lastly, nice tricks such as custom science, surface and ocean textures, rings, terrain scatter, etc. I'm going to put everything I know into these guides.
Great ! can we expect date ?
I can't make any promises, my agenda is too unstable for that, I'm afraid.
Hey I have a question...
1. What is a normal map?
2. how do I make one?
3. What does it do?
Use GIMP. It's a free image editing software. Once you've downloaded it, load up your heightmap, then go to filters, then look for generic, and in there you'll find normal map.
@@zarki-games you only answered question 2, i'm also confused on what is a normal map and what does it do
@@dallor714 it changes the way the gpu calculates lighting lol
what software are you using i dont know if you will see this since im in 2020 and this was made in 2016
Hi! This is a really old video, so please don't cringe too hard, but the video editor is good ol' Windows Live Movie Maker.
For a text editor, I use Notepad++. It has many great features over the regular Windows notepad, such as automatic bracket completion and indentation, because Notepad++ is also a lightweight programming tool.
Also, don't worry, I get a notification when someone leaves a comment. :)
@The White Guardian thanks i have nopepad ++ now but it wont work i type in everthing right but i wont work do you know any tutorials to help with this?
By the way for what Ksp version is this tutorial?
All Versions I Think?
Why are there 4 color values? I get that 1 is red, 1 is blue, and 1 is green, but what is the fourth one? Everywhere I look I see hue, saturation, and lightness listed as values as well, but how do any of these impact that fourth number? Is it one of them? Is it all of them combined in some weird way?
The fourth color is the alpha channel, and has to do with transparency. I rarely set it to anything but 1 to be honest...
um where do you wight the code for the planet
any software or application that can write text
Omg, thank you so much!! ive just been fiddling around teach myself how to make a planet. but all goes horribly wrong. this helps alot!!
Nice tutorial! I can't wait for procedural generation :D
...I should probably start making it, shouldn't I? XD
How I Make Planets With rings?
Add a Ring node. Basically add the following code directly in Body{}
Rings
{
Ring
{
texture = X
innerRadius = X
outerRadius = X
angle = X
color = 1,1,1,1
lockRotation = true
unlit = true
}
}
In which 'texture' is a filepath to your ring texture, 'innerRadius' and 'outerRadius' determine the placement of the ring, I don't know what unit of measurement KSP uses for this, try 1500 for the innerRadius and 2500 for the outerRadius then experiment further. The angle is simply the inclination of the ring relative to the planet's equator. Since the 'color' doesn't really work that well, try coloring your ring texture in advance.
Idk if you still respond but i made everything like in video but when i load to game it says "kopernicus was not able to load custom planetary sytem..."
Ok cool video and you derserve to have more focus,but i have questions about this:
1:Can we delete biomes or did you have a link for explain how to create biomes?
2.If we remove PQSMods,did the "heightmap" still the same of the Height texture?
3.How to define sphere of infulence?
4. Can you do more video of creating things with kopernicus,like biomes,rings, how to delete the solar system,etc...
Thank you!
1. Biomes are already explained in a guide written by me over on the KSP forums, but will be explained in a video as well.
2. I'm not entirely sure what you mean by that, can you elaborate a bit more?
3. In 'properties', write spehereOfInfluence = (SOI in meters). However, the SOI is calculated automatically by mathematical equations. The heavier and the further an object is from it's parent body, and the lower the mass of this parent body, the bigger the SOI will be.
4. I have no intention of stopping anytime soon! :)
Deleting planets is easy though, just write !Body[PlanetName] followed by an opening and closing bracket, like {}, each on a separate line, and the targeted planet will be destroyed.
is there a mod I can just download that already as the basic config for custom planets?
I wanted to know how to download Kopernicus
what program are you using to make the config file?
Notepad++, and you can find it here.
notepad-plus-plus.org/download/v7.5.6.html
thanks :)
you don't have to use notepad++, i just use regular notepad and it still works
I've tried to follow this guide as closely as possible, but when I start the game it gets stuck on a black loading screen before reaching the title screen. do you know what the issue might be?
WARNING! im going to ask a very stupid question here so bear with me and i apologize in advance
do i need a specific program to write the lines of code into, or can i just use something like notepad++?
Regular Notepad can do the job, but Nodepad++ will make the job so much easier that it's probably the ideal program for the job. (In fact, in the video Notepad++ is what I use to write the code in.)
For example Notepad++ highlights bracket pairs so you can easily check if stuff is opened and closed correctly.
To safe as a config file all you need to do is add .cfg to the filename when you save it.
Also, stupid questions do not exist. XD
Besides, it's better to ask questions than to dive into the process head-first while there are things you don't yet understand.
+The White Guardian thanks man
ok so ive gotten it to load into the game (i exported some random textures over from space engine and got rid of the biome map to get it all working) but now its not showing up in the game, the log says that it loaded fine but the game doesnt appear to be reflecting that
Is there like a format that you can copy and paste in it to be a little easier for you and you just have to edit the numbers and stuff? And where do you go to get Kopernicus?
Hey guardian, can you tell me why my celestial bodies wont work (i'll send it later)
@Kopernicus:AFTER[KOPERNICUS]
{
Body
{
name = Citadel
cacheFile = Kronos Planet Pack/Citadel/Caches/Citadel.bin
flightGlobalsIndex = 1901
Template
{
name = Tylo
removeAllPQSMods = True
}
Properties
{
description = A huge planet of punishment, discovered by a kerbolar probe which later tossed inside, it looks really dangerous with its really huge gravity and dense upper atmosphere, it is believed to be made of mostly iron and nickel.
radius = 1200000
sphereOfInfluence = 1500000000
geeASL = 4.2
tidallyLocked = False
rotationPeriod = 72000
timewarpAltitudeLimits = 0 160000 160000 160000 320000 500000 800000 1500000
ScienceValues
{
landedDataValue = 35
flyingLowDataValue = 31.5
flyingHighDataValue = 28
inSpaceLowDtaValue = 22
inSpaceHighDataValue = 15
recoveryValue = 25
flyingAltitudeThreshold = 35000
spaceAltitudeThreshold = 450000
}
}
Atmosphere
{
ambientColor = 0.1,0.1,0.9,1
lightColor = 0,0,0.501,1
enabled = true
oxygen = true
altitude = 160000
pressureCurve
{
key = 160000 0.3546
key = 155000 1.8846
key = 150000 9.7256
key = 145000 54.1257
key = 140000 60.7008
key = 135000 65.3597
key = 130000 61.6432
key = 125000 51.7253
key = 120000 48.7521
key = 115000 42.7297
key = 110000 37.6547
key = 105000 32.7568
key = 100000 28.4321
key = 95000 25.7687
key = 90000 9.6731
key = 85000 3.7921
key = 80000 4.1257
key = 75000 5.7216
key = 70000 6.2372
key = 65000 7.2345
key = 60000 8.2672
key = 55000 9.7354
key = 50000 12.3519
key = 45000 21.3467
key = 40000 35.4125
key = 35000 42.4572
key = 30000 55.5555
key = 25000 67.5215
key = 20000 72.5645
key = 15000 86.2147
key = 10000 97.5314
key = 5000 105.8975
key = 0 127.8231
}
Orbit
{
referenceBody = Sun
color = 0,0,0.501,1
inclination = 0
eccentricity = 0
semiMajorAxis = 11692010009
longitudeOfAscendingNode = 9
argumentOfPeriapsis = 2
meanAnomalyAtEpoch = 7
epoch = 2
}
ScaledVersion
{
type = Atmosphere
Material
{
texture = Kronos Planet Pack/Citadel/Citadel_map.png
normals = Kronos Planet Pack/Citadel/Citadel_normal.png
rimPower = 4
rimBlend = 0.5
Gradient
{
0.0 = 0.1,0.2,0.2,1
0.5 = 0.2,0.5,0.5,1
1.0 = 0.4,0.9,0.9,1
}
}
}
PQS
{
maxQuadLenghtsPerFrame = 0.03
minLevel = 2
maxLevel = 10
minDetailDistance = 8
Mods
{
VertexColorMap
{
map = Kronos Planet Pack/Citadel/Citadel_map
order = 9999999
enabled = true
}
VertexHeightMap
{
map = Kronos Planet Pack/Citadel/Citadel_height
deformity = 3000
order = 9999999
enabled = true
}
}
}
Body
{
name = Seth
flightGlobalsIndex = 1902
Template
{
name = Dres
removeAllPQSMods = True
}
Properties
{
description = Large, dark Moon of Citadel. has high gravity that surpassed even Tylo and nearly equal Kerbin. orbits in a high and uninclined orbit.
radius = 600000
sphereOfInfluence = 30000000
geeASL = 0.9
tidallyLocked = False
rotationPeriod = 15000
timewarpAltitudeLimits = 0 42000 42000 100000 200000 500000 800000 1500000
ScienceValues
{
landedDataValue = 20
inSpaceLowDtaValue = 18.5
inSpaceHighDataValue = 15
recoveryValue = 15
spaceAltitudeThreshold = 175000
}
}
Orbit
{
referenceBody = Citadel
color = 0.753,0.753,0.753,1
inclination = 0
eccentricity = 0
semiMajorAxis = 40088007
longitudeOfAscendingNode = 3
argumentOfPeriapsis = 1
meanAnomalyAtEpoch = 8
epoch = 3
}
ScaledVersion
{
type = vacuum
Material
{
texture = Kronos Planet Pack/Citadel/Seth_map.png
normals = Kronos Planet Pack/Citadel/Seth_normal.png
rimPower = 4
rimBlend = 0.5
}
}
PQS
{
maxQuadLenghtsPerFrame = 0.03
minLevel = 2
maxLevel = 10
minDetailDistance = 8
Mods
{
VertexColorMap
{
map = Kronos Planet Pack/Citadel/Seth_map
order = 9999999
enabled = true
}
VertexHeightMap
{
map = Kronos Planet Pack/Citadel/Seth_height
deformity = 3000
order = 9999999
enabled = true
}
}
Body
{
name = Zod
flightGlobalsIndex = 1903
Template
{
name = Gilly
removeAllPQSMods = True
}
Properties
{
description = Small, bright Moon of Citadel. has high gravity that equaled even Minmus and exceed Pol. orbits in a high and very inclined orbit.
radius = 8500
sphereOfInfluence = 2537009
geeASL = 0.9
tidallyLocked = False
rotationPeriod = 15000
timewarpAltitudeLimits = 0 42000 42000 100000 200000 500000 800000 1500000
ScienceValues
{
landedDataValue = 24
flyingLowDataValue = 20
flyingHighDataValue = 18.5
inSpaceLowDtaValue = 15
inSpaceHighDataValue = 12
recoveryValue = 15
flyingAltitudeThreshold = 2000
spaceAltitudeThreshold = 10000
}
}
Atmosphere
{
ambientColor = 0.831,0.686,0.216,1
lightColor = 0.831,0.686,0.216,1
enabled = true
oxygen = true
altitude = 4500
pressureCurve
{
key = 0 1.2782
key = 1000 0.9845
key = 2000 0.5842
key = 3000 0.2458
key = 4000 0.0953
key = 4500 0
}
Orbit
{
referenceBody = Citadel
color = 0.831,0.686,0.216,1
inclination = 87
eccentricity = 0.05
semiMajorAxis = 161072003
longitudeOfAscendingNode = 3
argumentOfPeriapsis = 1
meanAnomalyAtEpoch = 8
epoch = 3
}
ScaledVersion
{
type = Atmospheric
Material
{
texture = Kronos Planet Pack/Citadel/Zod_map.png
normals = Kronos Planet Pack/Citadel/Zod_normal.png
rimPower = 4
rimBlend = 0.5
}
}
PQS
{
maxQuadLenghtsPerFrame = 0.03
minLevel = 2
maxLevel = 10
minDetailDistance = 8
Mods
{
VertexColorMap
{
map = Kronos Planet Pack/Citadel/Zod_map
order = 9999999
enabled = true
}
VertexHeightMap
{
map = Kronos Planet Pack/Citadel/Zod_height
deformity = 20000
order = 9999999
enabled = true
}
}
}
How to make the close up terrian and biome texture
I'm not sure what you mean by 'close up terrain', can you be a bit more specific there?
As for the biome map, that'll take some good ol' handwork I'm afraid. Load your planet's textures into an image editor and start painting splotches of a solid color. Then, you can link that color to a biome definition.
@@TWGuardian No i mean when you are close up the terrian become more detailed and the biome texture mean when you are close to grass land the ground texture is grass but when you are in dessert the ground become sand
@@NUL-SIL Subdividing the terrain to make it more detailed is something that KSP does automatically. You can set the minimum and maximum amount of subdivisions but beyond that, it's up to KSP. Defining the textures that the terrain renderer uses is done through assigning a PQS Material.
The biome map actually doesn't influence the terrain texture-wise. To change the terrain textures (which can vary only by altitude currently) you change the PQS Material. Here's an example that I pulled from an old mod (not mine):
github.com/KillAshley/UL/blob/master/GameData/UnchartedLands/KopernicusFiles/Kerbin/Minmus.cfg
Note that under the PQS node there is a Material node. Therein you define which textures are applied to the terrain at which altitudes, and the altitudes limits for these texture layers. For example:
highTex = BUILTIN/ice
highBumpMap = BUILTIN/bouldernormal
highNearTiling = 3000
highMultiFactor = 5
highBumpNearTiling = 30000
highBumpFarTiling = 30
In this case, highNearTiling and highFarTiling define how many times the texture is repeated. The higher this number, the smaller the texture. The near-far structure means that further away, the texture is scaled less, so the texture becomes less repetitive. What MultiFactor does, I actually don't know.
Next, note:
lowStart = 0
lowEnd = 0.35
highStart = 0.7
highEnd = 1
These describe normalized altitude, IE where 0 is the lowest point on your planet and 1 is the highest. Here, the planet has the 'low' textures between 0 and 0.35, after which it blends into the 'mid' textures, and then finally from 0.7 onwards the 'high' textures.
@@TWGuardian How about ocean.i want to add ocean to my planet but i don't know all psq mod and when i write remove all psq mod true but i want the ocean to exist on my planet.
I know this video is 8 years old, but is kopernicus the right mod to "edit" pre existing planets? I had a silly idea to give the Mun a small atmosphere, but I cant find any info on doing that.
@@toasty_7233 it can do that, yes. Apologies, my tutorials are outdated and incomplete and due for a full rewrite. If you have Discord, there is a server specifically for kopernicus modding where myself, the devs and many other planet makers can answer any question.
@@TWGuardian Ok, I guess I would have to ask there, I’ve never done anything with Kopernicus before so this is a huge help, thank you! Where would I find this kopernicus discord?
@@toasty_7233 Google 'KSP kopernicus Discord'. You should be able to find a KSP forum post by Linx with a join button.
0:58 don't have the brackets or the "body" thing
this makes me confused
You wrote this comment with a TH-cam account. Let's use that as an analogy to the Body object in the video there.
In programming lingo, 'Body' there is a _structure_ and things like 'name' and 'cacheFile' are _fields._ Now think of your TH-cam account. Your account is a _structure_ and your username is a property of that structure.
So you could represent a TH-cam account in data as some object that has a username, a password, and a profile picture.
Similarly, 'Body' there is an object that has a name. Does that make sense?
so I made a planet which worked just fine, but now it's moon has lots of issues. The bright side isn't facing the sun, it occasionally disappears and doesn't have a surface for some reason. i previously made the moon an Ocean planet but the ocean wasn't showing (though it was there) the ground also disappeared, the oceans and atmosphere werent shown correctly. The Version of kopernicus I use is a new install, it works great for planets but not for their Moons. The Old install had the same problems. what could be the Problem?
Hi, I want to modify jool, which is a planet in the stock game. How do I do this?
So, this requires a bit of knowledge as to how Kopernicus works. When you start up KSP, Kopernicus deletes the planetary system, and then rebuilds it from scratch. By default, it perfectly reconstructs the stock system.
It does this by using the built-in configuration of each planet. If you want to modify Jool, then you want to edit this built-in configuration for Jool specifically.
In this video I show how to create a new planet, but you can also modify one. To do this, instead of creating a blank 'Body' node, write @Body[Jool]
The @-sign tells KSP that you're modifying an existing node, and the block marks tell KSP that you're modifying Jool's node specifically. You need to repeat this pattern for every node
that you intend to modify. If you want to modify a value, I used to prefix it with a % sign, to hint to KSP that I'm updating an existing value instead of adding one.
Note that if you want to _add_ a node to Jool's config, then don't prefix it with an @-sign.
For example, if you want to change Jool's in-game description, your script will look like this.
@Kopernicus:FOR[JoolMod]
{
@Body[Jool]
{
@Properties
{
%description = That is one big space goober.
}
}
}
In case it's useful, here is an old archive on the Kopernicus GitHub that gives the built-in configuration for each planet, exported using Kittopia.
github.com/Kopernicus/kittopia-dumps/blob/master/Configs/Jool.cfg
Bear in mind that Kittopia exports _everything_ it sees. Don't copy these templates one-to-one. For example, you can only define mass, geeASL OR gravparameter, and not some permutation of them. The other two are calculated internally.
@@TWGuardian Thanks for your help!
Great video but I got a question, how does maps work? I know that normal maps kind of decides where the land bumps up or not. But then we have Height, map & color. What do they really do? Thanks
- Color map:
The computer reads the pixel data, more specifically red, green, blue and alpha (transparency). Red, green and blue are used for painting the terrain in a specified color, while the alpha (transparency) is used for how 'shiny' the surface is.
- Height map:
VertexHeightMap reads the map data, more specifically it reads all the pixels, but it takes the 'PixelFloat'. Ergo, the whiteness of the pixel. This value can be anywhere between 0 (pure black, ergo 0,0,0,255) and 1 (pure white, ergo 255,255,255,255), then multiplies it by the 'deformity'. Thus it scales the deformity by the whiteness of the pixels. I hope that makes sense.
- Normal map:
Normal maps tell Unity to make 'light anomalies'. Ergo it adds lighting for geometry that doesn't actually exist. The shadow angle and effect makes it seem like the geometry is there. Game designers use normal maps to add minor details to models to make them less hard to render. For example, if you ever played Overwatch, when you hit something with a meelee attack it often leaves a dent. This dent is a normal map.
Can someone please tell me what I might have done wrong? My moon works just fine anywhere now except From far away because the bright side is ~90° offset :(
Your normal map has not been converted properly.
It needs to be either DXT5_nm, or exported from the game directly with KittopiaTech.
So, do I just put it into the kopernicus Plugin folder and run the game with the former normal Map? I mean kittopia
Seriously how do I fix it?
I just told you man. Save the normal map in the proper FORMAT with Photoshop/GIMP, or better, use KittopiaTech to export the maps of your planets plus the PQSMods you added.
The White Guardian well I was asking about how kittopia works, but doing it with Gimp also works I guess. But what does kittopia do that it is so great?
what is he even using for the code?
Is the file path for the cache auto generated?
No, it's something you have to specify yourself. Kopernicus will generate and maintain a cache file at that location.
@@TWGuardian oh, ok, thanks for the help!
How do you create astroids but first is there an easy way to make or get textures
Space engine, just export textures.
how to make ocean
with scatter compatibility
1. How to create an ocean:
Add an 'Ocean' node to your planet's node. The Ocean node's layout is largely the same as that of the PQS node, because an ocean in KSP is essentially a second procedural quad sphere. You can see an example here.
github.com/KillAshley/UL/blob/master/GameData/UnchartedLands/KopernicusFiles/Laythe/Laythe.cfg
As you can see, oceans, too, have a Mods section, where they use PQS mods. These PQSMods however are more with the intention of stylizing the ocean rather than animating it. AerialPerspectiveMaterial can make the tiling look a little prettier from afar, but the main mod - the one that should ALWAYS be present for oceans, is OceanFX.
In the OceanFX node there should be a WaterMain node, where you define the textures that KSP will use for your ocean. As you can see in the example I linked, you can also use KSP's own textures.
The Fog node in an ocean node defines the properties of the volumetric fog that you see when you dunk a camera underwater in KSP.
2. How to support scatterer oceans. A scatterer ocean is essentially an object separate from KSP's ocean. Scatterer hides KSP's ocean by preventing it from rendering, and instead renders its own ocean object. You can see an example here:
github.com/Galileo88/Galileos-Planet-Pack/blob/master/GameData/GPP/GPP_Scatterer/Planets/Gael/ocean.cfg
The first node in this config isn't too interesting for us, it's a compatibility patch. The second one is what you're looking for.
Note that it defines a new Ocean node with a set of properties. I'll discuss the most important ones briefly.
Name: the name of the celestial body that this ocean should be applied to.
m_whiteCapStr: controls the amount of foam as a result of collapsing waves.
shoreFoam: controls the amount of foam as a result of waves crashing against a surface.
m_farWhiteCapStr: allows you to scale back the amount of visible foam when looking from a distance. This makes distant ocean surfaces appear less white and makes the colors stand out more.
AMP: the amplifier for the oceans. Defines how strong the displacement is.
m_windSpeed: the higher the wind speed, the faster the waves.
m_oceanUpwellingColor: worded a little strangely and used a bit awkwardly but it largely defines the water color.
m_UnderwaterColor: similarly to the Fog-node in your planet's config file, this value defines the color of the volumetric underwater fog.
m_resolution: allows you to offset quality versus performance. The higher the value, the better the result looks but the more intensive the computations are.
oceanScale: allows you to offset the ocean with respect to the ocean collider. It's best to leave this alone.
transparencyDepth: defines the intensity of the volumetric fog in terms of the maximum distance that one can see through the water.
darknessDepth: deep oceans are generally very, very dark. Scatterer's oceans also simulate this effect, and this parameter gives you control over the depth at which the ocean should be really dark if underwater. Essentially if you were to dive to this depth, then almost all natural light will have filtered out at this point.
refractionIndex: when light traveling through medium A enters medium B, it may change direction slightly. This process is called refraction, and the amount by which the light ray shifts depends on the relative refractive indices of the two mediums. In this case, the atmosphere will have a refractive index of 1. You should now define the refractive index of your water, which will define how your ocean will refract any object that you can see beneath the water surface. Note: water has a refractive index of approximately 1.333
HOW TO YOU GET INTO THIS CODING MENU IN THE FIRST PLACE
1. There is no such thing as a 'coding menu'. Code is written in text editors. Something as basic as notepad will do. In that video I'm using a program called Notepad++, and nowadays I would use Visual Studio Code.
2. What you're seeing there isn't computer programming. You're seeing a configuration. A planet configuration file is a description, not an instruction. You're explaining to KSP what properties the planet should have, but you're not writing the code that KSP will execute.
3. Calm down.
how do i get into it
Does this work with the most recent version? What program were you using to write the code?
He Is Using Notepad++
Hey Guardian, I followed the video and made a titan analogue for my new gas giant Surla. However, when I zoom in on the planet there is an incredible shininess to it like it is made of ice. Do you know what would be causing it? Thanks.
I'd guess it to be related to the PQSMaterials node.
You see, the PQS node stores ALL data for the planet's surface. It contains a number of subnodes, some related to how the surface behaves in a physical sense (how slippery it is for example), some related to the deformation of the terrain (PQS-Mods), and some related to how the terrain looks (PQS-Material)
Try adding the following directly inside the PQS node:
Material
{
saturation = 1
contrast = 0.5
}
You may have to tweak the values a little to make them work right, but this should reduce the amount of effect light has on your planet.
hey, how did you make it look like ice? it'll be cool for some of my planets
how did you make those long spaces in between the words such as when you wrote body or name and what program are you using
I use Notepad++. To be honest I don't really understand your other question - I just use the TAB button on the keyboard to move code left and right. It's not a requirement but it helps making the config easier to read.
Here's what I press when I write Body{}
Body
(enter key)
{ (notepad++ automatically adds the closing bracket behind my cursor)
(enter key twice)
and I end up with
Body
{
}
Ok I did all the steps and I put it in my game data folder but it's not in my game and this happens with all planets that I download even so I need help I'm such a noob and I suck at this stuff
Did you extract the files?
I have no idea if I even installed this mod correctly. How will I know????
In your KSP directory, there should be a folder named 'logs' now.
What's in this logs folder depends on the version of your KSP, in older versions it contains files, every file has a name of one of the planets, followed by the filetype extension '.body'. These are log files Kopernicus generates for every planet upon starting the game, they are generated when the loading screen switches to the main menu.
In newer versions of KSP, the logs folder will contain a folder called 'Kopernicus', and inside this Kopernicus folder should be the .body files. These files aren't only used for debugging and as logfiles, they're also extremely handy for modders: if a planet doesn't load at all, or doesn't load properly, the .body file should stop at a certain point with an error. This pinpoints the exact location of the error within the config file of a planet.
But yeah, if there's a logs folder you've probably installed Kopernicus correctly. Try running a planet pack, if it shows up you've likely done things right ;)
If you haven't installed it correctly, let me know, I'd be happy to help.
O mod do Kopernicus não existe mais
The body that I created won't load.
Aye, then something is definitely wrong. I'm going to need more information though to be able to help you effectively. Could you upload the config file you wrote somewhere? Pastebin for example?
@Kopernicus:AFTER[New_Horizons]
{
Body
{
name = Hallen
flightGlobalsIndex = 2637
cacheFile = New Horizons Expanded/Hallen/Cache/Hallen.bin
Template
{
name = Minmus
removePQSMods = PQSMod_VertexHeightMap,PQSMod_VertexColorMap
}
Properties
{
description = Scientists all over Kerbin have wondered for years why this moon which is obviously made of ice still hasn't melted. Physicists suggest that the extreme tidal forces acting on Hallen have put the moon in a new exotic state of matter.
radius = 615000
sphereOfInfluence = 760000
geeASL = 1.2
isHomeWorld = false
tidallyLocked = true
rotationPeriod =
timewarpAltitudeLimits = 0 70000 70000 100000 150000 150000 150000 150000
ScienceValues
{
landedDataValue = 30
inSpaceLowDataValue = 22
inSpaceHighDataValue = 17
recoveryValue = 40
spaceAltitudeThreshold = 70000
recoveryValue = 50
}
biomeMap = New Horizons Expanded/Hallen/Hallen_biomes.dds
Biomes
{
Biome
{
name = Equatorial Bulge
value = 1.5
color = 1,1,0,0
}
Biome
{
name = Northern Hemisphere
value = 1
color = 0,0,0,0
}
Biome
{
name = Southern Hemisphere
value = 1
color = 0,0,0,1
}
}
ScaledVersion
{
type = Vacuum
Material
{
texture = New Horizons Expanded/Hallen/Hallen_color.dds
normals = New Horizons Expanded/Hallen/Hallen_normal.dds
}
}
Orbit
{
referencebody = Moh
semiMajorAxis = 1015000
inclination = 87.3
eccentricity = 0
longitudeOfAscendingNode = 2.7
argumentOfPeriapsis = 0
meanAnomalyAtEpoch = 1.9
epoch = 5
color = 0.502,0,0.949,0
}
PQS
{
Mods
{
VertexHeightMap
{
map = New Horizons Expanded/Hallen/Hallen_height.dds
deformity = 600000
scaleDeformityByRadius = false
offset = 0
enabled = true
order = 5
}
VertexColorMap
{
map = New Horizons Expanded/Hallen/Hallen_color.dds
enabled = true
order = 6
}
}
}
}
}
}
The reason it says AFTER:[New_Horizons] is because this is meant to expand on that mod.
+Ender Dragnell
Okay so first off, I noticed that you have a FlightGlobalsIndex, I recommend decreasing the number or just get rid of it entirely, it causes quite a few problems if not done correctly.
Second, make sure to write FOR instead of AFTER, I recommend using AFTER only if it's directly linked to Kopernicus., so instead of @Kopernicus:AFTER[New_Horizons], it should be @Kopernicus:FOR[New_Horizons]
Third, make sure that the biome alphas are all the way up to 255 (or 1.0 in this case) if they're transparent, the biomes won't work and that would cause your planet to not load.
Fourth, the planet is going to be orbiting inside Moh, so make sure to add another zero or change the one to something higher than three at the least.
And last, your deformity is off the charts. It'll look like a firework and a hedgehog had a baby if you keep it at 600,000. Lower it to 600 or 6,000 if you want to keep it stable
I actually made the height map incredibly smooth. The goal was to make it severely warped by tidal forces and extremely fast rotation. Other than that, okay.
what color system are you using. I don't know how to use the colors
I know, it's quite a difference from the color format used by software such as GIMP, Photoshop and Paint(dot)NET.
I'll try to explain it as best as I can.
Every pixel on a monitor is split up into three parts: a narrow light that shines in red, a narrow light that shines in green and lastly a narrow light that shines in blue. Each pixel on a digital image has a value for each of these three colors, the so-called 'color channels'.
For GIMP, for example, a pixel on an image can be colored as 172,150,200; In that case the value of the red part of the MONITOR pixel is 172, the value of the green part of the MONITOR pixel is 150, and the blue part of the MONITOR pixel is 200.
Kerbal Space Program was made in Unity, and what Unity has in common with most game engines is the fact that uses a 'floating point number format' instead of the 'integer format' used by image editors.
A color in GIMP or Photoshop can be 51,102,51 but in Unity the exact same color would be 0.2,0.4,0.2
Unity basically works in percentages. Therefore you can use the following equations to convert between color formats:
Editors -> KSP
K = E/255
KSP -> Editors
E = K*255
Note that you have to divide or multiply each channel.
Let's take the previously mentioned color, 51,102,51 as an example.
Red: 51/255 = 0.2
Green: 102 / 255 = 0.4
Blue: 51 / 255 = 0.2
Therefore the corresponding color in Unity is 0.2,0.4,0.2
I hope that makes sense. :)
The White Guardian I understand, thank you. Have a nice day
Is there anything else I have to do after coding it, were do I have to put all the stuff in the KSP files? Or will it just work
Nevermind, for get what I said ^^^. What do you do with the code file when your done
How I Make Particles?
I'm no expert at that, but it requires the Particles{} wrapper directly in Body{}
The code:
Particles
{
Particle
{
target = [Object that you want the particles to move to or away from. Set it to the planet itself if you want the particles to float around the planet]
texture = [filepath to the particle texture]
minEmission = x
maxEmission = x
//These values create distortions in the amount of partciles generated per second, so instead of a constant stream there can be more or less particles generated.
lifespanMin = x
lifespanMax = x
//These values create distortions in the amount of time that a particle remains active before it is destroyed. Setting these to 1 and 3 means that the particles exist between 1 and 3 seconds.
sizeMin = x
sizeMax = x
//These generate the size of the particles. Setting these to 1 and 3 for example generates particles with a size from 1 to 3.
speedScale = x
rate = x
randVelocity = x,x,x
//Not sure what these do.
force = x,x,x
//The first number is your left/right force, the second number is diagonal and the third is up/down. Basically vectors.
Colors
{
color1 = x
color2 = x
color3 = x
color4 = x
color5 = x
}
//This creates a color gradient for the particles. Color1 is the color that they have when generated, and as they move to the end of their 'lifespan' they gradually shift to color2, color3, etc until they reach color5 before they are deleted.
}
}
I followed the tutorial, but the planet only appeared white, I was wondering if this is outdated, or if I did the code wrong
Well, part of it is. But luckily Kopernicus keeps track of what it does when it is loading up your planet, so you can see where the issues are. In your KSP directory, go to Logs -> Kopernicus and there should be a log file with your planet's name. Check in there for any weirdness. :)
@@TWGuardian ok, thanks for the help!
@@TWGuardian I have one more question, is the final thing you type important? I cant see it because it gets blured out
@@DebatableSnowman The last thing I type is adding the VertexColorMap mod. All that this does is setting the terrain color based on an image. It's generally not great practice since even at 8k images (which will eat a lot of RAM, btw) there are going to be more vertices than there are pixels.
You're generally better off using procedural vertex coloring because they use way less RAM. Examples are HeightColorMap and ideally LandControl.
For example, LandControl is the mod that Kerbin uses for its colors.
If you want to go a bit more in-depth about what exactly PQSMods are: when you get near a planet in KSP, the game will start generating the terrain. The terrain is going to be a grid of points between which the game renders squares or 'quads'. Hence the term 'PQS' or 'Procedural Quad Sphere', since it is a procedurally generated sphere of quads.
For each of these points, KSP loops over all 'PQS Mods' or 'procedural quad sphere modifiers'. These are sorted based on the mod's 'order' value, and mods that have 'enabled' set to 'false' are ignored.
With these filtering and sorting criteria applied, each mod is applied in order. Typically PQSMods target two parameters:
'data.vertHeight': the vertical height of the terrain point. Modifying this changes the terrain altitude. Example mods are VertexHeightMap, VertexHeightNoise and VertexPlanet.
'data.vertColor': the color of the land at this point. Modifying this changes the per-vertex color of the planet surface. The GPU then, when rendering a pixel of the terrain, interpolates between the colors of neighboring terrain points. Example mods are VertexColorMap, HeightColorMap and LandControl.
Hi, I have installed Kopernicus into the GameData folder, and have created a .cfg file and used the coding from this video, But my question is where do i save this .cfg file with KSP/Gamedata? Ive also downloaded files from other people and copied into KSP gamedata, but i can't seem to get see any changes within KSP Please can someone help me??? I need a guide from install of Kopernicus to crating a new planet and seeing it within KSP.
Please do not doublepost, see the answer I posted on the third
installment in this guide series. Otherwise you'll also get multiple
answers.
Trust me, I'll get a notification when a comment is posted, I'll get to it.
How to make atmosphere color curve(With scatter compatibility)
When it comes to how to do this with stock: don't know, honestly. Try creating a gradient in a program like GIMP and set it as the target atmospheric color ramp and see how it fares.
As for scatterer: for that you need a separate program released and maintained by the author of Scatterer. When in the small Unity program, just mess with the settings until you get something that looks right. The settings in this program for the most part also correspond to the settings in the final Scatterer config file. The program also allows you to export the .half maps that scatterer needs.
@@TWGuardian no i mean how to code it
@@NUL-SIL I just told you: you don't. Atmospheric color ramps are _textures._ Images. Not code.
@@TWGuardian then how to do that
@@NUL-SIL Did you not read my comment? Because I've already told you:
- For atmospheric color ramps: use a program such as GIMP/Photoshop and the gradient tool.
- For Scatterer: use a custom, specialized program provided and maintained by the author of Scatterer.
What do you do after you finish coding to add it to the game
ModuleManager is in charge of feeding the config files to Kopernicus, and it only searches inside the GameData folder.
Therefore make sure the config files of your planets (as well as the textures they link to) are inside the GameData folder, and you should be good to go. :)
(Tip: it's best to store all the data of a planet pack in a folder dedicated to that planet pack. Like how OPM does it: the OPM folder is inside GameData so it is loaded by ModuleManager, while at the same time holding all of the data that the mod needs to function)
+The White Guardian
Could you possibly upload this file to Dropbox or something similar? Thanks! :)
pastebin.com/sCs2MR5S
i don´t make planets in ksp, but the hardest part is making the transition between how it looks from far awy vs how it looks from under 300Km, there is a mod called "Xamion, a panet far beyond eeloo" and, sure, it´s 8 billion Km orbit is far away, but the tansition makes the land and ocean switch. a.k.a. it´s not made right
Is there a source for how to make the .dds maps? I'm completely new to this and don't know how to create each map, let alone make .dds's Any help? I was also looking through the other videos of yours and the closest was the "how to draw planets with gimp" but I still don't know what to do for it.
download a dds plugin for photoshop if you have it
what code text framework program are you using in this tutorial?
That'd be Notepad++.
@@TWGuardian i always use notepad ++
what scripting progarm did you use
Notepad++
i know i'm late but i think visual studio would also do the job (i might be wrong)
//edit nvm notepad ++ is the program
Ive just tried this recently, and little to none of it works, what’s that piece of code you put at the end? You blurred it just enough you cant see any of the values?
"Ive just tried this recently, and little to none of it works"
1. This video is five years old, so things might have changed.
2. Check your planet's log files to find the error. Might be a typo, or some feature has been altered, or perhaps KSP can't find some file that you link to in your config.
3. You can follow example code to the letter and stuff can still go wrong. Again, check the log files, you can see there what issue Kopernicus has with your planet(s).
"what’s that piece of code you put at the end? You blurred it just enough you cant see any of the values?"
The mod that I set up while fading out was 'VertexColorMap'. It's hardly configurable, all it does is set the terrain color using an equirectangular planet map, and the other two values are 'enabled' and 'order', as usual.
The values simply aren't important with that mod; what matters are the contents of the file that you link to with the 'map' parameter. I like the accusations there though. :/
@@TWGuardian sorry if i seemed rude, but i saw something about you taking the Ike texture, then later on it talks about some of the things like ExamplePlanet/Plugin/exampleplanet_dds. Does that mean i need to make an external texture, and does it require anything like making extra folders?
@@TWGuardian ( i didnt mean to accuse you, the video has definitely helped with my quest onto learning how to edit planets, just a little confused around some areas)
@@Trashiok It depends. You can make a planet from textures, or you can use procedural noise.
In mathematical terms, every PQSMod is some function that takes a position on the planet and modifies the properties of that position, for example the distance to the planet's center. These needn't be maps, you can get away entirely by using procedural noise, but maps combined with artistic skill do often give the most unique looking surface features, because reality is too complex to be simulated by noise alone.
If you are making a planet procedurally, you can use the Kittopia feature in Kopernicus to export color & normal maps for ScaledSpace.
As for where you should store your textures: Kopernicus has an amazing feature called 'OnDemandLoading'. It ensures that KSP only loads the planet maps that are actually needed at that moment, otherwise a lot of RAM memory gets wasted on storing textures that aren't actually used by anything. For example, there's no point in storing Eve's height map when you're on Kerbin, since Eve's terrain isn't being processed. Nothing needs Eve's texture, and with OnDemandLoading, KSP unloads it.
To make sure that your planets use OnDemandLoading, you need two things:
1. Place your planet maps in a folder called 'PluginData'.
2. In your config files, expand the filepaths to include the filetype extension ('.dds', '.png', '.jpeg', etc)
And that's all there is to it. The first step prevents KSP from loading the texture, and the second step allows Kopernicus to manage the texture on its own.
@@TWGuardian I’m assuming to use Kittopia, you need to be in game right? Other question how do i know if the lines of code have worked, does it *have* to require using kittopia to show some signs of change?
what song is this?
Two things: One, I use different musics so I can't possibly know which one you mean with "what music is this". Two: I list the musics I used in the credits at the end of the video, so please watch the whole video before asking, you've already got the answer. Please be more specific next time you ask someone for the name of the soundtracks they used, because right now I can't help you. So, at what time during the video does the soundtrack that you want the name of play?
After the first 3 minutes with no hint of the music used figured you just forgot to mention it, and with no interest in the video it was easy to miss it in that wall of text at the end. I mean who would list the music used in the description of the video? Had me thinking it was just one song.
I typed my code in, but Kopernicus doesn't generate a .bin file...
Could be that it is, but not where you'd expect it to be. Check in GameData/Kopernicus/Cache.
If it's there, then you need to add some extra code:
Debug
{
exportMesh = true
update = true
}
This code goes directly inside Body{}, just like Properties{} and Orbit{} do.
The bin file neither appears in Kopernicus/Cache nor the custom filepath that I set. But I am going to add that Debug parser and see if it works.
It works now, the bin file gets generated in the custom filepath. But I am getting a bug described here:
forum.kerbalspaceprogram.com/index.php?/topic/142520-making-planets-with-kopernicus-video-guides/&do=findComment&comment=2986827
How do I even get to the first step I'm confused
Can you elaborate? I have no idea what you mean by 'first step'. If you mean my screen layout - I code in Notepad++, with regular notepad opened to the side for text overlay.
im very new to this stuff so i download kopernicus and im wondering how i get to the config to make my own planet
Use a text editing document such as Notepad ++ on Windows or Textedit on the Mac.
what did you use to make the mod/planet like how did you open Kopernicus
You don't 'open' Kopernicus. You install the Kopernicus plugin then just write the config file of the planet. You can do that without Kopernicus, the only thing you need Kopernicus for is getting the planet to load in-game.
The White Guardian no I got it no worries
Wait u are Dutch?
(i know this because of the "Standaard" calculator setting)
Klopt! :)
@@TWGuardian
First of all: WAIT YOU REACTED?!?
Second of all: Haha een Nederlands antwoord op een Engelse vraag!
@@theburgerbox9576 M-hm! I don't make videos much anymore, but I'm still very much active on here, and on the Kopernicus Discord server, too. And secondly: jazeker! Thought it'd be a fun way to answer your question.
Were do i put the scripts?
On startup, the GameData folder is searched for assets to load into the game. It therefore does not matter where you place the scripts, so long as they are inside the GameData folder.
It's probably best to make a folder inside GameData, name it after your mod, and store all of your mod's assets in that folder, as it keeps everything nicely organized.
can you put all cfg template here t takes long time to type
I need to put what here? :? The configs I write in the videos?
the basic configs put in description pls
Please define 'basic configs', that's the problem I have here.
all the config to make a PLANET without name ,data just the config
That's madness! Sorry, but I'm not gonna spend 5 hours of my time writing a config of more than 1000 lines, of which only a tiny part will ever be used anyway.
Besides, if you want a planet, you gotta write the config. It's something we all have to face.
I'm not sure if you still reply to comments on your videos(considering the fact the last video was 4 years ago)
but I have some questions
1:Where do you put the planet's data?(The notepad++ file) do you put inside the gamedata or inside the Kopernicus folder itself?
3:Will you make a new tutorial that is updated? Since I'm pretty positive that much has changed,
thanks for reading
1: anywhere inside the GameData folder. That folder and it's sub-folders are searched by the game on startup. Kopernicus then activates and processes your config files.
3: Not right now, I've been immensely busy as of late. My schedule will clear up a lot in a few months though, I'll start working on some new stuff then.
@@TWGuardian Thanks for the response, I forgot to remove the 3 because originally there were actually 3 questions, not just 2
the second question would just ask if I were to use Visual Studio instead of Notepad++ But Decided to remove it because for a reason I had forgotten
also quick tiny question, what did you use to create a material for a Celestial Body?
@@locustthelorde8225 A material? What do you mean exactly? Because in the context of unity engine a material is a reference to a shader plus settings for using that shader.
@@TWGuardian like the planet's appearance and stuff, textures.
That's what I meant, sorry for not specifying
@@locustthelorde8225 Nowadays I have a special technique for making textures, but a magician never reveals his finest tricks. 😄
Hello,i wanted to make my own planets for the first time and i have no experiance in coding whatsoever.I have a few questions,1.will this tutorial work for ksp 1.12?
2.What about planetary textures ? Do you just need to put the values and the textures come in place or what?
"i have no experiance in coding whatsoever"
No problem! :) Planet making is more like setting parameters than it is programming. You only really need to know programming if you feel the need to write your own custom PQSMods.
"1.will this tutorial work for ksp 1.12? "
Theoretically it should work. I don't recall any changes having been made to the underlying planet system. At worst some names might have been changed, but most of it should still be the same.
"2.What about planetary textures ? Do you just need to put the values and the textures come in place or what?"
Right, so, first I need to clarify a distinction here. KSP has two 'modes' for rendering planets:
1. The 'procedural quad sphere' or PQS. This is the high-detailed, procedurally generated planetary surface that you see in low orbit.
2. The 'scaled space', which is a low-detail static sphere that acts as a stand-in for your planet at great distances. If you go into map view, everything is ScaledSpace.
When you get started, don't worry about ScaledSpace. The ScaledSpace variant of your planet will look like the template you chose, but don't worry about that. First concern yourself with making the procedural quad sphere (IE your planet's true surface) look magnificent. In other words, concern yourself mostly with everything inside of the PQS{...} node. I recommend creating a PQS setup that you think should look alright (either with textures or without), and then tweaking it in-game using Kopernicus' Kittopia feature (CTRL+P if memory serves). Mind you, Kittopia does not actually modify the file on the disc. If you want to save any changes, have Kittopia export the planet's current config and then, and this is really important, selectively copy the changes you made. DON'T COPY THE EXPORTED FILE ITSELF because it tends to be finnicky and contains a lot of extra data.
Once you're happy with how your planet looks up-close, Kittopia has a nice feature where it can export your planet's maps at any resolution you like. Use this feature to obtain the color and normal map files for ScaledSpace.
@@TWGuardian I copied the config,but it doesn't seem to work,I did see that some of the brackets may be in wrong place ,can you check?
@Kopernicus:AFTER[Kopernicus]
[
Body
[
name = Akirus
cacheFile = Akirus/Cache/Akirus.bin
Template
[
name = Ike
removeALLPQSMods = true
]
Properties
[
description = MY FIRST PLANET TOOO ROBUST TO BE TRUE.
radius = 400000
geeASL = 0.6
isHomeworld = false
tidallyLocked = false
roatationPeriod = 25200
timewarpAltitudeLimits = 0 5000 7500 15500 50000 100000 300000
ScienceValues
[
landedDataValue = 7
splashedDataValue = 2
flyingLowDataValue = 2
flyingHighDataValue = 2
inSpaceLowDataValue = 6
inSpaceHighDataValue = 5.25
recoveryValue = 6
flyingAltitudeThreshold = 25000
spaceAltitudeThreshold = 400000
]
biomeMap = Akirus/PluginData/Akirus_biome.dds
Biomes
[
Biome
[
name = Biome1
value = 1
color = 1,0,0,1
]
Biome
[
name = Biome2
value = 1
colour = 0,0,1,1
]
]
]
ScaledVersion
[
type = Vacuum
Material
[
texture = Akirus/PluginData/Akirus_color.dds
normals = Akirus/PluginData/Akirus_normal.dds
]
]
Orbit
[
referenceBody = Sun
semiMajorAxis = 400000000000
inclination = 3
eccentricity = 0.1
longitudeofAscendingNode = 115
argumentofPeriapsis = 87
meanAnomalyAtEpoch = 15
epoch = 6
colour = 0.3,0.3,0.8,1.0
]
] PQS
[
Mods
[
VertexHeightMap
[
map = Akirus/PluginData/Akirus_ height.dds
deformity = 4000
scaleDeformityByRadius = false
offset = 0
enabled = true
order = 10
]
] VertexHeightNoise
[
noiseType = RiggedMultifractal
deformity = 3000
frequency = 6
persistence = 0.2
lacunarity = 2.5
octaves = 7
mode = Low
seed = 23690
enabled = true
order = 15
]
VertexSimplexHeightAbsolute
[
deformity = 500
octaves = 12
persistence = 0.3
frequency =24
seed = 65382
enabled = true
order = 25
]
]
]
@@aniketchafekar4117 Configs ought to be written with curly braces, not brackets. Replace '[' with '{' and ']' with '}', then see what happens. If it doesn't work, Check [KSP Directory]/Logs/Kopernicus, there should be a log file there for your planet that talks about what went wrong while processing your planet.
@@TWGuardian ok,i will change those but,are there parts where i didn't close the brackets?
@@TWGuardian I changed the brackets to the curly ones ,and it did not do anything.. this is the log //==============================================================================================================================//
//===== CKAN Stable Kopernicus Release-48 - (BuildDate: 25.06.2021 19:04:11; AssemblyHash: BquN5/yzGgLsXAlIY/UXwDKPyCk=) =====//
//==============================================================================================================================//
[LOG 11:00:36]: Logger "Kopernicus" was created
[LOG 11:00:36]: Injector.Awake(): Begin
[LOG 11:00:36]: Parsing Target name in (Kopernicus.Configuration.Loader) as (System.String)
[LOG 11:00:36]: Parsing Target timeScale in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Double])
[LOG 11:00:36]: Parsing Target scale in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Double])
[LOG 11:00:36]: Parsing Target Epoch in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Double])
[LOG 11:00:36]: Parsing Target useOnDemand in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target useOnDemandBiomes in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target onDemandLoadOnMissing in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target onDemandLogOnMissing in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target onDemandUnloadDelay in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Int32])
[LOG 11:00:36]: Parsing Target useManualMemoryManagement in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target mainMenuBody in (Kopernicus.Configuration.Loader) as (System.String)
[LOG 11:00:36]: Parsing Target maxViewingDistance in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Double])
[LOG 11:00:36]: Parsing Target scaledSpaceFaderMult in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Double])
[LOG 11:00:36]: Parsing Target force3DOrbits in (Kopernicus.Configuration.Loader) as (Kopernicus.ConfigParser.BuiltinTypeParsers.NumericParser`1[System.Boolean])
[LOG 11:00:36]: Parsing Target self in (Kopernicus.Configuration.Loader) as (System.Collections.Generic.List`1[Kopernicus.ConfigParser.BuiltinTypeParsers.StringCollectionParser])
[LOG 11:00:36]: [Kopernicus]: Configuration.Loader: Loaded Body: Sun
[LOG 11:00:36]: [Kopernicus]: Configuration.Loader: Loaded Body: Moho
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Eve
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Gilly
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Kerbin
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Mun
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Minmus
[LOG 11:00:37]: [Kopernicus]: Configuration.Loader: Loaded Body: Duna
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Ike
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Dres
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Jool
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Laythe
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Vall
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Tylo
[LOG 11:00:38]: [Kopernicus]: Configuration.Loader: Loaded Body: Bop
[LOG 11:00:39]: [Kopernicus]: Configuration.Loader: Loaded Body: Pol
[LOG 11:00:39]: [Kopernicus]: Configuration.Loader: Loaded Body: Eeloo
[LOG 11:00:39]: [Kopernicus]: Configuration.Loader: Loaded Asteroid: Stock
[LOG 11:00:39]: Injector.Awake(): Completed in: 2804.8255 ms
[LOG 11:00:39]: StarLightSwitcher.Start() => Sun
[LOG 11:00:39]: Found Body: Sun:0 -> SOI = Infinity, Hill Sphere = Infinity
[LOG 11:00:39]: Found Body: Kerbin:1 -> SOI = 84159286.4796305, Hill Sphere = 196414707.77848
[LOG 11:00:39]: Found Body: Mun:2 -> SOI = 2429559.11656475, Hill Sphere = 3170563.33757116
[LOG 11:00:39]: Found Body: Minmus:3 -> SOI = 2247428.3879023, Hill Sphere = 3730392.49065433
[LOG 11:00:39]: Found Body: Moho:4 -> SOI = 9646663.02332811, Hill Sphere = 22060314.8155466
[LOG 11:00:39]: Found Body: Eve:5 -> SOI = 85109364.7382441, Hill Sphere = 185949494.965972
[LOG 11:00:39]: Found Body: Duna:6 -> SOI = 47921949.369738, Hill Sphere = 125063736.748336
[LOG 11:00:39]: Found Body: Ike:7 -> SOI = 1049598.93931162, Hill Sphere = 1225978.58343315
[LOG 11:00:39]: Found Body: Jool:8 -> SOI = 2455985185.42347, Hill Sphere = 4065824625.34358
[LOG 11:00:39]: Found Body: Laythe:9 -> SOI = 3723645.81113302, Hill Sphere = 5186318.66159496
[LOG 11:00:39]: Found Body: Vall:10 -> SOI = 2406401.44479404, Hill Sphere = 3893201.55262436
[LOG 11:00:39]: Found Body: Bop:11 -> SOI = 1221060.86284253, Hill Sphere = 2029674.44211376
[LOG 11:00:39]: Found Body: Tylo:12 -> SOI = 10856518.3683586, Hill Sphere = 14757877.6267184
[LOG 11:00:39]: Found Body: Gilly:13 -> SOI = 126123.271704568, Hill Sphere = 142427.423478875
[LOG 11:00:39]: Found Body: Pol:14 -> SOI = 1042138.89230178, Hill Sphere = 2038945.47430365
[LOG 11:00:39]: Found Body: Dres:15 -> SOI = 32832839.5767762, Hill Sphere = 92059713.5005964
[LOG 11:00:39]: Found Body: Eeloo:16 -> SOI = 119082941.647812, Hill Sphere = 266016718.015223
[LOG 11:00:39]: Injector.OnDestroy(): Complete
[LOG 11:00:40]: [Kopernicus] RuntimeUtility Started
[LOG 11:00:40]: StarLightSwitcher.Awake(): Begin
YEESSSSSSSSSSSSSSSSSSSS I've waited SO FRIKIN LONG for someone to make a video on this!!!!!!!!! U get a sub!
how do u add a planet to ksp?
and is that adobe dreamweaver cc u used in the video?
Four steps:
1. Install the Kopernicus plugin
2. Set up a config file for the planet
3. Place the config file in the GameData folder
4. PROFIT
I don't even know what that is, so I don't think so.
thx, much appreciated
can u make me a planet plz, an icy one. something like Mann's planet from interstellar. Search it up. Thx so much. if u do make it. my skype is kiwiboy2004. Thx
Sorry to bother you again, but I'm making an ocean planet and the oceans don't show up in map view. Or in high orbit. It just shows the color map beneath the oceans.
Do the oceans show up when you land?
If not: try lowering the 'offset' value in VertexHeightMap until the ocean is where you want it. Negative numbers also work.
If yes: could be that a re-export is required. If that doesn't fix it send me the codes and I'll take a look.
The oceans do show up when I land, but when I zoom out the oceans seem to get replaced by my scaledspace texture. I'll try re-exporting the color map, see if that helps.
What text editing program do you use?
Notepad++
@@TWGuardian gosh that question gets asked a lot, doesnt it
Time to add mustafar to my game
Don't forget to remove the high ground. ;)
But I wanted to see Exampleplanet!
...I didn't really make any maps for this tutorial...
If I would have, I'd rewrite the codes just because - let's face it, nothing beats a Peeper.
Heh.
Like this comment if Subnautica is a great game
how the hell did you even get to that tab in the first place
Tab?
I really like your video and Bove Maverick is right, u need alot more attention. I have seen videos taht are not easy to follow but urs makes it easy. But i hav a question. Where do i write all this? u never mentioned it. But if u did, soz i wasnt paying attention. But can u just tell me thnx
also if u r able to make templates, that would be really cool of u
I use Notepad++, it automatically highlights brackets so I can see if I closed something correctly. It's just very convenient.
I'll start writing some template configs then!
The White Guardian thnx m8
I know I sound a bit demanding but can u make more stuff like this, like making planets (making heighmaps?)
I need some help, i'm sure i got the commands right, but it shows an error for my planet
Command for Planet : pastebin.com/fx9ed8XU
Error : pastebin.com/KErDRM9T
I apologize if i wasted your time, Guardian, in fact, i'm not 100% sure if you'll see this or not
NRC
I'm always happy to help, and I'll do my best to answer any question. First off, thank you for including the .body file, I wouldn't have found the problem otherwise. The problem seems to be the normal map somehow, can you check the filepath? It literally reads:
[LOG 02:03:03]: Parsing Target normals in
(Kopernicus.Configuration.ScaledPlanetSimpleLoader) as
(Kopernicus.Configuration.Texture2DParser)
[LOG 02:03:03]: Exception Was Recorded: Object reference not set to an instance of an object
at Kopernicus.Utility.LoadTexture (System.String path, Boolean
compress, Boolean upload, Boolean unreadable) [0x00000] in :0
I have a gut feeling that Kopernicus either can't find or read the texture. What file format is it exactly?
I checked the file, it's a .dds like it should be unless I may have used a jpeg or png and converted it to a .dds. I found it strange that it opened up in MS paint :/.
AHA! I just realized something. Since it originated as a PNG i think that since I've literally done everything with the normal in MS Paint including typing it in as a .dds, Kopernicus doesn't recognize it as a .dds. I originally used this :cpetry.github.io/NormalMap-Online/ but that only does .jpg and .png, can you recommend another program besides photoshop that may work?
Sorry for being late with this, as TH-cam gave me no notification I wasn't aware of this comment's existence. Anyhow, GIMP is a free option. It has a third-party normal map plugin that can convert heightmaps to normals and a DDS plugin that allows saving under DXT5_nm, what you're looking for with normals.
Color and Biome maps: DXT5 compression
Heightmaps: no compression, set the format to L8
Normal maps: DXT5_nm compression
No worries! I'm a pretty patient guy myself and I have GIMP, but I didn't know you can do that stuff. Maybe the fault was paint.net which does save it as a .dds, but it says it's a "paint.net doc" So maybe that's it. Thanks for the tip :)
Edit: I didn't see this comment until roughly two weeks later, so I can why Google is lax
im so fucking noob in this, i make the .cfg file i need to add textures or something more?¿ i put the .cfg file in gamedata folder but i cant see the planet
YES you need textures without textures you are doomed
+Hazeukpro Tutorials/Games
That, is not true. You can make planets without any kind of texture used.
Check out this planet pack for example.
forum.kerbalspaceprogram.com/index.php?/topic/120111-13kopernicus-uncharted-lands-v053-02jun17/
This pack uses no external textures at all.
+SirNoobly
If the planet does not appear, that means that there is a loading issue for it. If you can provide me with the config file used, then I can check it for errors.
This isn't as hard as i expected!
are you dutch?
Yep.
@@TWGuardian So, that makes stuff a lot easier with the bigger questions xD
My planet is all white! TELL ME PLZ HOW TO FIX THIS!!!!!!! dm Impasta1472#1573
Calm down please.
Check your planet's logfile in Logs/Kopernicus. There should be a file there with your planet's name and with the extension '.body'. Check in there for errors.
What you are describing sounds like a texture loading issue. Try the following:
1. Check every filepath for typos. These are case sensitive.
2. Place your planet maps in a folder named 'PluginData'.
3. Add the filetype extension (.dds, .png, .jpg, .jpeg, .tiff, etc) to the filepaths that reference files that are in a folder named PluginData.
the moon i made won't work
@Kopernicus:AFTER[KOPERNICUS]
{
Body
{
name = P2Cm
cacheFile = P2Cm\Cache\cache.bin
Template
{
name = gilly
removeAllPQSMods = true
removeOcean = true
}
Properties
{
description = nothing more than a rock
radius = 210000
geeASL = 0.42
rotationPeriod = 36000
rotates = true
tidallyLocked = false
initialRotation = 0
isHomeWorld = false
timewarpAltitudeLimits = 0 3000 3000 6000 30000 30000 40000 70000
ScienceValues
{
landedDataValue = 2
splashedDataValue = 2
flyingLowDataValue = 11
flyingHighDataValue = 8
inSpaceLowDataValue = 7
inSpaceHighDataValue = 6
recoveryValue = 7
flyingAltitudeThreshold = 1200
spaceAltitudeThreshold = 14000
Orbit
{
referenceBody = Kerbin
color = 1,1,1,1
inclination = 0.5
eccentricity = 0.02
semiMajorAxis = 90000000
longitudeOfAscendingNode = 0
argumentOfPeriapsis = 0
meanAnomalyAtEpoch = 0
epoch = 0
}
ScaledVersion
{
type = Vacum
fadeStart = 0
fadeEnd = 0
Material
{
texture = P2Cm\P2Cm_color.dds
normals = P2Cm\P2Cm_normal.dds
shininess = 0
specular = 0.0,0.0,0.0,1.0
rimPower = 0
rimBlend = 0
Gradient
{
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 = P2Cm\P2Cm_height.dds
offset = -5
deformity = 300
scaleDeformityByRadius = 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
}
}
}
}
}
}
}
You didn’t even say what to do before coding, now I wasted 2 - 3 hours of my lifetime. I’ll die 2 hours shorter. 6/10
What do you mean, 'what to do before coding'? The coding is the part people find nebulous. Making textures for example is an artistic process for which everyone has their own technique. And whatever was still unclear about the process, you could've just asked me here. With that hostile attitude though, I don't see why I should care.
Apologies for not explaining to you the steps all the way from 'turn on your computer' I guess.
Side note: 'I'll die two hours shorter'? Are you blaming me for the fact that time exists? As if you wouldn't have aged if my video was 'better'.
@@TWGuardian oh sorry I was in a bad mood, what I meant is: what file do you code in?
@@LowerBudgetOppenheimer Thanks for the apology. I'll clarify: on my screen, I have Notepad++ and regular Windows Notepad. You don't really need a special program, just any text editor. The reason why I used Notepad++ is that it has a handy tab feature and syntax highlighting. Nowadays I would use Visual Studio Code, because it can open any folder as a workspace.
A .cfg file is itself nothing but a text file. It's not really a script file either. It's a configuration file, hence the extension 'cfg'. When Kerbal Space Program launches, it automatically scans the entire GameData folder for assets to import into the 'game database'. This is where KSP imports stuff like part mods: it detects and imports the part's models and textures, and it also imports the .cfg files, which tell KSP how all of these parts' assets work together.
Kopernicus works a bit differently. When KSP starts, it loads the Kopernicus source code. Kopernicus then deletes the planetary system and rebuilds it from its own .cfg file.
Any planet mod's .cfg files are actually patches made to the Kopernicus config file. That is why that first line is so important: '@Kopernicus:AFTER[Kopernicus]'. The @ symbol tells KSP that you are modifying the Kopernicus configuration, and 'AFTER[Kopernicus]' tells KSP that it should first import Kopernicus itself. After all, otherwise it won't know what you're attempting to modify.
Within the '@Kopernicus' node, you define your own planets. When the game launches, it takes Kopernicus' configuration file, and applies the changes that you made. This can range from modifying or deleting a stock planet, to defining entirely new planets. Kopernicus then builds an entirely new planetary system in accordance with this config file.
It is possible that, for some reason, Kopernicus is unable to create a planet from a config definition. In this case, there is some problem with the configuration of that celestial body. To help you with diagnosing issues, Kopernicus also maintains logs for all planets it processes. In your main KSP directory (the folder wherein the KSP executable is located) look for the folder 'Logs'. Inside will be another folder, 'Kopernicus'. In there, Kopernicus has separate folders, one for each celestial body that it ought to process.
Look up your planet's log folder. If it doesn't exist, then KSP didn't pick up on and apply your config file. If this happens, then make sure that the config file has the .cfg extension, and that it is not, be it directly or indirectly, in a folder named 'PluginData', because when KSP scans the GameData folder, it doesn't look inside folders named 'PluginData'.
At this point, you might wonder: why, then, did I, in the video, write out filepaths for planet textures that are placed in a PluginData folder? Well, you generally want your planet textures to be in a PluginData folder inside of GameData. This prevents KSP from loading it. This is because planet textures are quite large, but you only rarely need them. Only a handful of planets are going to be visible on your screen. There's no point in keeping all planet textures in memory.
That's why Kopernicus has a feature called 'on-demand loading'. To use it, you only need to place your textures in a folder named PluginData (to prevent KSP from permanently loading it in memory), and add a file type extension to the filepath, because otherwise Kopernicus can't find it.
But back to the log files. If your planet does have a log folder, then that means that KSP detected your config file, and injected the changes into Kopernicus' configuration, as it should, but there was some error in the file that prevented Kopernicus from acting on it in a meaningful way. Inside of your planet's log folder, there will be a log file, typically with the '.body' extension, that tells you exactly what Kopernicus did as it was processing your planet. At the very bottom of that log file, you'll usually encounter the error that caused Kopernicus to fail, and you'll be able to see what part of your planet's config file Kopernicus was looking at when it encountered an error.
From there, you can inspect your config file in search of the problem.
**TL;DR:** there is no special setup needed. All you need to do is create a text file with the .cfg extension anywhere in KSP's GameData folder and the game will pick it up on its own.
@@TWGuardian oh wait. So use kopernicus’s .cfg file?
@@TWGuardian I used the .cfg extension and also, I just pasted my code into the .
Tell me your email, i need to ask you something
I cannot publicly post things like my personal e-mail address, I'm sorry.
As an alternative to TH-cam, you can use the KSP forums or Discord to contact me.
The White Guardian okay
didnt help at all
How nice of you to leave a snarky comment instantly putting the blame on me instead of checking in the Kopernicus log files to see what the issue is with your config file, or otherwise giving me any indication of what issue you're having. What do you expect me to do? Wave a magic wand and telepathically fix your script?
Normally I'd assist people with debugging their planets until they work, but with that attitude of yours, I don't see why I should care.
its broken where did i mess up cuz it has 4 brackets not 5 also i used visual studio code:
Kopernius:AFTER[Kopernius]
{
Body
{
name = Anderoupia
cacheFile = Anderoupia/Cache/Anderoupia.bin
Template
{
name = Kerbin
removeAllPQSMods = PQSMod_VertexHeightMap
}
Properties
{
description = 'A blue marble full of high mountains and deep lakes. A blend of the great Duna, and our Kerbin.'
radius = 400000
geeASL = 0.8
isHomeWorld = false
tidallyLocked = false
rotationPeriod = 10800
timewarpAltitudeLimits = 0 1000 10000 30000 40000 50000 60000 70000
ScienceValues
{
landedDataValue = 10
splashedDataValue = 10
flyingLowDataValue = 7
flyingHighDataValue = 5
inSpaceLowDataValue = 5
inSpaceHighDataValue = 4
recoveryValue = 60
flyingAltitudeThreshold = 25000
spaceAltitudeThreshold = 400000
}
biomeMap = Anderoupia/PluginData/AnderoupiaBiome.png
Biomes
{
Biome
{
name = Deserts
value = 4
color = 92.5, 100, 0
}
Biome
{
name = Grasslands
value = 4
color = 9, 100, 0
}
Biome
{
name = NorthPole
value = 4
color = 100, 100, 100
}
Biome
name = NorthPole
value = 4
color = 56.2, 56.2, 56.2
}
}
}
}
Well, for one, you write "Kopernius", which is wrong. So ModuleManager will be trying to target 'Kopernius' instead of 'Kopernicus'.
"removeAllPQSMods = PQSMod_VertexHeightMap"
This is basically a Frankenstein's monster. Either write 'removeAllPQSMods = true' to remove all mods, or use 'removePQSMods' to target specific mods, separated by a comma.
For the description: you don't want to surround strings with apostrophes, that's not necessary in cfg files.
Regarding bracket mismatch, that's up to you to solve. Since you use VSCode I presume you're more familiar with programming in general so that's probably not too big a dive into the deep end. A tip I can give here is to indent the contents of a node, like one would the lines of a function. That should make it easier to see which bracket pairs are not closed.
@@TWGuardian i thought thats what you used so i did the "same"
i fixed the mistake
@@TWGuardian I forgot To Install Kopernicus, I'm Stupid😅
where do you write the code?
Where do I end the code
There's no specific end to computer code. Everything inside a Body{} wrapper is regarded as information for that specific planet. Once you feel like you've specified everything that you wanted to specify you can just save the code and try it out!