Texturing Your Ship
************************************************************************************
************************************************************************************
************************************************************************************
This is a very lengthy process for some people, but it doesn't have to be. I built this ship, took all of the screenshots for this Tutorial, and did the skin in 3 hours- I'm not kidding, it can be done. What it takes... is utter concentration on keeping everything straight, good Photoshop skills, and practice, practice, practice. Your first skins will suck, but you will get better, I promise you. I know I do- every new piece I do gets better and better. Just keep at it.
Once again, the remarks below each shot are describing what's going on here.
The very first step, after exporting the file from your modeling application, is to import it into MS3D. Before doing anything else... try to export the CMP. If MS3D crashes, then something's wrong with your model's geometry, and you need to fix it, or you're doing something wrong, like not giving your Groups unique names. See those named Groups in the upper-right? That's how to do this. Keep the names long and descriptive so that you cannot possibly be confused about what part's what!
Assuming that the CMP exports without crashing MS3D... turn it upside down, and then export it as OBJ... and import it into your uvmapping utility of choice. You can do your entire skinning process in Milkshape... but quite frankly, it's fairly difficult to use, compared to
UVMapper Classic which is freeware, and has a GUI.
This section of the Tutorial will cover making a single uv-map texture for your ship, using UVMapper Classic. Trust me, you'll like it
First, we're going to open up the OBJ version of the model with UVMapper Classic. It's going to look like this. This... is bad. As you can see, the model's parts are all overlapping one another, and they're not laid out in any coherent fashion. If we tried to put textures on it as-is, we'd be hosed. So, we're going to fix this.
For our very first step, we need to give the entire ship a
planar map. For those of you who aren't sure what that means... a planar map is a flat representation of a ship's geometry- it's as if we were viewing the ship without any perspective after it has been flattened out. This is a great type of map to use for simple things, small detail areas and (duh) flat surfaces. It's not so hot for anything with curvy surfaces, though, so bear that in mind- planar maps aren't what you'll want to use for everything.
These are our settings for this planar map. This is just a very simple map that we're going to use for our next steps, so you don't even
have to be this persnickity about your settings, but it helps to use a standard method.
Soooo... we now see a top-down view of our model. But it looks... rather... distorted.
Unfortunately, this is one of the reasons that UVMapper Classic is freeware. Pro doesn't distort things. That said... Classic allows us to fix this distortion.
Hold down your left Shift Key and hit the Y and X keys. These are shortcut keys that allow us to scale things on the Y and X axis. Basically, we need to hit Y twice and X quite a bit... and compare the wireframe we're seeing here with the wireframe view in MS3D, to achieve a distortionless view. Technically, we really don't have to worry about this stuff during this initial step- we could just do it for every subpart, and skip all of this.
But I don't. It only takes 30 seconds... and it allows us to get into the habit of thinking about our ship's parts and their scaling, and work appropriately.
So, now let's Select All...
...and keep shrinking it and comparing it to the MS3D version, until they both look the same.
Now, here's where things start getting exciting (and a little more complicated). We're going to start selecting those Groups we laboriously created as part of the modeling process, and use them to help us skin this ship, using different mapping methods. In the screenshot above, you can see me selecting By Group, which allows me...
...to select MainBody_Argh_DemoShip. Is my anal-retentiveness about naming conventions starting to make sense now? I hope so
Whoa!! We've selected... a very specific part. Woot! Now it's time to use a different mapping method, so that we can texture it to the best of our abilities.
The MainBody part is, if you think about it... basically just a cylinder. So...
...we're going to left-click and drag it where we want it (or use the Arrow Keys- Shift + Arrows moves a larger distance- this shortcut's extremely handy with small parts btw).
Now we're ready to try a new mapping type- a cylindrical map.
Now all of your "leet" 3D skills come into play. If you've positioned your ship in Milkshape correctly before export (you didn't skip that step,
right? ) then the model's main axis is now on the Z. It's also "upside down"- i.e., the negative Y axis is "up".
What all of this boils down to, in this case... is that this cylindrical ship's cylindrical body should be set up on the Z axis... so that we're "rolling it out" along the axis that it's aligned with most.
This rarely works out so perfectly in practice- but I built Demoship so that it's mainly very easy to skin.
Here are the settings we're going to use. Once again, I'm using scaling, even though that means I'm going to have to re-scale it later.
Here is the result... a little big, eh? Repeat the scaling steps that I demonstrated earlier (shift + X, shift + Y)... and pretty soon...
... I have a nice little map. See how different this cylindrical object looks, now that it's "unrolled"? It may seem a bit weird, but this is a much more "perfect" representation of this object than almost anything else we could do.
Now... rinse and repeat.
I really strongly urge everybody to use every type of mapping on their first ships, and just try 'em out for awhile, just to see what they do. I almost exclusively use planar and cylindrical mapping methods, but the others have their places. For example, spheremaps are about the only mapping type that handles curvy objects well. The results look weird, and you have to make guidelines, but you can do some incredible work with them. Still, most of the time... I'm just too darn lazy
I don't do this for a living, so I just do whatever will get the job done at the level of quality I require as fast as I can.
As you lay out your parts, you just want to move them around on the screen, taking great care not to have two parts too close to one another. Don't be afraid of wasting space, but don't just leave gigantic white space if you can help it.
Now we're done. It's time to save
the model . The model needs to be saved, because it has been changed- uvmapping actually re-arranges the polygons and their surface normals (which, if you don't know what they are... look them up on Google, because that's waaaaaay beyond the scope of this Tutorial).
Here are the save settings.
And now we need to save the Template texture. UVMapper Classic only saves BMP versions, but
everything used for graphics work, including Paint, can work with BMP. Yup... you could skin in Paint. Not that I'd want to...
And here are the settings we want to use there.
********************************************************************************************
********************************************************************************************
********************************************************************************************
Time to Paint!
Before I start "getting serious" about painting my ship up, I've decided that the centerline of the ship's main body will be very important later (a decision that turned out to be entirely correct later). So I made a seperate Layer in Photoshop and drew these two red lines marking the centerline of the ship before going on to the next step. Why a second Layer? Because the next steps are going to obliterate the originals, is why.
First, I used the Magic Wand tool, set at a Tolerance of 0, Contiguous = YES, and clicked on the white outside of all of the areas I'm going to be painting.
Now Select Inverse. We want the areas we're going to paint, not the other stuff.
Now I'm Expanding the selection. This is very important. Uv-maps, for whatever reason, need a bit of "bleed" around their edges- they're not 100% accurate. Generally speaking, I use a "bleed" of 14 for 2048X2048 maps, and halve it for 1024X1024, halve it again (to 4- round up) for 512X512 maps, etc.
Once I've Expanded the selection, I make a new layer Via Cut.
Now I've used the Paint Bucket to fill the formerly white areas around the painting areas with a dark color- preferably a dark but neutral Gray. This also helps with "bleed" issues in the final model.
Now I'm about to save this texturemap for the very first time. I just want to make sure that it's accurate and correct, including the centerlines that I drew earlier, so I used the Paint Bucket with a Tolerance of 255 to fill in all of the painting areas with colors that I think are vaguely like what the final paintjob will be like. I'm not detailing anything a this point, because I may have made a mistake, and I want to check it out first.
Here are my standard export settings for the DDS Export Plugin. This is a 2048X2048 texturemap, so expect it to take a fairly long time to export- about 5 seconds, on my machine... your milage will vary.
In this shot... you should immediately see that the model's been very radically changed, even though we haven't put any textures on it yet. What's important here is the Groups menu on the upper-right. See how I just have 3 Groups now? I selected the areas that are going to glow later on, the glass areas, and everything else... and used Regroup to make them 3 Groups, with totally unique names . Even if you've been sloppy about naming conventions up 'til this point... you're OK. But if you don't give these 3 Groups totally unique names at this point... you're hosed! Don't make any mistakes...
Now I have created 3 Materials with totally unique names , and EACH OF THEM have been assigned that DDS texture I just exported. See that button with "demoship copy" on it? That's the texturemap being used. All three Materials are using the same texturemap. This is much, much MUCH simpler than the alternatives.
Now... just keep painting... rinse and repeat. After some hard work... you will have worked on your texture until it looks quite a bit better... adding small detail areas, texture, and fake lighting. I'm not going get into the artistic side of this- remember, this isn't a Tutorial on how to rock at Photoshop, or how to be a decent artist. But, as last shot shows... from humble beginnings, we can get to some pretty neat places
Edited by - Argh on 6/7/2005 7:10:08 PM