Dean's Skinning and Modeling Tips

Here’s the deal. Over my short and regretfully more than shitty experience, I have picked up a fair bit of handy hints over the years that I’ve skinned, modeled, and mostly skinned. This

isn't a tutorial

mind you; it’s a bunch of tips to help solve common problems. Here’s a few tips I’ve learned.

*Everything in this post will correspond to Adobe Photoshop, 3D Studio Max. Any other programs will have links. So you know, a warning and shit.

What you got to do is press Ctrl + F in your web browser, type in the number next to the subject (1.A for example) and it should take you there so you don’t have to scroll down my beautiful page.

1.A - Normal Maps
1.B - Height Maps
1.C - Specular Maps
2.A - Rigging
3.A - Miscellaneous Tips
3.B - Vocabulary

Frankly, I’m not sure if normal and bump maps are the same thing, but for now they are. These are purple colored textures that add more detail to your model via making light bend differently on them. There are a number of ways to make them, and here’s what I find are the best.

CrazyBump is a paid program that creates bumpmaps with a built in 3D viewer. It’s worth the 30 day trial.
However, there are some drawbacks. It won’t instantly create great normal maps for you. You have to play around with the settings. You might even have to mix and match normal maps and I will get to that in a little bit. Plus the fact that it’s not really free aside from the trial is a pretty big drawback.

Here is an example of a normal map made using CrazyBump with this image.

nVidia Photoshop Plugin
While not as powerful or diverse as CrazyBump, the normal map filter Photoshop plugin is a good way to quickly make a bump map in Photoshop. Your basic tools are there from setting the power of the normal map to changing the direction the light is facing. The filter is better for smaller details you need to get that CrazyBump can’t. Get it here.
It also comes with a way to view .DDS files as thumbnails. Very helpful, and I suggest you install it.

Here is an example of a normal map made using the Photoshop filter with this image.

Autodesk Mudbox & zBrush
Both of these programs do the same thing; edit extremely high poly models with extreme detail. While it can be used for modeling, it can also be used for making normal maps. Neither of these 2 programs are free, however both have free trials you can get here and here.

Neither of these programs automatically generate normal maps, either. They require lots of time and especially skill. Mudbox and zBrush are also mainly for organic models like clothing or animals. If you have a tablet and are a good artist who’s interested in making high poly models or bump maps, this might be what’s for you. They’re mostly modeling tools, so you might have to look up a tutorial on where to find the bump map sections. I should also mention that it’s fun.

Due to the time required for Mudbox and zBrush, I don’t have an example of the work it produces.

Mixing and Matching
This isn’t a program. You’re using Photoshop or another art tool to combine 2 normal maps together. Do you see the CrazyBump normal map compared to the
Photoshop filter one? CrazyBump’s has nicer edges, however the detail on the bricks of the filter are also nice. Putting one layer of the bump map on top of the other and then erasing the parts you don’t like is how to do this.

Here’s a shitty example I made.

Height maps are essentially the same as normal maps except greyscale. I believe there are pros and cons to using them, but honestly I forgot what they were. Height maps do not work in the Source engine so don’t try it.

Height Map to Normal Map Conversion
The extremely common mistake of making normal maps out of height maps is to simply put it into a normal map generator like CrazyBump or the Photoshop filter and then you’re done. If you’re porting something from a game that uses heightmaps for example. There is an extremely fucking easy way to do your own height map to normal map conversion that takes 2 seconds and without leaving the comfort of your Photoshop.

First though: if your heightmap is in JPEG or PNG or something, you’re fucked until you can find a TGA or PSD or DDS version of it. JPEG and PNG don’t use channels.

What you need to do is open the heightmap you want to make a normal map of and then go into the “Channels” tab. I’m using Photoshop, but I’m pretty sure Gimp and other shit like it have channels. Anyways, there should be 5 things in there; RGB, Red, Green, Blue and Alpha. Click on the bottom one (Alpha), Ctrl + A (select all) and Ctrl + C (copy). This will copy what’s in the alpha channel. If you flick back from the alpha channel to another channel, you’ll notice the lighting is different in the alpha’s.

I just noticed you could also press Ctrl + 6 to select the alpha channel, so oh well.

