3D modeling curved objects with a flatbed scanner

Here is a neat trick that can save a lot of time when modeling objects.

Say you have an object that you want to model with high fidelity. And also say you are planning to attach a Vive tracker to this object and swing it around in VR (coming soon). Like so:


How would you go about measuring the curves?
You can use one of these, maybe?

Or these?

Surly there is an easier way? Yup. There is. The humble flatbed scanner. Available for pennies at your local second-hand store or ebay. Place your object on the scanner, like so:

Object is too big? Scan it in part, assemble automatically using a panorama stitching tool, or manually in any photo editor. It’s fairly easy. You’ll end up with a scan that looks like this:


It’s going to look bad. Fuzzy with a lot of color noise and crazy pixels. That’s fine. We don’t care about picture quality, we just need the curves. I also scanned the cross section of the handle, because I couldn’t find my caliper and for the sake of completeness. Now I can say that everything about this model was flatbed scanned.

The images should come out of the scanner exactly to-scale, meaning you can import them directly into your 3D modeling software of choice, trace the lines and have a to-scale replica of your object. First I traced the curves:


Then some sweeps, extrudes and lofts, and voila, one world-scale racquetball racquet is reading for texturing:

Coming up soon, attaching the Vive tracker and bring the racquet into Unity.

Unboxing and first look at the new Microsoft “Mixed Reality” VR headset

Packet39 (my company) was lucky enough to receive a developer kit of the new MS “Mixed Reality” (ie, VR) headset, made by Acer. Here is a quick unboxing and review. Please keep in mind this is a developer model, and things might change before it’s public release.

Mixed Reality or VR?

First thing I want to get out of the way is Microsoft’s baffling decision of calling this headset “Mixed Reality”. It’s not a “Mixed Reality” headset by any means I can think of. It’s a VR headset, nothing more, nothing less. There is no real-world 3D overlay, optically or with the cameras.

EDIT: I just discovered that these new “mixed reality” headsets do not 3D scan or map the environment. They use two sensors to figure out headset movement, and that’s it. Those sensors in the front of the headset are not cameras (although I’m still not clear on what they are exactly) Thus, the “mixed reality” label doesn’t make any sense IMHO.


Nothing exciting or interesting here, the headset came in a very simple package that consisted of the headset itself and a small note. No accessories, bags, mounts or anything else.


The Headset

The headset is surprisingly lightweight (380 grams / 0.8 pound) and feels cheaply constructed, which is not surprising because it is cheap ($300 USD). There is no IPD adjustment or focus knob (like on the Vive).

The cable is USB 3.0 and HDMI and is about 3.3m (10f) long. There is no breakout box and it doesn’t require external power (which is nice). The headstrap is a simple loop that goes on the forehead and the back of the head, and is adjustable with “press to slide” kind of locking ratchet. Not very smooth or elegant, but gets the job done. It’s all made of rigid plastic, no fabrics or stretchy materials, with some padding on the forehead. Since the headset is so lightweight it works out ok.

The foam is detachable (velcro) and there is a small IR proximity sensor inside. The headset is hinged and can be flipped up in a somewhat awkward fashion. An audio jack is hidden on the left side, which can be used for wired headphones (not included).


Initial setup

I plugged in the headset and windows immediately downloaded and installed the drivers, and launched the “Mixed Reality Portal”. The first step was to enter my height, so the headset can detect the floor. The next step was standing in the middle of the room, then tracing out my play area perimeter, by holding the headset at waist level and walking around the room.

This actually took several attempts. The first one wasn’t good enough (not sure why). The second was too small, which is amusing given the rather short cable. My computer is not directly by my table, and I also have a treadmill desk (yeah, it’s as crazy as it sounds), so I had to move back a bit. Even with the cable fully extended, the biggest area I could trace was too small. I had to move the computer and try again. Unlike with the SteamVR room setup, the boundary doesn’t have to be rectangular.



The tracking is good. It’s not as good as the SteamVR/Vive lighthouse tracking system, but it’s impressively good for an inside-out tracking system with no external sensors or transmitters. The headset supports full room-scale, 6DOF tracking, with an occasional jitter / flicker when you move your head quickly. Again, the Vive / Rift is better, but this comes very close.


The display is a mixed bag. On the upside, the resolution is higher than the Vive/Rift (1440×1440 pixels vs Vive’s 1080×1200), and it’s noticeable. Sharper image, considerably less screen door affect. However, optically it falls short. The sweet spot is small and the edge smear is very pronounced. Also, it has a distinct “viewing the world through binoculars” feel to it, as you can clearly see a circular edge. It is very hard to capture images or video through the headset, but here are a few. Please do not judge the display quality by these:

EDIT: Interestingly, the lens seems to be a hybrid, smooth on the outside and Fresnel’ed on the inside.



Just like SteamVR, it shows up when you are close to it.


Controls / User Interface

The headset will get tracked controllers, but those are not released yet. For now, it’s voice or mouse / keyboard interface and it does that in an interesting way. Here is a video that shows the gist of it, it looks cumbersome but it actually works.. OK (ish). Still, using a keyboard (that I can’t see) and a mouse (that I can’t see) in VR is not my cup of tea.


That’s all I have for now, I’m going to dive into the software SDK and write some more about that very soon.

Increasing the HTC Vive FOV

This very simple hack will dramatically increase your HTC Vive field-of-view. The Vive comes with two face covers packaged in the box, wide and narrow. I opted to hack the narrow one since I wasn’t using it (I’m mr. big head).

Warning – If you need glasses to use the Vive this might not work for you.

Here is the FOV increase I got (approx), compared to the stock wide face cover.


The stock “narrow” face cover:


Take a sharp knife and carefully slice off 2/3 of the foam. It can be a bit tricky to get it nice and even and it’s a lot easier if you have another pair of hands to help hold it down (preferably a pair of hands that are connected to person).


Aaaaaand.. that’s it. Here is the shaved-down face cover on my vive, which is also sporting the welder headset mod (highly recommended, if you can’t wait for the deluxe strap or want a cheaper solution). I didn’t notice any difference in comfort. Have fun!