As a physics project/presentation from a past semester, my two lab partners and I decided to try and make a 3D movie. We quickly ran into a problem though. The three of us were unable to obtain the two identical camcorders which are typically needed to record a 3D movie.
We were able to work around this by using my CNC machine, which enabled us to record both sides of the 3D movie using just one video camera. Since a CNC machine will follow a programmed path exactly, all we had to do is program two slightly different paths to simulate two camcorders.
3D Chess Set Video
Here is one of the 3D videos that we made. It probably could have used better lighting, but I’d say that it turned out fairly well considering the quality of the camcorder. (FYI by camcorder, what I really mean is a cheap digital camera :^) You will need to wear 3D glasses in order to view the movie correctly. The red lens goes on the left eye.
Tip: Fast forward the above video to 4 seconds and the below video to 8 seconds. Try and hit play on both at fast as possible to watch them synchronized.
CNC Machine Recording the 3D Video
In above video, you can see the CNC machine record both sides of the 3D movie. About half way through, it starts from the beginning again except, this time, it records a slightly different perspective.
Also notice how it moves the camera down and then up again periodically. This is done to turn the camera on and off automatically, which insures that the beginning of both of the two videos is perfectly synchronized. That way, I didn’t have to spend all day trying to get them to start at exactly the same time when combining them with the computer software.
Having to use the CNC machine turned out to be a lucky move on our part. After some experimentation, it was discovered that the quality of the 3D could be improved by decreasing the offset between the two paths as the distance between the camcorder and the recorded object decreased.
This may seem confusing, but it’s not quite a complicated as it might first appear. If you look at the picture below, you will see that the distance the “camcorders” are apart from one another will decrease as they get closer to the recorded object. That’s all there is too it.
Sketchup 3D/Anaglyph Movie Plugin(s)
Since it would be rather tedious to program the CNC’s G-code manually while taking these constantly changing camcorder distances into account, I wrote a plugin for Sketchup (which is based of off my Sketchup to CamBam plugin) that automatically does these calculations when exporting lines out of Sketchup.
Essentially, all I have to do is draw a path in Sketchup, and the plugin(s) does the dirty work of creating the two individual camera paths.
Keep in mind that this is just a quick hack, and by no means should it be considered complete. If you want to download it though, here is the link. 3DpathsPlugin.zip.
How the 3D Movie was Made
Here is a very quick overview as to how the process works. I’m not going to go into too much detail because I doubt that anybody will ever use it. If someone does want to do something similar though, this page should at least serve as a starting point.
1. First, draw some lines in Sketchup. These lines will be the path your camcorder will follow. Make sure that all of the lines connect to one another while also making sure that they don’t touch in more than one spot.
2. Click and drag to highlight all of the lines. Click “Plugins” on the menu bar and then click “3Dpath_Left.” A window should then pop open.
A. The top textbox next to where it says “Enter Number of cm” is where you enter the distance between the two camcorder paths when they are at their starting position.
B. The bottom text box next to where it says “Enter Distance to Object” is where you enter the distance from the camcorder at its initial starting position and the object. If you double one, you should also double the other. i.e. If “Distance to Object” textbox = 100 then “Number of cm” textbox = 12. It also works the same way in reverse except that you would divide instead. Note: You may get better results by changing this ratio. There is still a lot of experimentation that could be done.
3. Click OK and then save the file somewhere you can find it. With the lines still highlighted, click “Plugins” on the menu bar again and then click 3Dpath_Right. The same window will pop up as before except this one will generate the path for the right side. Make sure that you use the same settings that you did in the first window.
4. You will need to have CamBam installed for this next step. The free version is fine. Open one of the exported files from Sketchup in CamBam. Highlight the lines by clicking and dragging and click the “Insert a New Engraving Operation” button.
Here is a pic of the button. It’s located at the top right hand side.
Next, go to “Cam” on the menu bar and then click “Create Gcode File”.
Repeat these steps with the other exported file.
5. The G-code files exported from CamBam can then be loaded into a machine controller. Once this is done, just push record on the camcorder and start your CNC.
Note: It is also possible to program the CNC to turn the camcorder on and off for you. This makes it easier to synchronize the videos in the next step because the starting point of each video should line up perfectly. I’m not going to go into it because it is a rather lengthy explanation, but it shouldn’t be too hard to figure out for yourself.
6. Next, use the free program Stereo Movie Maker to combine the recorded videos and turn them into a 3D movie.
That’s it! I know I rushed through the steps, and I’m sure that there are probably some slight errors (i.e. grammar), but it should at least give a rough idea of how you can make a 3D movie with a CNC machine.