Once that’s done, go into the Red channel and paste the alpha channel. If you click on the RGB channel, you’ll notice it’s still greyscale with some red lines on it. We want to fix that, so go into the Blue channel. Find the “Image” tab at the top of Photoshop, then click “Adjustments” and then “Brightness/Contrast”. Turn the brightness all the way up to 100, and then turn the contrast down a little bit. Contrast isn’t necessary, but simkas told me it helps.

When that’s done, your height map larva has transformed into a beautiful purple bumpy butterfly.

Making Your Own Height Maps
Make a normal map, then Ctrl + Shift + U in Photoshop. :haw:
*refer to 1.A for making normal maps

Specular maps, at least in my opinion, are extremely fucking underrated. They’re fantastic, yet not a huge amount of people use them. Lets say you find a big metallic disk in your room one day. It looks clean, but if you move it around in the light you notice the light isn’t as strong on a bit stain that looks that coincidentally looks like a big dick on your new metallic disk. Imagine that as specular maps. They bend light.
*Specular maps work best with phong

This chart is to refer you to how things look in a specular map. If you make a texture of a guy’s shirt with a blood stain on it and want the blood to be shiny, you’ll make his shirt black and then color the blood white. If you add some phong or a cubemap, which is basically shininess in the Source engine, it will only make his blood shine in the light.

Making Your Own
Spec maps are easy to make compared to the other stuff here, but they do require some skill in drawing shit. Depends on what you’re doing.
Here is the original.

You need to desaturate the map first, which is Ctrl + Shift + U in Photoshop. Here comes the common sense part. I’m going to turn down the contrast on the shirt part and make the dirt shinier by making it white, then increasing the brightness of the skin so it’s shiny and putting some grain on it. Using a black soft brush with a low opacity is a nice way to make specific things darker.

And here it is after about 5 minutes.

The light grey parts on the shirt will be shinier than the rest of it, and his arms will look like they’re super sweaty. Here are some color suggestions for different things you might encounter:

Clothing - black
Buttons - white
Flesh - grey
Blood - white
Monitor/screen - white
Hair - black
Dirt - black
Metal - grey (maybe with a metal texture overlayed on top)

I think everything else you can figure out yourself. I think it’s common sense of what should be shiny and what isn’t. Shiny clothing looks ugly in most cases.

Helpful advice from friendly neighbor Lt. C:

Rigging and weighting bones are the same thing. In the most basic sense, it’s attaching parts of a model to a bone. Ragdolls are made up of many bones, IE a skeleton, to move around like they do.

Due to me being terrible at rigging, I was messing around with 3DS Max and stumbled upon a way to do sort of a “cheat” rig, which later I found out many people use. This is technically not the proper way to rig, however it is a fast and less frustrating way than making your own rig by hand. It’s also not perfect, and I’ll cover how to fix that later.

Getting that shit started
First thing’s first; get a model you want to rig. I got a cop from Modern Warfare 2 and painstakingly t-posed him from the rip. Get something in a T or A pose. I’ll cover those terms later in the thread if you don’t know them.

Now comes the fun part. Decompile and import a HL2 citizen. There are other tutorials on how to do that, so I’m just assuming you either know how already or will stop reading this thread until you do. Doesn’t matter which one as long as it’s the bones you want to use. If you want to import a combine, go ahead. Import whatever animations you want to use, but I want to use citizen’s.

If you notice, their arms and legs don’t match. That won’t be a problem in a bit. Scale the cop/model to the citizen and leave it.

The next bit
Right click on the model you’re rigging (which I will refer to as the cop from now on because I don’t want to type that out again) and hit “Freeze selection”

Next, press F3 to go into wireframe view and select a citizen bone. I picked the left upperarm. Use the rotate tool to make it fit to the cop. Keep doing this until the bones so the citizen/combine/whatever is in the exact same position as the cop. It doesn’t have to be perfect, but try to get it as accurate as possible. Try not to move the actual citizen model instead of the bone. If you do, ctrl + z is your friend.

15 minutes later…

Unfreeze the cop and delete him so it’s just the citizen. Export this citizen as an .smd so it saves the skeleton. After you export it, Ctrl + Z so the cop is back. Now delete the citizen and import the one you just exported. I can’t explain why you need to do this, but you do.

Now the hard part is starting. Select the citizen, then go into his “Editable Mesh” modifier on the right. Don’t double click it, though. Next, right click on the citizen model and find “Attach”. Attach it to the cop.

If a box appears, just press OK. Now you can double click Editable Mesh and delete the citizen with the poly element select tool. Make sure you delete the head too.

