Introduction: 3D Printed Bobblehead - High Resolution Full Body Scanned and Hand Painted
In this instructable, I will show you how you can create your own 3D printed bobblehead with a build time of one / two days. I will show you how to do a high resolution full body 3D scan, how to do 3D modeling software repair's of the 3D scan with simple but powerful tools, and finally printing and painting your bobblehead.
If you do not desire a bobblehead, but only a printed 3D model of you, you can still follow this instructable.
The main goals of this instructable are:
- Minimize build costs
- Optimize the build time, ranging from one or two days. (The majority due to printing times)
- Totally homemade(DIY)
- Maximize 3D scan quality
Although one of the main goal is to be totally homemade, in the various following steps I will present some alternatives in case you don´t have the tools necessary to proceed in this instructable. For example, if you don't have a 3D printer and so on, don't let that stop you, I will show / indicate some alternative options in store for you.
Before we start with the first step i want to thank Aldric Negrier (link) for borrowing me his 3D Scanning Rig (link) and Andreia Cabrita (link), an art student, for helping and sharing with me her painting skills, in which I used to paint the bobblehead.
I am also a member of the Portuguese eLab Hackerspace (link).
Difficulty level: Intermediate (familiarity with 3D printers and modeling)
Time to completion: 1-2 day (The majority due to printing times)
Cost:
- 150€ for all the materials. One time only.
- 2-4€ for each Bobblehead
Step 1: This Method Vs Other Methods
DIY Solutions
I will start comparing this DIY method against other DIY bobbleheads, I will explain why this method produces better results, although using the same tools. The other DIY bobbleheads I found, have poor quality 3D scans compared to this method. The reason for this is because their 3D scan is lacking resolution, and turn out poorly when printed in large scale due low resolution.
In the nexts steps, using the same tools, I will show how to do a much higher resolution 3D scan.
- 123D Catch - This is a free tool for scanning. You only have to tale a few photos around the person / object. The problem with this is that it is very likely the program will fail when "joining" all photos. I did a few samples and it is not easy to have a good 3D scan with this tool. You need a little bit of luck.
- Skanect / ReconstructMe - There are a few programs similar to Skanect such as ReconstructMe. I only used Skanect so I can´t say much about others. What I can say is that in this instructable I will use a new method with skanect for better 3D scanning. Better than what already exists.
Professional Tools
There are a few professional solutions for scanning and printing on the market. My goals with this instructable was to make an full body bobblehead (or printing a full scanned person) as cheap as possible, and that you can make in your home without the need to pay for any service to do it for you.
I will compare this method against other much more expensive methods, or even methods that don't produce a precise model of yourself.
Scanning:
I am using Skanect Software and a Asus Xtion camera for scanning. Skanect costs 99€ and the camera about 120€. This is not a cheap camera, but you can choose a used Kinect for about 35€ on ebay, much cheaper and works virtually the same.
Artec Studio and Artec 3D Cameras are a very good option, but their prices tag is from another world. The camera costs 9700€, a cheaper version! And the software starts at 400€ going up to 2500€!
Online Services:
- www.bobbleheads.com - Your custom bobblehead starts at 145$. But this is not your self as a bobblehead. You have to choose between hundreds of body options and try to match one similar to yourself. After finding a match, they paint the bobblehead according to your photo, to make it look like you.
- www.1minime.com - Just like above, they don´t design a custom model of yourself, they choose from a set of models and paint them. It´s more like painting a cartoon similar to you.
With this method I am sharing, you can truly create your own bobblehead in about one day. All the steps I will show you in this instructable can be learned very easy. Actually, this bobblehead is the second I have ever made, the first one was a week ago.
Step 2: Tools Required
Hardware:
- OpenNI 2 Compatible 3D Camera - Kinect v1, Asus Xtion Pro Live or Structure 3D. I used Asus Xtion (link).
- 3D Scaning Rig - My friend Aldric Negrier lent me his awesome scanning rig (link).
- 3D Printer. I used a Prusa i3 (link).
- 3D printing filament (link)
- A person. I actually used me and my girlfriend as models. So you don't need to search for this on ebay.
- A metal spring. 1cm diameter, 3-4cm lenght.
- Screw driver, x-acto or knife.
- Acrylic Paint (link)
Paint brushes (link)
Software:
- Skanect Pro 1.5 or above (link).
- MeshMixer (link)
- 3D Printing Software. Repetier, Simplify3D. I used Simplify3D (link)
- 3D software for design a few simple parts. I used Solidworks (link)
- OpenNI 2 (link)
Skills:
- Basic 3D Modeling for MeshMixer
- Basic 3D creator for Solidworks or similar.
- 3D Printing knowledge
- Painting Skills
I have all three 3D Cameras above, Kinect v1, Structure 3D and Asus Xtion Pro Live. I ended up with Asus because it's more compact than the Kinect, I does not have an AC transformer, you just plug in the USB cable to the computer, and I think it produces a little better results than it's competitors.
The Scanning Rig is essential to obtain better 3D model of yourself. You can try to move the camera around the object / person you want to scan but the shaking of your hands is not very good for the process. The best way is fixing the camera position and rotate the still object/person around the vertical axis. Basically, a 3D Scanning Rig enables 3D scanning capture with minimum effort for the person who is scanning as well as for the person who is being scanned.
You can choose open source or free software instead of Simplify3D for the printing and also free alternatives for 3D modeling instead of Solidworks. I just usually work with this ones. Any free 3D CAD software can do the job easily.
Don´t have a 3D printer? Don´t worry! You can print your models using a 3D Hubs near you (www.3dhubs.com).
Next step, scanning!
Step 3: High Resolution Scanning
Asus Xtion and Skanect enables the user to 3D scan a object or person with pretty good resolution, yet, this is only true in you put the Asus camera close as much as possible to the object or person. These cameras can't scan closer than 0.8 meters away from the object, and if you try to scan more than 1,5 / 2 meters away you will get a horrible resolution scan. These cameras loses resolution the furthest you are from it. If you try to scan a person's head from 2 meters away you wont be able detect his nose.
I will try 2 different method for the 3D scan using Skanect. The first one is a normal scan, like everyone is doing, and the second one, a method I created that produces better results.
First Method: Create a full body 3D scan in one take
- Faster method
- Worse results than second method
Second Method (my method): Divide the body in 4 different parts and scan independently of each other
- Slower method
- Much more post-scanning work
- Produces better results.
Let´s try the first method on the next step!
Step 4: Scanning Method 1 - Full Body Scan
Skanect is a simple and very powerfull software that allows you to create detailed 3D scans.
Starting now, all the processes will be made for two people, me and my girlfriend.
Follow these steps if it is the first time for you using Skanect (or just see the video below).
The person who will be scanned have to step up on to the Scanning Rig while another person grabs the camera and records.
Before starting Skanect, you have to install OpenNI 2 libraries (www.structure.io/openni) on your system.
- Connect your OpenNI camera to an USB port of your computer and start Skanect. If the camera and OpenNI are installed successfully, you can see on it´s top right on the program window, the camera detection, as the next image shows
- On the New field, select a bounding box a little larger than the persons size and Aspect ratio of Height x 2. I selected a bounding box of 1.3 x 2.6 x 1.3 meters.
- Hit Start button. You can see the images of RGB and depth streaming from the camera.
- Place the camera pointing for the middle of the person, that is the starting point. On the top left click on start recording.
- Try to approach the camera as close as possible without getting closer than 0.8 meters. Every surface that is closer than that, skanect will show that surface with color black. You can try this out just for testing.
- Skanect shows green color for surfaces that are recognized, and red otherwise.
- While the person who is being recorder rotates on the scanning rig, the person with the camera have to move the camera up and down, front and backwards till you have all the body recognized (greenish).
- Don´t move your camera to fast, your computer may not have enough performance. Move your camera slowly and smoothly.
- When you are ready, click stop button. Wait a few second until Skanect finishes calculating everything.
- To export, hit Share button top right -> Export Model -> STL-> Export
If you don't understand some step, just watch the video I did below.
In the following video you can see Skanect software on PC at the same time I recorded the scanning with a normal camera. I will start with my scan and then my girlfriend's scan.
These images below shows the final result exported from Skanect for my model and my girlfriend's model. I can tell you right now that these scans are horrible. Very poor quality, resolution. These models will only work if you print a super mini version of them, not exactly what I want.
This method is what everyone is doing on internet for full body scan using an OpenNI 2 3D Camera, and it will only have good results in tiny printed models.
You will see on the next step, that my method allows for high resolution scan, much better than this one using the exact same camera and Skanect software. And that's the scan I will use for the following steps.
Step 5: Scanning Method 2 - Dividing the Scan in 4
With this method we will scan different parts of the body separately with the camera close as much as possible and combine them with MeshMixer for making an high resolution full body model. This way, the camera can be close to the person as much as possible, enabling an high resolution capture.
Somehow, Skanect loses resolution if you scan the full body at once. I discovered if you scan smaller parts you will get a much higher resolution of that part.
The process is the same of the previous step, with exception that I will do smaller scans. A short sample of the scan can be viewed on the video below.
I ended up dividing the body in 4 parts as shown in the photo below. Every part must intersect with his part above and below to provide enough mesh information to combine all 4 parts.
Every one of the 4 parts are scanned with Skanect software as the previous step. The only thing you have to consider of this different approach is that the bounding box is smaller and square instead of rectangular. After each part scanned, export the model in STL format without doing any reconstruction on Skanect software, All reconstruction and fixing will be done with MeshMixer.
After all the 4 parts scanned of me and my girlfriend, I ended up with these model parts shown on the two figures below, being the top to bottom part of the body, the left to right and top to bottom STL model. Confused? Just see the photos :)
As you can see, this models have holes and some imperfections that needs to be fixed. This is work for next step!
Below, scans of all 4 parts of myself an my girlfriend.
Comparing these results with the results using method 1, on the previous step, you can see immediately the quality differences. These one are much better.
These models are the chosen to continue the rest of this instructables.
Now it's time to refine and combine all these models on the next step!
Step 6: Scanning Method 2 - Fix and Combine Scanned Models With MeshMixer
This step only requires use of a few tools on MeshMixer. Before this instructable I only had about 2 hours experience on MeshMixer, so don't freak out right now if you are thinking this instructable is impossible for you. Actually, you can do all this work with MeshMixer with just a few minutes of training!! This software is really simple to use, and very powerful!
You can see in both videos below a speed up video of fixing and combine various parts of the body in a single one. It took me about 1h30m to make each one. I only used the tools of Refine, Move, Draw2, RobustSmooth and SrinkSmooth under Sculpt tools, and Erase&Fill, PlaneCut and Join under Select tools.
These videos are really enjoyable to watch with it's background music :)
You can see on the video that I followed (more or less) this steps:
- Import a body part
- Smoth and refine all mesh (fast)
- Fix holes
- Cut unneeded parts on top and bottom
- Refine and enhance with precision
- Repeat all above steps on all other body parts
- Import body part one by one (starting with head) and combining all parts below that.
- Final Refine
- Increase scale of the object. We want the height to be around 140mm.
Fixing and Combine My Scanned Parts
Fixing and Combine Scanned Parts of My Girlfriend
After all the fixing and combining all the 4 parts of the body I ended up with my model and my girlfriend below. Pretty good hum?
Each one have about a million triangles.
Next step. Divide head and body from this model and create a final virtual bobblehead ready for print.
Step 7: Scanning Comparison Results - Side by Side
You can see below the differences between the two raw scanning methods (3D models captured by the Skanect).
The quality of the scan of my method is much better than the normal one. You can see the biggest differences are around the eyes, nose, mouth and hair. Basically, the second method have much more faces (mesh triangles), and that is everything if you want a high resolution 3D scan of your body.
If you want to print a small model of yourself (<10cm height) you probably will be fine with the first method. But if you want to print a bigger version, like this on, or even bigger, you will want to get the best quality, so go for method 2! The best low cost method you will find!
Step 8: Making the BobbleHead in MeshMixer
With the model of the body fully fixed and refined, it's time to start making the bobblehead i.e. separate head from body. For that, we need to follow this steps:
- Open the model with MeshMixer
- Extract the body (without head)
- Start working on the body only
- Place an circular base under his feet (for support)
- Open a circular hole on the body where the neck was supposed to be, with a cylinder object.
- For the head, increase his diameter for approximately the diameter of the base, 7cm.
The base is the object that holds all the bobblehead up and the cylinder will be used to create an hole to insert a spring between the body and head to hold them together.
These objects have to be created with an 3D software. MeshMixer is an modeling tool, we need another type of 3D software. You can use Sketchup, 3D Max, Solidworks... I used Solidworks. These two objects are so simple that you can use any software you might like.
Basically, we need to create a circular base with 7cm of diameter, 1cm of height and a 5mm fillet on the top size. The other part is a cylinder of 1cm diameter, 3cm of height and a 1mm fillet on both sides. You can see these 2 objects on the figure below.
You can download these 2 object in STL format at the end of this step, named base.STL and cylinder.STL
You can see in the video below, the making of the body and head of me and my girlfriend of the final bobblehead. First mine and then hers. These videos have 8X speed up.
The hair of my girlfriend gave me a lot of work. I advice to everyone who will try to do this instructable to tie your hair, if you have long hair. It will save a lot of time and the model will be much better.
And finally, we completed the 3D model of the BobbleHead. You can see on the first image of this step how the two models end up with it´s head bigger than it normally was.
Now it's time to print it :)
Step 9: 3D Print the BobbleHead
Don´t have a 3D printer? Don´t worry! You can print your models using a 3D Hubs near you (www.3dhubs.com). Fast, easy and cheap!
First thing before printing your model is to use a slicer and create your gcode ready to print. I used Simplify3D but you can use a free software such as Repetier.
With Simplify3D I used this configurations for the print run:
- Layer Height: 0.15mm
- Outline/Perimeter Shells (also for top and layer): 4
- Infill: 9%
- Generate Support Material
- 214 ºC for extruder
- 60 ºC for bed
I used yellow filament from esun. With my experiences with some colors this seems to be one of the best for precision printings. White color is the best color for painting but causes rough layers, they are very noticeable no matter what layer height and temperatures you might use.
I did 3 separated prints. Two for each body, and another one for the two heads. Below, you can see 3 images before and after slicing on Simplify3D.
And below, all the finished printings.
As you can see, I included lots of support material, I didn't want for this print go wrong.
Now, grab a screwdriver, knife or a x-acto to help removing this support material. Prints with little support can be removed with just your hands, but these are not the case. You need a little brute force.
Below you can see a speed up video of me removing all this material. I will start with my printing, then my girlfriend and for last the two heads.
You can see below all the printings and with the heads on top of it´s body, in bobblehead style. For now, I only used a piece of a pencil for keep head and body together, I will use a spring after the painting.
Keep in mind these printing have about 21cm of height. 14cm for body and about 6cm for the head. Pretty nice!
Now it's time for the painting!
Step 10: Painting
For the painting you will need just a brush and a set of acrylic paints (link).
I used this set below that cost me 30€ (i got an expensive brand), you don't need to, you can get any cheap acrylic paint kit for 10€. The set i have will last me forever!
Take into account these points for painting your model:
- Try to match the color of your clothing with the color of the paint
- Paint several coats, about 2 to 3 of them. On top of one another, till it looks good. Allow the paint to dry between coats.
- Have patience
I started recording a video of the full painting process, but unfortunately, I found that it only recorded 10 minutes :( Sorry!
I only have these images below of the painting process.
It looks great after painting!
Step 11: Adding a Spring Between Body and Head
The head and body have a 1cm diameter hole, so I need a spring with the exact diameter to hold the head and body together.
These are the springs that I used. 1 cm of diameter and 3 cm length.
Now, try to insert each side on the head and body. I needed a small plier to achieve a tight fit.
If you do it right, you will get a tight fit and your head is ready for swinging!
Step 12: Results - Final Photos and Video
Step 13: Extra Step: How I Did the Filming Set
If you are curious about the filming set of the final video, this is how I did it:
- Grabbed a solid sheet of plastic or wood for the support
- In the front opened two holes to fix the two bobbleheads
- Fixed the camera behind with fixed zoom