EDIT: I am working on an automated script for this purpose. You may want to try it - it could save you a hour of work. Link
Blender comes with a script called Unfold. It can easily turn mesh into a flat net, without deforming any faces. What is it good for?
If you use some more tricks around and are not afraid of mat-knife, you can have all your blends staying in front of you on the table. All you need is a printer, a good glue, two hands and blender (blender is almighty!).
I’ve made three models yet - the Suzanne (topic here), post appocalyptic tank (topic here) (Alltaken made that model, but he released it under CC here) and a spaceship, the topic is here. It is a simple spaceship without any interesting ideas, because I made it mainly for needs of this tutorial.
You can get the .blend file here.Two renders:
And a photo: (camera made it blue, not the printer)
So, let’s start!
First, we need a model.You can choose any, but it’s obvious that paper model has some limitations. It is hard to make thin pieces, but it is possible (toothpicks or spaghetti can help). You shouldn’t choose too complex model (but we are going to simplify it nevertheless). And mechanical, sharp models will (of course) look more natural than the organic.
Then you have to fix the lighting.It has to be even, because you don’t live (sorry if you do) in absolutely diffuse light. Your light setup will be made by the window in you room this time. It would look weird if the model would be enlightened by a (virtual) light source and the rest of your table would not
Ambient Occlusion is really good for our purposes.
Make a low-poly mesh that will look likely as the original model.That will be the mesh that you are actually going to make. It would last years to cut and stick together a normal model. When I say low-poly, I mean something less than 200 faces. But it’s up to you to choose the face count
How should it look like? Look at my ship:
Keep on mind that all quads must be flat. You can flatten a quad using Scale in Normal Z axis to zero, or you can just change it to triangles by Ctrl+T. Triangles are no harder to work with.
Also, not suprisingly, faces shouldn’t intersect. But after all, this can be solved with a knife cut - either virtual or real.
Important: Make sure that this object’s scale is 1. To do so, go to Object mode, select it and press Ctrl+A. Otherwise the printed model could be stretched in one direction.
Mark seams.That is not necessary, but it gives you more control over the unfold script, because you can choose where the mesh is to be divided. The model can be easier to make when you select the right seams.
Divide it apart.Some models are simply made from more - nearly independent - parts, and the spaceship is a good example. There is a main part, two pieces of something on the sides and two… eh, wings that connect it altogether. All of the parts are simple, convex, and seem to be easy to work with.
It was different when I was making the tank. I had to separate the main body in about 10 parts - usually it is easier to make small pieces and stick them together than work with one big piece. And a more important reason is that too complex meshes can’t be unfolded - you have to look at them and split them manually into reasonable parts.
Before you unfold the mesh, you have to separate all submeshes.It is called Separate all loose parts (PKEY). Unfold script just can manage only a mesh that has all faces connected together.
Important: Before you start unfolding the mesh, remove double vertices (edit mode: select all, Ctrl+V, Remove Doubles) and recalculate normals outside (edit mode: select all, Ctrl+N).
Go on! Unfold it!It will help to open one Script window before you start. Unfold is in Scripts > Mesh > Unfold. Unfortunately, the script is a bit hard to use correctly. Do this for every one part of your model you need to unfold:
- Select the part, go to Edit mode and click the “Unfold” button;
- go to Object mode and click the “uv” button.
If unfolding fails (try it at least 10 times), go to UV/image editor and look at the UVs. It can help you to find where the problem actually is. If you find out, divide the mesh and unfold the parts separately. If you don’t, you have to guess where it could be
Does it show a message “Python script error: Check console” when you are trying to run the script? Probably you don’t have python installed. You can download it from http://python.org.
The unfold script always creates one more object - a flat grid. Don’t mind about that and simply delete all of those, they’re pretty useless. All we will need is saved in UV layout of the unfolded mesh(es).
Join all the meshes.It will give you a mess of UVs.
To clean it up, easiest is to use the Pack Islands tool (ctrl+P).
If you would want to resize the UVs, only all at one time!
The UV layout of the ship looks like this:
Before you bake the texture, you’ll need an image to bake it to. Simply select all the UVs and in the UV/Image Editor menu use Image -> New.