Character practice
Here’s a quick painting I did today to see whether I’d forgotten how to paint, and whether my gesture studies were paying off. Compared to some older work, this isn’t so bad!
What impressed me the most, however, is how much my painting ability improved due to drawing. I hoped the proportions would be a little better and perhaps things would align in perspective, but I believe that drawing somehow helped me choose colors and values as well. There are plenty of mistakes, but I believe it served its purpose.
I thought I was being fairly creative with this piece, which is laughable considering it’s a girl-with-gun/space marine! What was I thinking?!
Delays…
Making animated Gimp brushes, part 1
There are lots of Gimp brushes out there, but not that many that harness the power of the Gimp’s brush engine. I believe this is due mostly to the complexity of creating the brushes, and so I would like to give an explanation here that may help more people to understand Gimp’s brush system.
This tutorial assumes a basic familiarity with the Gimp. I expect that you know how to use layers, copy and paste portions of an image, and work with multiple images at once. I also assume that you’re using a Wacom tablet and can test pressure sensitivity.
Now, it’s difficult to explain how the Gimp’s brush system works because some of the concepts are recursive. For instance, understanding X means you have to know Y first, but Y has some concepts that can only be understood once you know X! I’ll try to make things as simple as possible, but at times I may ask you to be patient and simply take certain concepts for granted until I can explain them.
Lets start by looking at an animated Gimp brush in all its complexity. The following brush is from my Gimp brush pack I released recently. Download it and open it in the Gimp, or just look at the image.
As you can see, there are about 290 layers, each with a different variation of how the brush can look. Each of these variations is called a “cell”. When you make a brush stroke, Gimp chooses which of these cells to use as the brush depending on the direction your stroke is going, pressure sensitivity, etc.
So now we know what a Gimp brush looks like as its lowest level, but how do we control which cell Gimp chooses, and do we REALLY have to make hundreds of layers by hand? That sounds awfully hard…
You’ll be happy to know that you don’t have to make each layer by hand. You can arrange your brushes into several cell-grids on just a few layers and the Gimp will separate each cell into its own layer when you save. Unfortunately, this is where some of the recursive concepts I mentioned earlier come into play. Take a look at this image…
This is the save dialog for an animated Gimp brush. “But Nathan,” you say, “the brush I want to make isn’t animated – it just needs to rotate!” Well, that’s just the Gimp’s name for any brush that needs to choose between multiple cells based on a variable such as brush rotation. Lets look at the dialog a little closer…
Now, the configuration options that tell the Gimp which cell to choose begin after “cell size”, but I’d like the explain the other ones first. Skip ahead to Animating Brushes if you think you know this.
When you make a brush stroke with the Gimp, it tracks the distance your mouse/pen moves while making the stroke and pastes a cell of the brush onto the canvas every few pixels. Smoother-looking brushes make the spacing small so you can’t see the gap between images, and brushes with textured effects make the gap large so the cells don’t overlap and obscure the texture.
You will have to experiment around to find the best setting for your brush. As you may have guessed from the save dialog, the brush spacing is a percentage of the cell resolution. If your cell size is 64 by 64 pixels and your spacing is 100%, that means that every 64 pixels a new cell will be pasted onto the image. If the spacing is 50%, then every 32 pixels a new cell will be placed, possibly overlapping a previous cell and making it appear like a continuous brush stroke instead of a bunch of cells pasted in order.
Description is the name of your brush as it appears in the Gimp. This can be the same as the file name if you want, or it can be a description of what the brush looks like or how it acts. In my brush pack, I sometimes used it to remind me of which brushes rotate or have pressure sensitivity.
“Number of Cells” is generated automatically from Cell Size. You shouldn’t ever need to mess with this. However, if you’ve added new cells to an old brush, Gimp might not detect them right away. Just re-enter the cell size and it will recalculate the number of cells.
Animating Brushes
Okay – Lets talk about how to make a genuine animated brush!
Lets start with how the Gimp calculates which cell to use, and then discuss how you arrange your cells. This is the X and Y stuff I mentioned earlier. How you save your brush depends on how you’ve arranged your cells, but the arrangement of those cells needs to be tailored to the Gimp’s saving method. Confused? Don’t worry, it’ll all make sense shortly.
Remember when we looked at bristlybrush.gih earlier? It had a whole bunch of layers for each cell. These cell layers are in order, and the Gimp chooses which one to show based on settings called Dimensions. These dimensions are configured in the save dialog.
A dimension is a variable such as stroke rotation, pressure sensitivity, etc. Each dimension has “ranks”, which divide the layers into sections. The Gimp chooses which section to get a cell from depending on what value the dimension is currently at.
For instance, say we have a simple brush that’s based on pressure sensitivity. It has 10 layers, each one representing what the brush will look like at a certain level of pressure. When we save this brush, we want to tell the Gimp to save it with one dimension – pressure – that has 10 ranks to choose from.
That should do it! If you save the above image of the 10 fuzzy circles with the above settings, you will have made your first animated Gimp brush! Just remember to save it with a .gih extension (example: softbrush.gih).
Lets talk about multi-dimensional brushes.
Earlier we made a brush with 10 layers, controlled by 1 dimension with 10 ranks in it. That means that for every rank there was a single layer and everything was even and clean. What if, though, we had 20 layers? The layers would be divided into the number of ranks in our first dimension, which gives us 2 layers per rank! How does the Gimp know which cell-layer to use now?
Easy. The second dimension handles it.
In the above image, we have a brush with 20 layers. It’s divided into roughly 10 levels of brightness (for pressure sensitivity), but each of those levels also has 2 variations: horizontal and vertical lines. If this weren’t just an example brush, perhaps each variation would be a different grunge pattern so you could give a gritty look to your artwork. Our goal is to make the brush increment between horizontal vertical lines while paying attention to tablet pressure. Lets look at the save settings for such a critter…
Things should be pretty straight forward from here. We can see that first the Gimp chooses which level of pressure to use by dividing the 20 layers into 10 ranks of pressure. Gimp then chooses which rank to use based on the tablet pressure and passes those layers onto the next dimension.
As we already know, the second dimension is going to be given 2 layers to choose between. 20 / 10 = 2. We divide these into 2 ranks so everything is nice and even again, and then let it choose which cell to use.
If we want to utilise additional dimensions, up to the Gimp’s limit of 4, you simply need to multiply each rank in the previous dimension by the number of ranks you want in your new dimension, and make each new cell a variation for your new dimension.
Now you should understand how to save Gimp brushes. I hate to cut this tutorial in two, but I believe it will be easier for me to complete if I do. I apologise for my selfish reason, and hope you will come back next Thursday when I will finish the tutorial with an explanation of how to arrange your cell grids and layers in preparation for saving.
Until then!
Color management
Here’s a quick color study that I can only hope you see in the same colors I do.
Color profiling is a complicated subject which needs to be managed on many different levels in order to work correctly. I took a stab at explaining it, only to find out that I was horribly wrong about how I thought things worked. Thankfully, David Revoy just posted a tutorial on color management with open-source tools.
http://www.davidrevoy.com/index.php?article77/color-management-soft-proofing-and-cmyk-with-floss
David Revoy is an excellent artist who works primarily with open-source tools. He’s inspired more than one of my blog posts, and his blog is a must-read for anyone interested in painting on Linux.
Jumping through hoops.
I know I’m supposed to only write original content here on my blog and Twitter, but I don’t always. Case in point, today I’m doing a little free advertising for 3d.sk by linking to one of their affiliate sites, http://www.artist-reference.com. I’ve never had enough reason to subscribe to 3d.sk/et al, but I appreciate their efforts to provide usable samples of their products to artists. With that said, the day they begin selling DVDs of reference material is the day my wallet will suddenly feel lighter. ; )
On to original content, this is apparently the last year for the legendary Dominance War contest. I will be entering, if only for the sake of saying I did. You can check up on my progress on my gameartisans.org thread.