When that’s done and you deleted the citizen parts, click on Editable mesh again so it’s grey and select the “Skin” modifier over Editable Mesh. Don’t double click it though. Congratulations, your model is almost done.

Fixer Upper
99% of cases, the rig will not be perfect. If I move the leg bone, you can see there are some vertices that aren’t rigged properly. We need to fix this.

Select the skin modifier and this time double click it. Wireframe mode (F3) or overlay wireframe (F4) is a good way to see which vertices (dots) are fucked up. Make sure you have “Edit Envelopes” on and the “Vertices” box ticked and the weight tool open.

Next, select a leg line. These are bones, but they look like lines in the Skin modifier. Next, with the weight tool open, select the vertices on the opposite leg and weight them to 0. If you do the left leg, weight the vertices on the right leg to 0. Do the opposite side.

Hopefully you do it right. Weighting bones is probably the most frustrating thing in modeling. I believe I uninstalled 3DS Max out of rage at least 2 or 3 times because of it.

Keep moving bones around to see if they’re broken, then fix the weird vertices until it’s all nice looking. Don’t weight everything broken to 0, though. If you have too much of their shoulder weighted to the arm, try weight to .5 or .25. Don’t worry about moving them back yet. Take your time, and be careful.

30ish minutes later…

Import the original decompiled model’s skeleton, not the full model. Now he’s ready to export and compile for Source unless you want to add other shit.

This is just a bunch of random tips I think you should know that don’t necessarily fit into the other parts.

Phong is an important part in a growing boy’s breakfast. Phong, in its most basic form, is shininess on models. It goes in the VMT, and it requires a normal map if I’m correct.

Here’s what I suggest: Open your VMT, paste the phong code I have listed below, change one number at a time, ctrl + s, press F5 in model viewer of the model you have it for then see if it looks good. If not, change the number a bit more. There’s no real way to get phong looking great on the first time, so experiment. I think it’s fun to do so.

	"$phong" "1"
	"$phongexponent" "5"
	"$phongboost" "20"	
	"$phongfresnelranges"	"[.1 0.2 1]"
	"$halflambert" "1"

	"$rimlight" "1"										
	"$rimlightexponent" ""							
	"$rimlightboost" "0.1"

And here’s the commented version so you can tell what it means.

	"$phong" "1" //This is what activates the phong. If you want to turn it off without removing all the lines, change 1 to 0.
	"$phongexponent" "5" //This is how thin or wide the light is. If you want it look like wet rubber with a very thin light streak. Lower numbers is fatter streak.
	"$phongboost" "6"	//This is how powerful the phong is. Try setting it high for experimenting to see more clearly (around 50 maybe) then set it down lower.
	"$phongfresnelranges"	"[.1 0.2 1]" // First number (.1) is an exponent of how powerful the phong is. I suggest you leave it. Leave 0.2 as well. 1 is how bright the phong gets depending on how close the light is to the edges of the model. It's like rim lighting, except not on all the time. Every new number in fresnelranges is seperated by a space like (1.3 5.6 2.9) or 1.3, 5,6 and 2.9.
	"$halflambert" "1"

	"$rimlight" "1"	//This turns rim lighting on. I highly suggest you be careful with rimlighting. In most cases, it looks bad.														
	"$rimlightboost" "0.1" //I suggest you leave this

3D Ripper DX Recommended FOV Ratios
When you’re importing a .3DR file from 3D Ripper DX(Program that takes a virtual 3D screenshot of a game for use in 3D programs), in the import box there’s an option to have a recommended Field Of View, that if you’ve ever imported a .3DR without it, you know will fix the disproportioned models.

When you’re saving a VTF, for fucks sake never ever ever save as DXT1 format unless you’re doing a very low contrast bland color. DXT1 is basically made only for that, and as such looks like fucking shit otherwise. BGR88 is better. The filesize for BGR88 is much greater than saving in DXT1 and you don’t need to use it for all textures, but for example the FSB Modern Warfare 2 lookalike models that ddok1994 made’s textures have some bad compression on the textures so they look like poop. Don’t use DXT5, either. I always thought that was better than 1 but I just did a test and it’s worse than DXT1; so don’t use any of the DXTs.

Now carefully look at the comparison I made between the original texture, and the one I exported as DXT1

See? Messes it up, right?

