Taking the Guesswork out of Using Sasquatch for Furred Characters.

The following 5-Step process is not so much of a step-by-step tutorial, but an overview of the workflow that I use to generate predictable results when creating texture maps for Sasquatch. Software manuals can easily answer any specific questions you might have, so there is little point to reproducing the efforts those authors have already put forth. But hopefully, the personal experiences I've had creating furry 3D creatures will not only save you time and potential headaches, but open some creative possibilities in your work.

Step 1: Pick a Critter, then Research it

I thought creating a shaggy, realistic looking werewolf would be an excellent way to learn and show off the amazing capabilities of Sasquatch. Using my own dog Tair, a Siberian Husky, seemed perfect for researching realistic fur lengths for such a character. (Fig. 1A) I set to recording how the Length, Density and Combing of his pelt changed over various parts of his body. I would use this detailed data later, for painting my fur maps. Accurately modeling features like his teeth were another matter, since he didn't like me looking in his mouth, so I bought a plastic taxidermy jaw set of a wolf and used many photos and other related materials for my research. The goal was to make this fantasy character as believable as possible. (Fig. 1B)

Step 2: Build Your Model to Real World Scale & Test Fur Length

Here is the geometry we're going to use for this article, shown in comparison to normal human scale. The werewolf model already implements much of the earlier research that was collected and is now ready for some fur tests! (Fig. 2A) Load the geometry of the model into Layout and apply Sasquatch to it. Don't worry what it looks like right now, there will be plenty of time to tweak later. I'm just concerning myself with testing Length at this point.

Set the value of SAS's Length to match the maximum length of the fur that your character needs for its pelt. (Fig. 2B) The reason for this is that you need to generate a scale of values to use when you paint your fur maps. My object's scale is 2.94 m in SAS, so a Length value of 40% brings me to 95 mm, which compares well against the longest hair length I recorded from my dog Tair, at his smaller scale. (Fig. 2C) I generally assume the minimum value is 0 for no growth, but it doesn't have to be. You'll see why, soon enough. Once you get your min and max fiber length values, record them with your other research data. We'll use this information in the next phase.

Step 3: Build a “Logarithmic Range Bar” for Reference.

What's a range bar and why bother with it?

It's actually a very useful tool for showing the logarithmic progression of fiber growth from a linear range of greyscale values used in Sasquatch. Steve Hurley from Worley Labs, once suggested that I build one, after I discovered my furry model was bald in some spots when I painted my maps. This was due to SAS evaluating my images differently than I had assumed. I know people who have used SAS for a long time, and found that many didn't realize it wasn't applying their image maps in a non-linear fashion. Understanding this concept is the key to painting your maps more accurately!

I made a map for my bar by painting a black to white gradient, 800 x 200 pixels, and didn't dither between the values. (Fig. 3A ) I took the time to subdivide and label the gradations on the image, but you don't have to. I then stuck the map on a box in Modeler that was 1 m X 12.5 cm, (Fig. 3B) and applied the gradient map to the top and side. (Fig 3C)

Once you have have made your version of a range bar, you can use it to choose the exact values you need when you create your UV maps for SAS. To use it, load the bar into an empty Layout and apply SAS to it. Turn off all the styling, gravity and dynamics in SAS. You want the fibers to grow up straight. Set the size of the bar to the same scale of your model (which was 2.94 m in this case), then enter your min and max Length values. (Fig 3D) The bar will now accurately display what values generate the fiber lengths your need for your character. By the way, this bar is also a great way to efficiently test wind dynamics settings for your character!

This illustration shows the way Sasquatch interprets a linear gradation from black to white, using 2 different Density settings. (Fig. 3E ) As you can see, not all of your greyscale values are going to show up like you might expect. This is another reason why I prefer using UV Maps over Weight Maps, since weights can only be within a range of -100 to +100. If you want more subtle blends between values, I suggest sticking with UV's and image maps for finer control.

Step 4: Create a SAS UV Map

