Tutorial:Making an asset from start to finish

From Kerbal Space Program Wiki
Revision as of 21:14, 15 December 2012 by Andersenman (talk | contribs) (Step 2 - Understanding Folder Design: fixed typo)
Jump to: navigation, search

Currently in Progress

Creating a game ready asset

You can use this at any time during your asset creation to refer to and to troubleshoot with. This is a step by step guide to creating the cool mods you see in game. This tutorial is not for the faint of heart. Proceed at your own discretion.


  • Length: Varies by user
  • Difficulty: Intermediate
  • For version: Every version


Step 1 - Choosing the program

Despite popular belief, this is not an important step. Any old program will work. The main ones:

3ds Max (Good to go)

Maya (Good to go)

Blender (Good to go)

Wings 3D (Cannot import .DAE models)

Sketchup (Needs a .DAE importer/exporter)

Cinema4D (Doesn't auto unwrap by powers of 2; exports do not function)

Step 2 - Understanding Folder Design

Folders, in order to be loaded correctly, have to follow a very simple structure:

First of all, there's your main folder. Can be any name, really, just make sure there's no underscore.

Inside of it, there can be 3-4 things: another folder named "textures", your model mesh (usually a .dae), and a file named part.cfg. If you wish to include sounds, an additional folder named "sounds" should be created.

Things to keep in mind:

Your texture must be in the folder labeled Textures. That "s" is important, tiny things like that will corrupt your part. The same thought scheme applies to sounds.

Your part.DAE is simply your exported mesh and its collision.

And your Part.CFG is your text file correlating all of your names (case sensitive) so the game can run from the locations.

Step 3 - Creating The Asset

This part is completely up to the user. Anything that you can dream up, with feasibility in the Kerbal world is acceptable. Everyone will make different assets depending on their program fluency, desires, and expectations. Some things to keep in your mind while creating an asset(s);

  • Triscount
  • Unwrapping
  • Textures
  • Boundingbox (Collision mesh)

Tris are what every model is made out of in any 3D game to date. No matter what program you use a game engine will split your model into the smallest geometric shape; a triangle. This should be your unit of measure when judging the complexity of a model. The vanilla, or stock parts, default pieces issued with the game are the best judge for what the KSP is built for, and the mod packs on the forums are the best judge for what the limit is.

The triscount for most of the stock pieces are around 300 tris for small pieces like the TT-38K Radial Decoupler, and 2000 tris for pieces like the LV-T30 Liquid Fuel Engine and a general 1000 tris count for the boosters, fuel tanks, and pods. When assessing your tris count it's necessarily to keep in mind you want an optimized number. You want to have the lowest tricount possible, without taking away from the integrity of the model's silhouette. When modeling one can get lost in adding detail, and whilst finishing up it's important to give your model a twice over. Don't feel bad if you aren't quite satisfied with your model: remember that what gives a soul to the model really is the texture.

Step 4 - Creating The Collision Mesh

It is simply a matter of creating another separate mesh in the program you are using that has a reasonably close resemblance to the object you have made. It must be convex, and must NOT be parented/joined to the main mesh.

This will be the object KSP uses to calculate collisions and physics with respect to your part.

This collision mesh is to be called "node_collider"

Once it is named, add one empty material to it, and you are set to go.

Step 5 - Unwrapping Your Asset

This step varies from program to program. Refer to your program's documentation to make sure. Essentially, this part binds the faces of your model to a specific spot in your texture file. There really isn't much to be said about this; experience is what makes good unwraps. Once you have distributed the faces around the UV plan, make sure to make a render/snapshot of the UV position, saving the resulting image in a PNG file that has a format in powers of two (128x128 or 256x256 is ideal, 512x512 for high-detail meshes. 1024x1024 is beginning to be a bit large.)

Location of the UV unwrapping tool in...

Maya: Polygon menu set, upper left. There's an icon for it at the very end of the lane.

3ds Max: Select an object or a group of objects. Open Modifiers menu, on the right, and select UV Unwrap. Scroll down, click edit.

Step 6 - Exporting Your Asset

Again, it depends on the program, but usually you're going to want to export it using the COLLADA exporter plugin (for Maya and 3ds, it's available on the Autodesk website). Export it as a .dae - although here's a list of things to make sure your plugin is well configured:

-Your axises: make sure that the plugin is set to convert your model to the Y-up convention, else you risk having a sideways model. -The scale: set your plugin to convert your model to a scale of 1unit=1m (setting the units measurements to meters). You're going to have an oversized/undersized model.

Step 7 - Preliminary configuration

At this point, you may open the part.cfg to allow partslab to load it (refer to this tutorial for the format). Complete up to asset parameters, inclusively - the rest isn't too important for now.

Step 8 - Texturing your Asset

Open your UV render in your image editing program of choice (I personally recommend Gimp or Photoshop, but MSPaint is fine too). Get artistic, following the lines of the UV map so it actually shows on your model. Save it the same format, but try not overwriting the UV - it's always handy to have. Again, here, there is only experience which will make you good - although a quick tip: premade textures are quite handy to have (such as metal textures and such) if you're feeling lazy/unambitious/unskilled. Trial and error is quite often used here. You may use the PartLab, available on the download page, to check the progress/if it's right.

Some say it's possible to do so before exporting the model by importing the texture into the 3d modelling program, but I have never found out how. Keep me updated (Killerhurtz on the forums) on how to do this if you figure it out.

Step 9 - Back to the config

Now that you're satisfied with your texture, it's time to finalize your .cfg file. Again, refer to the documentation as to how to outfit it.

Quick tips:

-NODES Having your mesh open can help setting the different nodes (under 3ds Max, there is even a plugin to get the correct, high-accuracy node vector available with the SDK). The angles aren't really angles: they show the second point of a line with which the model is going to align itself.

-EFFECTS --Graphical effects You may refer to this thread for a list of effects you may use for your parts.

Step 10 - The Last Checkup and the preparation

Now, in theory, you should have your full part. However, don't get ahead of yourself - you'll only attract shrapnel if you jump right in. Be sure to test your part thoroughly (an easy way to do this is to have a clean install dedicated to testing new parts to make sure it works before sending it into your main install). Tweak it as you want it to feel. Once you're satisfied, make sure to take a few screenshots of what your part(s) look like. Upload your pictures and part(s) somewhere (I wouldn't recommend dropbox - too high traffic might get your public folder disabled for sharing), save the links. Once all of this is done, you may proceed to...

Step 11 - The Release

Using the links you have previously acquired, make a thread in the Projects and Release section of the KSP forums. Post it, wait, and bask in your newfound success!

Step 11a - The updates

This step is entirely optional. You may choose to continue working on your part, using the criticism of your peers as inspiration.