3DS Max in Fullscreen
If you press Alt + W you’ll go into fullscreen. I took me a long fucking time to figure that out.

Quick Hexing
Quick hexing is similar to normal hexing. If you have a skin for male_02, name the model as a quick 1 letter replace male (mole_02/nale/pale/malo/etc.) and then scroll down to the materials and just rename the texture you’re replacing instead of the folder. For instance, citizen_sheet to citizen_poops as an example. I’m sure this is common sense, but I don’t have anything else to add to this section.

Texture Sizes
If you’re going to make normal and specular maps, they should be as small as possible without looking like shit. Unless it’s absolutely fucking necessary for super quality or you’re good at making normal/spec maps, be nice and optimize; make the resolution smaller. If you have a 2048 texture, it’d be a massive waste if you had a 2048 normal map. Nobody needs that much.

skin = texture for a model

UV map = the texture indicating where a model’s seams end, and which part of the model goes where so you can texture it

rigged/weighted = the status in a model where it’s attach to a skeleton

hex = duplicating the model under a new name to use different textures, however using the same 3D mesh as the original model

porting = extracting models or textures from different games via means of a model extractor viewer usually third-party or in the game’s SDK

*****ripping = taking a 3D screenshot of a game via 3D Ripper DX program

sdk = software development kit

sexed up = anything made by me, Dean

*Ripping is a last resort if you’re unable to find porting tools

And that’s all I have now, but since I’m always learning new things there’s a good chance I may add more things.

I’d like to thank a bunch of people for the information they gave me

Lt. C
GordoFremen for approving it
My own experience

Nice job there, many people will love you for this! :fuckyou::respek::razz:

Pretty usefull stuff there, Dean.

I added the phong part in just now.

Useful tips, would read again, whenever necessary.

Bookmarked, the tips on skinning are quite nice.

Thanks mate.



Wow, very nice, may come in handy, rated wrench :smiley:

Quality thread right here. Can you expand the section on creating a normal map from geometry in 3ds? Comes in really useful for making normals for map textures, but I don’t fully understand it.

There’s still a fuckload of stuff I want to add to the thread, but I don’t have time today or tomorrow. When I get around to it.

Apruebo, amigo!

Looks pretty handy for newer modders, but you have dumbed down on some parts.

I have to disagree with the DXT1/DXT5 stuff, at least when it comes to the photoshop plugins. I’ve been doing source skinning since '05, and I know that the only difference between the two is in file size and alpha maps. DXT1 is perfect for non alpha textures because it’s a fraction of the file size without quality loss.

Which brings me to my biggest pet peeve, oversized textures. Anything over 1024x1024 for something equal to or less then the size of a person is overkill. If you can’t convey the feeling of depth and texture with good skinning and normalmaps, don’t try to compensate by doubling your texture size and adding a filter. If you want stupidly big textures, download fakefactory shit.

And normalmaps should never need to be over 1024 under any circumstances for anything, especially if you’re saving for an alphamap. I don’t want a 10Mb texture and a 20Mb normalmap lagging my machine and wasting hard drive space. It’s not worth it, no matter how good your reskinned camo pattern of the COD/4/5/etc. soldier is.

Spec maps were the shit before phong, but since source now supports it, specularity is outdated. In source, specmaps can look really good and incredibly bad, depending on your skill. Since most people can’t make it look really good, they choose phong, which, barring a serious screw-up, provides an accurate lighting response in most situations, and provides a greater flexibility. Furthermore, specmaps start to fail if the envmap spheres embedded in the map don’t work perfectly, especially in dark spaces. (see any user made/ non-cubemap maps / gm_anything)

Does the photoshop plugin for the bumpmaps work for GIMP?

AFAIK phong is still specularity.

It’s a damn shame source doesn’t support colored spec maps, since they add so much more to textures.

Very nice work Dean


Great info source! Here is few thing i suggest to add, soo ya won’t forget

Transparency on texture and normal map

Env. mask, tint for phong, rim light and env mask.

Lightwarp, mipmaps, glow, detail.

Neat. Very useful stuff.

On that rigging technique, to make it so it wouldn’t fail like you said 99% of all times, before deleting the citizen mesh, do something with the bones, like move some forward and back, go into the skin modifier and view the skin wieghts, whatever and only then delete the citizen mesh. That way, the skin weights will transport to your model better.

Thats some really useful tips!, gracias!