Interactive Holograms
You may have come across other tutorials for creating pyramid "hologram" projectors. In this Instructable, we will build upon these tutorials and implement an scaled-up interactive holographic interface (a bit like those seen in movies like Avatar and Iron Man) and use it to play some games, watch videos and make our own custom "holograms".
Heads up: This is my first Instructable so don't get put off by the number of steps - they're all pretty short :)
Things You'll Need:
For the projection...
- 4 x A4 sheets of Acetate paper (this can be substituted with anything that's transparent - plexiglass, CD cases...)
- 1 x Sheet of A4 Paper (optional but recommended)
- Scissors (or paper trimmer)
- Ruler
- Compass (optional but recommended)
- Sticky tape
- Monitor/Screen
- Some chunky books (or blocks)
For interacting with the projection
- Webcam
- Computer (running Windows)
Preparing the Cutting Guide.
Measure the size of your screen (this is the distance from the top left to the bottom right).
On a piece of A4 paper, construct an equilateral triangle with sides half the length of the screen size.
Now, draw a line across two sides of the triangle, parallel to the third. It should be about three-tenths of the triangle's side length. This should produce an isosceles trapezoid.
Cut out the trapezoid.
Building the Projection Pyramid
Using the paper trapezoid from the last step as a guide, cut the sheets of acetate paper to size.
Using sticky tape, stick the sides of the acetate trapezoids together to make a pyramid.
Preparing the Projector
Take the screen/monitor and remove any stands (these should be easy).
Balance it over some chunky books (or blocks) facing upwards.
Place the projection pyramid over it.
Viewing Things
Getting Ready to Interact
Take the webcam and mount it to the side of the screen. If you're using a built-in webcam, don't worry, either way, make sure that the webcam has a clear, unobstructed view of where you plan to interact from.
Take the brightly coloured object (it could be a coloured glove or anything - just make sure it's distinct from everything else in the webcam's view)
Download this package. It contains some webcam tracking software and a basic 3D modelling application (I'm quite sure it's safe - I wrote it :P ). It's 10mb in size.
And, if you're in the mood for some games, download this package containing holographic versions of Fez, Minecraft and a cool holographic car show. It's 90mb in size.
Heads up: Google Chrome sometimes blocks the download saying it's malicious. I can assure you guys that it isn't - Google just flags it randomly. Use Internet Explorer or another browser instead. :)
Open the Tracking Program
From the first package, locate ExBawx.exe (inside the Tracking folder). Open it up.
The user interface should be quite self-explanatory.
Adjust Camera Settings
Click on the Camera tab. You should be presented with the camera settings. Click on "Adjust Camera" and play with contrast, brightness and saturation until your coloured object stands out.
Add a Marker
Click on the Tracking tab. This will bring you to some marker settings. Hold the coloured object in front of the camera and click Add Marker. The camera feed should freeze, allowing you to select the marker by clicking on it's centre and dragging outwards. If something goes wrong, simply select the marker in the Edit Markers drop-down box and click on Delete Marker.
Move the coloured object around, it should be surrounded by a box.
Linking to the Application
Finally, go onto the Game tab.
Click on Select Data File. Find the game you want to play and open up it's data file
C:/..../NameOfGame/NameOfGame_Data
Select "MouseData.md" and click open. Now, click the Start button.
This is the end of the set-up process.
Interacting With the Holograms
Open the game up on your monitor and move the coloured object around. Moving moving up, down, left and right should rotate objects, moving it forwards and backwards should zoom in/out.
Here are some instructions for each of the applications:
- Holololol Builder: Create objects with the editor and then click on "Save and View" to view a hologram. At the moment, there isn't any permanent saving but it will be implemented soon.
- Hologram Demo 1: This application allows you to view 3 holograms - a cube, a car and a fighter jet. You can rotate them and zoom in and out. Swipe quickly left and right to change hologram.
- HoloFez: A basic holographic parody of Fez you can swipe quickly left and right to rotate the world but keyboard input is required to move the player (A,S = Movement, Space = Jump)
- MeineKraft: An angry, more Germanic version of Minecraft. Move your coloured object around to navigate the endless procedural world.
Final Notes
And there you have it!
Just some final notes before we finish:
- The "holograms" display better in the dark - but be warned, you may have to use a flashlight or something to make sure the coloured object is visible to the camera.
- These aren't real holograms per-se. They're called the Pepper's Ghost Effect and are mere projections.
- If you have any question, give me a shout in the comments and I'll do my best to help.
- I DO have source code and a "hologram" API for Unity - if you want to get your hands on it, give me a shout in the comments or drop me a message. If you make anything cool I can feature it on here :)
- The tracking software is under the Microsoft Public License (Ms-PL)
- COMING SOON TO THIS INSTRUCTABLE: HOLOGRAPHIC VIDEO PLAYER
Thank You and Please Like :)