Hey all,
I've been lurking for a while, trying to figure out all the tricks with Skanect. A question I see on the forum quite a bit is "Can I use multiple sensors with Skanect?"
Unfortunately, it seems that the
current answer is no. Hopefully that will change someday, but for now, you can use this nifty workaround!
Step 1: Open up multiple instances of Skanect
Step 2: Scan the same object from different angles simultaneously
Step 3: Load meshes into Meshlab, and align them
Step 4: Have a complete model!
Step 1 was the tricky part, but I've figured out a way around Skanect's "An instance of Skanect is already running" error using a program called "Sandboxie".
Sandboxie creates an environment for a programs to load into that are not allowed to communicate with the rest of your machine. You'll need the full version of Sandboxie to make this method work (Since you need multiple sandboxes...)
To get started, install Sandboxie, and create as many sandboxes as you need (I used 2, "DefaultBox" and "DefaultBox2".
1) Plug in your Kinect (or other sensor) to an available USB port
2) Right click Skanect, and click "Open sandboxed"
3) Select "DefaultBox"
4) Skanect should open and detect the sensor as normal.
5) A pop up window will appear, asking if you want to recover files. Click the checkbox that says something like "Do not ask to recover files until the end of the session", then close the window.
6) Plug in your second Kinect. Be sure that it is plugged into a USB port run by a different USB host controller, or you'll have bandwidth troubles.
7) Right click Skanect, and click "Open Sandboxed"
8) Select "DefaultBox2" (Or any other box that is not already running an instance of Skanect)
9) WAIT. 3 windows should pop up. The Skanect app, the recovery window (As mentioned before), and a small window that says "Failed to initialize sensor".
10) Close the recovery window as before
***This is where the process is likely to fail... the Skanect app should show a yellow sensor icon in the upper right hand corner. If, at any point, that sensor turns red, close the instance, unplug the sensor and start from step 6***
11) Bring the "Failed to initialize sensor" window to the front. Close it by CLICKING THE RED X IN THE TOP RIGHT CORNER. If you press "OK", the sensor will turn red, and you will have to start from step 6.
12) Wait. The sensor on Skanect should still be yellow, and you should get a "Starting Sensor" bar on the bottom. Wait for that to finish loading completely before clicking anything else
13) Scan simultaneously!
14) The exported models can be recovered from Sandboxie after the instances are closed.
------------------------------
I've used this method pretty consistently, but it's not perfect. Sometimes, Skanect just won't see the sensor. Closing the sandbox and re-opening usually fixes that.
Aligning the scans is still an issue that we face... it's difficult to get it just right, and there's a lot of noise on the edges of the scans.
It's not a perfect method, but until there's native support for multiple sensors (Hint hint!), it's the next best thing.
Let me know if you give it a try, and what you think!
Thanks,
Brandon Pomeroy