3D Scanning at home

I used to think that 3d scanning was something that had to be done in a lab or using some very expensive equipment, but thanks to Steve from CG Geek, I learnt that it can be done with some awesome free software and equipment I already have.

In his tutorial, Steve demonstrates how you can capture a large object, and I highly recommend watching it because he explains the process very well. What I’ll be discussing in this post is capturing a small object using a slightly different technique which should be easier for this size. If you prefer to follow along with a video, I got you covered:

I am going to use is a technique called photogrammetry, where you can take a bunch of reference pictures, run them through your software, and get a 3d model out the other end. Below is a sample of the scanned miniature after it was run through Blender:

1. Pick your subject

First, choose your subject. Miniatures are almost a worst case scenario for this kind of work  because they are very small, and the detail is tiny. We’re talking fractions of a millimeter here. Add that to the fact that I’m going to be running a painted miniature through this process, and it makes it even worse. 

The first miniature I tried to scan was this one I sculpted about 20 years ago.

Unfortunately, it has very little detail for the software to latch on to, and it includes parts covered in metallic paint and a layer of varnish, which totally confused the software. The results were, let’s say trippy.

Instead, now I’m going to try with this Games Workshop zombie, purely for experiment; people, do not copy copyrighted stuff. It’s not cool. This model has more clearly defined detail and color variations, which should help.

2. Lighting

Step two, lighting. To begin with, I taped down my home made light box to a solid surface so it wouldn’t move as I worked. The light box ensures that the lighting is consistent and that the object is properly illuminated. I am not using a background in the light box here since the depth of field seems to help the process. Also… well, the results with a background were kind of funky.

If you do not have a light box and don’t fancy making or buying one, don’t worry – just use indirect sunlight – an overcast day is perfect for this. What you are looking for here is even lighting with no weird shadows.

3. Set up the camera and subject

Third, photograph the mini at consistent angle intervals. From experiments I did yesterday, I determined that my hands are not good at this level of precision. Instead, I made a small jig I can use to turn the mini 10 degrees each time. This is literally just two paper circles with angle markings held together with a pin

This allowed me to rotate the miniature around a fixed center, and by lining up the markings on the smaller and the larger circle I could guarantee that the rotation was a consistent 10 degrees. The numbers on the segments were added in case I had to re-take any angles. Since the pin stuck some way out of the surface, I also added a bottle cap so the mini would sit flat, and taped the mini on top.

With the subject in place, I set up the camera on a tripod and made sure that all the settings were set to manual. This ensures that all the settings remain the same through the shooting. I used my video camera to take stills here, though you should be able to get better results from a photo camera or even some mobile cameras since the sensor tends to be larger. 

4. Start snapping photos

Step four, I started snapping photos. After every photo, I rotated the subject 10 degrees. Then I repeated this a couple of times from different heights.

5. Run the photos through Meshroom

Step five, I took my SD card and imported all the photos into Meshroom. This software is free to download and use, and you can find the link in the description below. It is a magnificent tool, honestly, to the team who made this: you blew my mind. It’s literally a case of dropping the photos in the application and hitting start.

In my first run through, most of the model looked great but was missing some parts like the jaw and the fingers on the left hand. This corresponds to areas where the software couldn’t extract enough information from the image. I was still very impressed by the quality of what did get modelled, so I tried to bump up the definer preset to high and made another run with the same set of images to see if I could get a better model.

Unfortunately that stopped working because it ran into a known issue, a known bug in version 2019.01. No big deal. What I did was I went back and downloaded version 2018.01 and set it running again, and worked fine with the high preset.

I don’t think that’s a big deal for me and to be honest, if I had used a better camera in the first place, I don’t think I would have needed the high preset anyway.

I’m also told that the next version with the fix for this will be out in the coming months; to be honest though, if you’re going to try this what I would suggest is get 2019 anyway and chances are that if you’re using a decent camera you’re not going to have this problem anyway.

The model was completely scanned this time, with only a couple of artefacts around the armpits and near the crotch; this is great for a scan of a miniature, and it’s stuff I can clean up in blender anyway.

When importing a model scanned with Meshroom into Blender, it’s a good idea to switch to the Cycles renderer, as this allows it to import and attach all the texture nodes.

Considering this is a photo scan of a 28mm mini with an ok camera, what the software did was pretty amazing.

And that’s it for this experiment. Of course I barely scratched the surface here and there’s a lot I need to learn about preparing images and tweaking settings. However I am now confident that this is doable.

I hope you found this useful and if you have any comments or suggestions, I’d love to hear them so do leave a comment.

Before I close this off, I’d just like to thank the people who made Meshroom, they really made a fantastic product – maximum respect. Thanks also go to CG Geek for the smashing tutorial.

Want to host your own website? Check out Bluehost (full disclosure – affiliate link) – I have been using their services for all of my sites for some time and so far I’ve only got good things to say about them!