Jump to content



Photo
- - - - -

BAM/Head Tracking for Unit3D

BAM Head Tracking

  • Please log in to reply
3 replies to this topic

#1 ravarcade

ravarcade

    Enthusiast

  • Members
  • PipPipPip
  • 363 posts

  • Flag: Poland

  • Favorite Pinball: none

Posted 13 September 2014 - 10:11 AM

New BAM realease contains now: BAM-Tracker - tool to use BAM/Head tracking without FP in other programs.

Unit3D Pinball ma now use it.

 

------- manual for users ------

1. You need working BAM head tracking in Future Pinball. (There is no tool to setup head tracking, so FP is used for this).
2. Run: BAM-Tracker.exe - it will be visible in windows tray. (don't run FP).
3. Select Head Tracking plugin. (If window is not visible - double click on tray icon).
 
Selected tracking method will be remember. You don't need to select it again after computer restart.
Thats all.
 
------ info for devs : C# -----
Link to demo clients (with sources)
 
See Program.cs
There is simple class BAM_Tracker with detailed info inside and example.
 
Usage:
 
on program init:
call BAM_Tracker.init()
 
on program exit:
call BAM_Tracker.release()
 
to get data:
if (BAM_Tracker.isReady()) // it will tell, if init() works.
{
     BAM_Tracker.data_struct data = BAM_Tracker.getData();
     // process data
}
 
// ---------------- data from BAM ----------------
int data.Counter; // increased after coords update.
double data.ScreenWidth, data.ScreenHeight;              // screen width/height in [mm]
double data.PlayerX, data.PlayerY, data.PlayerZ;         // player position in relation to center of screen in [mm]
double data.EyeVecX, data.EyeVecY, data.EyeVecZ;  // normalized vector with direction, where is right eye from Player position
 
EyeVec is used in stereoscopy. Example:
double eyeSeparation = 65; // 65 [mm]
vec3 Player; // player position (3d vector)
vec3 EyeVec; // 3d vector)
 
vec3 PlayerRightEye = Player+EyeVec*eyeSeparation/2; // coords used to render frame for right eye
vec3 PlayerLefttEye = Player-EyeVec*eyeSeparation/2;  // coords used to render frame for left eye
 
------------ tech info ---------
Client comunicate with Tracker thru shared memory (memory mapped file).
Coords from BAM are updated 500 times per sec. So max delay is 2ms.
They are alredy filtered.
 
---------- how to run demo client -------
1. Run BAM-Tracker - select tracking method.
2. Run clinet: BAM-Tracker-Client-CSharp.exe. If BAM-Tracker.exe is running You will see in window coords (same as in BAM-Tracker window).
 
 
 
 

 


BAM page: http://www.ravarcade.pl

current BAM version: v1.5-317,  released: Oct 11, 2020


#2 BilboX

BilboX

    Enthusiast

  • Unit3D Pinball Team
  • 433 posts
  • Location:French Polynesia

  • Flag: France

  • Favorite Pinball: Metallica, Addams Familly, Scared Stiff, White Water

Posted 13 September 2014 - 12:04 PM

Hi! We'll check it. Head tracking is not a priority yet, but this could same us a lot of time if we will be able to interface it.

More on this later ;).

 

Cheers!


UP2


#3 BilboX

BilboX

    Enthusiast

  • Unit3D Pinball Team
  • 433 posts
  • Location:French Polynesia

  • Flag: France

  • Favorite Pinball: Metallica, Addams Familly, Scared Stiff, White Water

Posted 13 September 2014 - 12:44 PM

After quick check, that would be VERY usefull to have a setup tool outside FP ;).


UP2


#4 BitPirate

BitPirate

    Enthusiast

  • Members
  • PipPipPip
  • 77 posts
  • Location:Calgary 'Eh'B

  • Flag: Canada

  • Favorite Pinball: Creature from the black lagoon

Posted 05 August 2015 - 10:02 PM

For the Lamen, does this mean that Unit3d may now, or soon support BAM?? I am very interested in this!


My Transformers Build - Here





Also tagged with one or more of these keywords: BAM, Head Tracking