Simple normals in GIMP

From Cosmoteer Wiki
Jump to navigation Jump to search

Disclaimer

You should probably just generate your normals with ModLab instead of following this tutorial.

If for some reason you can't, you can use this to progress in the meantime, or to fix small details or things Modlab got wrong.

Context

This short tutorial uses GIMP 2.0, which is free software. There are others, but they're not the topic of this particular tutorial.

So you're making custom visuals for a new part and your "floor" files are done, or maybe it's a projectile and your sprite is done.

"Normals" are image files with illumination information, that make visuals look more "3D". You need normals now, so that your new part doesn't look flatter than the rest of the game.
It might be easier to start with the normals and then draw the roof later but that's your call.

Rules for normals

Because they are special images that affect how the light will shine on your roof visuals, there are strict rules to follow for normals :

  1. Try to only use colors that come from another normals image.
  2. Each color represents a particular orientation of light, so use the right color on the right "side" of whatever visual element you're drawing.
    • Permanent holes (ones that look down into space) have no color, they're transparent.
    • Light grey is used for flat armor surfaces, but also the burn marks and holes from damage seen in Damage Levels "33" (for 33% damaged) and "66" (for almost destroyed). These grey areas should overlap with both the black burn marks and damage-related transparency holes in your roof_33 and roof_66 files.
    • Everything else is some faint blue, teal, or pink color. That's where the light will really influence the look of the part. If you get these colors wrong it's bound to look weird.
  3. If there are multiple roof, roof_33 and roof_66 files, like Factories have, there should be a normal for each.

Because of all this, start from reference images picked from a part (or many) that resembles what you want to make.

CalloutIconWarning.png
Warning
Keep those references safe, never directly edit them. The "Lock layer" feature may help.

Here is an example reference, from the Chaingun Magazine's folder.

ChaingunMagazine roof normals 33.png

Basic technique

You can produce your new normals with just these 3 tools :

  • Selection (rectangular mostly, elliptical if you happen to find round elements you may want - switch by right-clicking the tool's icon).
  • Pencil, 100% opacity, size 1 pixel with "hard edges" turned On. This is crucial because by default hard edges are off, and this will smudge half-transparent color around what you're drawing, altering the picked colors and messing up the normal's meaning.
  • Color picker. This is important to select the exact colors from your reference images.
  • This isn't exactly a tool, but Zoom in with the mouse wheel as much as needed to be precise in your selection. When you zoom out again, everything will look much better!
CalloutIconTip.pngTip
Manipulate your selection selection as needed with "Invert Selection" (Ctrl+I) and "Deselect All" (Ctrl+Shift+A).

The first normals

1. Background / filling

First, identify the "background color" (the most abundant) of your reference and copy that all over your new part's layer, except where there should be a hole over space.

2. Shapes

Then, copy-paste more distinct elements from the reference, either whole or bits of them, to create the shape of your part.
If you use bits of square elements, pay extra attention to the colors in the corners. They are almost never the same as the colors of the neighbouring edges.
Use as many layers as necessary. You can collapse them later on into single layers by right-clicking them and choosing "fuse with the layer below". Just make sure the layer below is the right one. Repeat until you have complete pieces. Move those finished layers around to place them as you want over the background color. The best part here is that if your part has any repeated patterns (pipes, weapon barrels...) you can just copy-paste these once you've finalized one!

3. Details

Some elements may still be incomplete or look unfinished. Use the color picker to get the exact appropriate color depending on what side you want to draw, then draw the missing details by hand.

To save time, you can hold Ctrl for straight lines, and use that to draw rectangles that you can then use with "contiguous selection" or selection by color tools to easily fill large areas.

CalloutIconTip.pngTip
Watch the bottom of GIMP's UI when you use a tool in general, it will tell you about hotkeys that modify the tool's behavior.

Damaged normals

When your first normals image is ready, you can make the normals_33 image much faster :

  1. Copy your clean normals and rename that normals_33,
  2. Create an empty transparent layer above normals_33,
  3. Use the Color Picker for the light grey that represents damaged zones and finally draw the damaged zones on that transparent layer. Again, these should overlap the black and punched-in parts of your Damaged visual files. The easiest way is to add the Damaged image at the top of the layer hierarchy and give it lower opacity so you can see through it. Just be sure not to draw on its layer by accident.

This is called non-destructive drawing, because if you're unsatisfied with the result, you can just erase the contents of the light grey layer (some or all of it) and try again.

Repeat for normals_66.

Export the 3 (or more) normals images to PNG and put them in your new part's folder.


If the paths are correct in the .rules file of the part or projectile that uses these normals, you're done!