Creating Sculpties From Arbitrary Meshes in 3ds Max 9

A Tutorial by Chip Midnight

Original One Prim head What's This Tutorial About?
Since the image of my sculptie head was posted on the SL Wiki, I've received numerous requests for details about how it was created. This tutorial should answer those questions and show you two methods for creating a sculptie and matching texture map in Max 8 or 9. What do I mean by an "arbitrary" mesh? That would be a 3d model that wasn't specifically created with SL sculpties in mind that does not conform to either the polygon limitations or UV mapping of an SL sculptie. In this tutorial I'll be creating a sculptie from the head portion of a Poser 7 model. The intent of this tutorial is not to teach you how to use 3ds Max. You should already be familiar with the basics of Max.


What You'll Need

Method One: The Down & Dirty Sculptie


Step One: Prepare Your Target Object

In the screenshot below you can see the head model. To prepare it, I've capped the holes in the mesh (the eyes and neck) and I've centered the pivot point to the object. I've also created a simple lighting setup and textured the object (with just a default gray texture. I'm lazy, what can I tell ya?). This could be any mesh, but in general this technique works best with organic shapes without a lot of complex protrusions.

Step Two: Create the Projection Sphere

top viewport
Create a sphere in the top viewport with 33 segments. Don't worry about the size of the sphere or it's placement.

It's not possible to create a parametric sphere in Max with the correct number of polygons (1024) so I'm using a setting that creates a sphere with a bit less than that.


Step Three: Prepare The Projection Sphere

1 - Align the sphere to the target model (in this case, the head). The fastest way to do this is with the align tool.align tool Your sphere should now be sitting at the center of your target model.  Depending on the topology of the target model you won't always want your sphere aligned to its center. The idea is to situate the sphere so that if it enclosed the target mesh and you followed a line perpendicular from the center of each polygon of the sphere, each of those lines would interset the target model.
modify panel 2 - Now set the size of the sphere very small, like .01 units.  The exact size doesn't really matter. We're basically just getting it out of the way.

3 - Add a "Projection" Modifier to the sphere (from the dropdown list of modifiers on the modify panel). In the "Reference Geometry" subpanel, click the "Pick" button and then click the target model.

Max will create a projection cage with the topology of the sphere around the target model. It almost always does a horrible job auto-wrapping the cage around the target. In the following screenshot you can see it didn't do too badly this time.

We want to return the projection cage to the shape of the sphere. To do so,  go to the "Cage" subpanel and drag the "percent" value all the way down to -100 (note: the number will return to 0 as soon as you let go).

cage controls
projection auto-wrap results

Next, raise the "Amount" value until the now spherical projection cage is large enough to completely enclose the target model.
good cage


Now we have a lovevely spherical projection cage and we're all ready to start baking textures. Simple, huh?

Note: While it's possible to move the points of the projection cage around to try and get more detail in certain areas, I don't recommend it. In Method Two I'll show you a better way to do it. This is the quick and dirty method so more on that fancy stuff later.

Step Four: Bake a Texture Map

render to texture dialog
Now we're going to use the projection modifier to bake a texture map for use in SL. Step four and five can be done in any order. I'm just doing the texture map first because the material is already on the target mesh. With the sphere selected, go the the "Render" menu and select "Render to Texture." Enable the projection modifier, then  bring up the options panel and turn off "Ray Check."
Next, in the "output" subpanel, add a "complete map." Set it to save out a TGA file, in 32 bit, with "premultiplied alpha" turned off. Set the desired output size. For this I'm going to render a 256x256 texture. At the bottom of the Render to Texture dialog, check "render to files only." Finally, hit render. The resulting texture map is below:
head texture Notice how the top and bottom of the texture end in a sawtooth pattern? This is because the top and bottom rows of the sphere are triangles rather than rectangles since they all end at the north and south poles of the sphere. To fix that, open the texture in Photoshop and run the Flaming Pear "Solidify A" filter on it. That will fill in the holes with the value of the surrounding pixels. (This is why we turned off ray check and premultiplied alpha). Resave the texture as a 24 bit TGA. The final texture looks like this: after solidify

Step Five: Bake The Sculpt Map

This is really exactly the same as step four, but using Abu's sculptie shader. Open the material library containing the shader and drag it to an open slot in your material editor, then assign it to the target model. Then repeat everything you did in step four. Make sure you change the output filename so you don't overwrite your texture map, and change the output size to 128x128. In Photoshop, after running Solidify on it, invert the image. The resulting sculpt map is below:
sculpt map

Because the texture map and sculpt map were both created from the same projection, they'll line up perfectly in SL. A screenshot of the textured sculptie in SL is below:
SL result





As you can see, the results aren't perfect. Since the vertices of the sculptie are evenly distributed around the whole mesh, some areas that could use extra detail, like the ears, are a bit odd. But for a quick method for getting an arbitrary mesh into SL, it's not bad at all. In Method Two I'll cover some additional steps you can take to improve the accuracy of the final sculptie.

Method Two: The Conform Method 

Coming Soon!