# How can i create sprite sheet from 3d model (3D studio max)

I built simple 3D model of a car, with simple animation in which it's wheels are turning.

Now i want to create a sprite sheet, the only way i know how to do it, is to render manually 20 frames from the from, then combine them to a strip manually, then rotate it by 10 degrees, render 20 frames of animation again and combine them to a strip...

Is there a way to do it automatically ? With out rotating the scene manually and render it and combining .. it's a lot of work, takes more time then the modelling itself...

Thanks

• You might stuff the resulting images in a spritesheet maker (like codeandweb.com/sprite-sheet-maker). It's not optimal, but better than doing it manually. Alternatively, you could arrange all animations at once under each other in 3dsmax, which you then render, resulting in "only" 20 strips you need to combine. Oct 17 '13 at 8:30
• The part that consumes most of my time is the rotating manually around the object and rendering it .. then rotating few degrees more and rendering again Oct 17 '13 at 8:54
• Sorry, I thought the issue was manually combining the resulting images into a strip. Is it possible to make one big animation that includes rotating after every 20 frames and render that? Not ideal, but should save at least a bit of time. Oct 17 '13 at 9:27
• I thought about it but I'm not a big expert in 3ds max.. so i don't know how to do it :( Oct 17 '13 at 13:43
• I have dabbled a bit in Blender, never used 3ds max, so I'm not really an expert either. But it should be possible to insert rotation at certain points in the animation timeline. Other than that, I think you can use Python scripts to automate stuff in Blender - maybe something like that is possible in 3ds max as well? Or maybe there are plugins for this scenario. I can't imagine you are the only one with this problem. Oct 17 '13 at 15:19

After spending a week searching the web and checking every related blog post, i found the solution. http://www.denysalmaral.com/2012/04/px-spritesrender-3ds-max-scripted.html

This script renders and names the images perfectly, after it i combine them using "GlueIT"

Works like a charm,

Hope it will help others.

• Thanks for posting this, I appreciate people coming back to their questions and providing answers if they found them. While this particular question is not relevant to me, I can't count the times I've googled a problem, only to find the exact problem description without a solution. Or, even worse, with the poster going "never mind, solved it, kthxbai" without any sort of explanation. Oct 21 '13 at 15:36
• You welcome, i use this script now ten times a day... Oct 22 '13 at 9:11

Note: Was very nice finding an StackEnxchange answer pointing to my own script! ;)

I'll would like to extend the answer for the original question:

You can automate this task in 3ds Max with its built-in scripted language: Maxscript, using the bitmap render() function and node rotate(). This example code will render active frames range animation by each angle of 4 views :

for i=0 to 3 do
(
MyBitmap = Render camera:\$Camera01 framerange:#active OutPutfile:MyFileName
Rotate MyModelRoot 90
)


render() function use the same settings from Render Setup dialog (F10), like file format, bitmap dimensions, etc.

Then, for combining the result images into one big spread sheet we have PasteBitmap() function.

My script impementation also supports Render Elements, so we can export more rendering buffers, like Shadow Maps, Diffuse Map, z-Buffer or Object ID. But it still don't have the ability to combine rendered images into a single one. (Will be implemented in next version)

You can try also similar tools from other authors: http://www.scriptspot.com/3ds-max/scripts/sprite-render-script