Kinect is GREAT. It can trace You in 3D without any other tools! So here is Kinect Head Tracking for BAM!!!
***if you purchased kinect with xbox360 console you may need to purchase the usb/power adapter that will connect it to your PC. It can be ordered online through Amazon/Ebay. I believe this adapter comes automatically when kinect is purchased separately from console.
Plugin created by Andreas Benamou
- Download and install Kinect SDK
- Connect Kinect to PC. (allow system to install drivers. You can test/experiment with Kinect for pc with Kinect explorer demo program that come with the KinectSDK)
Run BAM and select plugin: Kinect
(**Note the following description applies to older versions of BAM which have since been updated to include automatic point detection as well as "skeleton" mode. Skeletal mode performs skeletal tracking as opposed to head tracking. Skeletal tracking is very useful when player glasses and especially 3d glasses (when used in combination with active 3d mode) obstruct the Kinect IR signal. Discussed under Bam Corner at Gopinball.com)
Only two options:
- Angle - You can use Kinect motor to tilt camera
- Eye - Kinect face detection can find eyes on face. You can chose left or right eye to be tracked.
Befor BAM will track your head You have do "3 Points" setup. You have 3 ways to do it:
- Easy "3 points" low - on screen is drawn in checkerboard. Kinect camera is rotated down. If checkerboard drawn on screen is recognized, then "3 points" setup is done.
- Easy "3 points" high - same as "low", but checkerboard is drawn by a little different way.
- "3 points" - old version. Use it if none of "Easy" option works.
If You put Kinect "low", almost at screen, You should use "low" version. (recomended).
If You put Kinect "high" for example on top of backbox - use "high" version.
How to do old "3 Points" setup:
- Select "3 Points".
- Grab some object with know size (You can use book, anything).
- Put "object" on red diamond (left/bottom of screen).
- Put your head over it. (your chin should touch the "object").
- Make sure, that Kinect recognizes your face. (You will see yellow "mask").
- Press enter (set point).
- Repeat 3-6 with second point (right/bottom).
- Repeat 3-6 with third point. But... you don't have to put "object" exactly on red diamond. Just as far as possible from bottom screen line, when Your face is detected.
- Tracking will now work, but BAM will get Your position "too low".
- Enter "object" height in "shift-y" in "reality" menu. Add few more inches/cm (2-5in./5-12cm).
Position is tracked to "center" of Your head. When you press Enter in "3 Points", tracked point You set is: ["object" height] + [distance from chick to center of head] above "red diamond".
- Test. Look at red diamond when BAM menu is visible. If your head is above screen, red diamond shoud be directly under head.
- Smoothening. Cam position is not updated very often. Go to: "Reality" menu and set "Latency" to ~60-100ms.
(If You want to make nice move, increase it to 200ms and move camera realy slowly).
After "3 Points" setup, you can change "tilt" angle. If you move Kinect, You have to repeat "3 Points".
Where to put Kinect
- best place is low, before the Backbox. This way you will be able to look down at table almost vertically. But there is one problem. Kinect for XBOX 360 can trace objects 0.8m away from camera. It will be hard to set third point in "3 Points". Kinect for Windows can trace 0.4m away from camera.
- top of backbox. It will be "easier" to set third point, but Kinect will probably lose tracking, when you look down.
- if you use Easy "3 Points", Kinect depth range limit is not a problem (only color camera is used), so try to put kinect "low".
- Kinect camera must see "checkerboard" on screen. If it fails in Easy "3 points" low, try to put Kinect 1-2 inches (2-5cm) higher on book or small box.
Tip: DO NOT RUN BAM-TRACKER.EXE WHEN YOU WANT TO PLAY FUTURE PINBALL.
(or you will get message "Kinect not found")