Creating UV's with organic models in Lightwave is really a deconstructive process. Basically, you have to disassemble your model as if it were clothing and you were opening up the seams. Then, you flatten the cloth to map UV textures onto each of the pieces. Stuart Ferguson and Meni came up with this basic process, and though it's tedious, it is well worth spending time on and learning. I've modified their basic concept to save time and computer resources:

1. Cut the model in half (Fig 4A-1) and then create a temporary endomorph target. I'll call mine, "Temp_UV", so I won't confuse it with any others I might have on the model. (Fig. 4A-2)

2. Logically disassemble the seams in your model using "Unweld", as if you were removing the seams from clothing. Use point sets to store complex selections, in case you mess up. Use "Select Connected" to move sections and ensure a clean cut. (Fig. 4B)

3. Flatten and arrange the pieces you removed from the model, to just one axis. This is tedious, but well worth the effort. (Fig. 4C)

4. Create a new planar UV Map and ‘Flash’ the texture data onto the points of the morphed model. (Fig. 4D)

5. Delete the temp EndoMorph, so that you can re-merge the mirrored model back into a whole mesh. (Fig. 4E)

By cutting the model in half and worrying about only texturing half of the model, you save time and RAM. Mirroring will copy any point data to the other side of the model for you automatically, so if you already have symmetrical morphs on your character, they'll work fine. (Fig. 4F) If you wish to make your character's maps asymmetrical, you can simply later rename the UV's that were mirrored, then use the same image maps as a basis to create variations from.

Step 5: Export EPS of UV Map to Photoshop then Paint Maps, using Layers.

Ah, finally! We're ready to start using the UV data we created! I prefer using a tablet when I paint my textures, since I can control the application in a much more subtle way. I highly recommend that you buy one, if you're going to do a lot of organic mapping. I have a 6 x 9 Wacom I use at home and it's perfect for this kind of work. If you don't have a tablet, you'll be more dependent on using feathered selections and manually blending between your gradients more.

Also, Remember to save your image files in a format that retains all the layer information so you can always go back and tweak or add new maps. I always work with a .PSD file in PhotoShop, then use the "Image / Duplicate" option, to flatten and save out my final maps. This way, if I make a mistake flattening and saving with the master file, it won't ruin all of my work.

Here are the basic steps to create accurate SAS maps:

1. Save your UV Map Texture from Modeler as an EPS image file. (Fig. 5A-1) Choose "File / Export / Export Encapsulated PostScript", and save the Texture UV View. Then, load it into your paint package of choice. Remember, it's always better to move down from higher resolution maps, then up from lower resolution ones. Don't be afraid to work large. (Fig. 5A-2)

2. Start with the fur color maps first, to resolve any seam issues. (Fig. 5B-1) You will want to work back and forth between the OpenGL preview in Modeler, and your paint package. Use your reference materials to add details that suit your model. (Fig. 5B-2)

2. Paint Length and Density maps next. These are the two most important maps to get right before you get fancy with styling fur. Using your rendering of the range bars, you can pick the values to use for your Sasquatch maps, with the color picker tool. (Fig. 5C)

3. Play and experiment with combing and styling, once the base maps you've tested work. The most important part of this step is to have fun! And here is the completed werewolf character, with several other maps (clumping, curling, combing, etc.) added to style the fur. (Fig. 5D)

As you can see, there are a lot of little details that you can add to your character as you build upon your basic fur maps. Sasquatch is a very powerful rendering system and it's one well worth getting to know. Every time I use the plugin, I learn something new about it. I'm always amazed at the quality of the look I get from it, and I highly recommend buying this beast. It has helped transform my work from the ordinary, into something unexpectedly organic and lifelike.

Rowsby started using version 3.0 of Lightwave. Produced industrial videos and interactive presentations for government, museum & corporate entities. Client list ranges from Alcoa to Zippo Manufacturing. Worked on Roughnecks, Max Steel & Dan Dare. Currently working freelance.



The Japanese version of this tutorial was printed in the Japanese Computer Graphics World magazine in February 2003.