Tuesday, January 7, 2014

How to Make Your Own Minecraft Character for 3D Printing

This past Christmas I made a Minecraft character that looks like my little sister. She is always showing me new things she built in her world so I thought this was a fitting present. I posted the results to Reddit and one particular fellow asked to know how I did it. So this for you, internet guy. My method may not be the most efficient but it got the job done.

Making the Model
First you want model the avatar. The modeling process for this is the easiest thing ever. Just make a cube and start extruding. I googled some pictures of Minecraft Steve for a reference of proportions. Just make sure to KEEP THE MODEL A "CLOSED" SHELL. You cannot print otherwise.

Since you are charged by how much material used to print I recommend hollowing out the arms and body a bit. Don't make the walls too thin or the model will be too fragile.

I was lazy in the next part which is creating our UV map. I just used automatic mapping, which is extremely rare. But this is a really simple model and it mapped all the faces flat so...eh, good enough.

Now that the model is mapped we need to start texturing it. I created a PSD network to make things easier for me. In this case I made the texture 1024x1024. You can go higher if you like.

Next I did some "lipsticking" to get my bearings on which face is which. For example, I marked out F, L, R, B, etc for the front face, left side face, right side face, back side face respectively. Then save the PSD file and update the material to see what goes where. In this case, some faces in the UV are rotated compared to the model. So lipsticking helps to understand which way to rotate the texture on the UV so it will show up right on the model (like I said, extremely lazy mapping).

Now we need to create the design of the Minecraft character. I start out using the original 64x32 "Char.png" file used for the in-game texture. If you can't modify the image it may indexed. To change this go to Image>Mode>RGB Color. Once you have the design you like, use the marquee rectangle tool to cut out a separate layer for each face of the model.

Once everything is diced up we need to scale the design up since our UV texture is much larger than it. If you go to Image>Image Size and scale it using default settings the texture will get really blurry. This is a problem I ran into as well. Thankfully, I found a way around it. In the image size window, at the very bottom is a drop down menu currently set to "Bicubic". Change it to "Nearest Neighbor" and then apply the change. This will scale the image while keeping sharp edges. I recommend scaling the design to a slightly higher resolution than the UV image.

Now you just fit the puzzle pieces together by dragging the layers from the design file to the UV file. I use Ctrl+T to do any scaling when needed. Once that is finished export the texture either as a JPEG or PNG. The model it now ready to be printed!

Printing the Model
For this print I used Shapeways since I know they have a material (sandstone) that can print in color. However, I ran into a serious roadblock that left me frustrated for most of the day. What happened was the model would upload but not the color. I eventually got it to upload correctly but I'm not entirely sure what I did. Nonetheless, I will show what I did and hopefully it will work for you.




First go to Shapeways and create an account. Then at the top of the webpage click on Make + Sell then click Upload. You should see a box that shows you all available file types. We want to create a color print so we need to export our model using one of the listed file types.

The idea for color printing is to zip the model file and the texture file together. When you upload the zipped file Shapeways will show you a model preview. If the model doesn't show then something is wrong. If the model shows up but not the texture then it is still wrong. The model will NOT print in color if this happens. We want both the MODEL AND TEXTURE to appear.

Out of the files listed Maya only supports DAE files (that I know of). Unfortunately, I never was able to upload the model correctly using DAE. I know Blender supports X3D files so I imported my model to Blender to try that.

Once in Blender we need to delete everything in the scene expect the model to be printed. Check to see if the imported material has the texture applied. If it doesn't then assign the texture.

Then export and save the model. Go to File>Export>X3D.

Finally we need to select the files of the model and texture and zip them. Right click>Send to> Compressed folder. Do NOT put them in a folder then zip them. Just the two files alone.


Now use the zipped file to upload to Shapeways. The model preview should show both the model AND the texture. Make sure you have the dimensions the way you want and select Colored Sandstone for your material. If you are running into errors like I was try looking at their FAQ page. If that doesn't help then I hope your Google-fu is better than mine.


All done! When you order a print you have to wait for the Shapeway Gods to make sure your model can be printed. So don't do what I did and order it a couple weeks before and important date. Plan well in advance!