Import uv coordinates from an external tool into 3ds max

So I’m looking into 3ds max for doing 2D animations. I draw my characters in pieces using photoshop and/or illustrator. Now I would like to generate a uv map for all the different pieces using a tool such as texture packer. When this is done I will have a metafile with uv coordinates and a .png file etc.

Is it possible to import these coordinates into 3d studio maxs uv editor in some way? The only format I can load is a file format ending with .uvw, but it seems to be some kind of binary format. Does 3d studio max have another format you can import somehow, a format I might be able to generate myself? If that was possible I could just convert the texture packer data format into that format using a small application etc.

The thing is I would like to improve my workflow so I don’t have to sit in the UV editor and rearrange all the polygons to match the output from texture packer, I would like this to be handled in a smarter way.

I’m interested in knowing more about this, but I don’t know anything about creating 2D animations in 3dsmax.

Are you using 3dsmax to render the 2D animation to a sequence of bitmaps with a transparent background?
Then why would you even want to export the UV coordinates of the individual polygon parts? This UV data seems irrelevant
after the 2D frame has been rendered.

Wouldn’t the final 2D animation UV mapping just be a square plane, with unit square UV coordinates? (0,0) to (1,1) ?
Before being packed onto a single texture, of course.

If I get this right, essentially you want to do skeletal animation in 3ds max for 2d characters. So, each body part would be a quad uv mapped to the corresponding body part on the texture map. This sounds like a shiny :wink:

So a) which tool exactly are you using to pack the textures, and b) what is the file format definition/explanation for the output of said tool? Given that info, someone could make a tool which takes the texture packer output file as an input, and generates a Wavefront OBJ file consisting of uv mapped quads as output. That file could then be imported into 3ds max and away you’d go :slight_smile:

I can’t figure out exactly what you want to do with Texturepacker, and I own it. Maybe give us a step-by-step.

Another option might be using projection mapping in Max. What you do is paint your texture in Photoshop. Create a material in Max and use Projection Mapping instead of UV mapping. Attach that material to all the polygons you want to use for your skeletal animation. Move the pieces into the gizmo of the projection mapping. So, if you painted an arm in the upper left corner of your texture, you would just translate the polygon into the gizmos upper left corner. Once all of your pieces are in place, you would need a script to bake the projection mapping into UV coordinates (unless there is an export format that does it automatically for you, doubt it).

Another way would be to use naming conventions for your polygon pieces and paint individual textures. Use a script in Max to assign the textures to a unique material for each piece with a default square UV mapping, or if the texture is non-square, get their ratios and scale the UVs accordingly. Then, load everything into Unity and use the texturepacker plugin or similar to create a texture atlas. I use fairly strict naming conventions for my projects so I can do things like this easily ex. XB_StadiumBigA_1A_0000 for model and ARC_StadiumBigA_D for diffuse texture.