BAM Update.
This will be another very long post, so at begin is short list of changes without description.
- Added light model very close to oryginal
FP. This model is now default. All stored table configurations will work normaly.
- New "reality view", new Player position coords system, new "desktop" mode in [Reality] menu
- New camer position filtering used to remove jittering of cam position.
- Kinect plugin: improved [Easy "3 points" low / high] - work faster, new [Smart "3 points"]
- "FREE TRACK". Support for new tracking methods with this protocol. You can get near Kinect 3D position tracking with ordinary web cam. Tracking in 3D work for Cabs and DESKTOPS!
- Removed plugins: "Simple CAM" , "Simple PS3Eye", "Destop Cam", "Destop PS3Eye". They still works, but "FREE TRACK" work a lot better.
Now long boring descriptions:
New (old) light model.
-------------------------------------------
BAM uses "asymmetric frustum". My geometry model breaks how light behave in game. I try one more time to fix it.
Now You have 4 light models:
1. "BAM initial release" - Two probmes: (1) objects on table looks little difrent than in normal
FP, (2) when camera is in move, light "moves" sometimes in oposite direction.
2. "New Light system" - my first try to resolve problem (2).
3. "
FP Oryginal" (NEW) - objects on table now look almost the same as in
FP arcade mode (only geomethry is diffrent). This model have only one "small" problem with reflected light on table.
In oryginal
FP arcade mode vector to "camera" from every pixel on screen is exacly same. I reproduce this behave to get same look as oryginal, but now i can set main light position and camera to expose how "unrealistic" is it. I bet You will never find this error.
4. "New Renderer" - it is only math-correct model. All lighting is done in pixel shader programs.
"
FP oryginal" is now set as default.
In [Lights] menu was option "New Light System", now in same place You have switch with 3 options "BAM initial release"/"New Light system"/"
FP oryginal".
In BAM You have a lot of loght related options.
I should make video with exaple how this 4 light models works, but not today.
New "Reality View", camera coords system & "desktop" mode
--------------------------------------------
Sometimes BAM have to know player head position in real world in realtion to screen surface. This is neaded in Static Cam mode and in new Free Track plugin.
So i have to define new coords system, easy to use for users.
Center of this new coords system is at center of Your display edge closes to player (or above this point if You have glass over Your display).
Axis X is in same direction as in
FP.
Axis Y is vertical UP.
Axis Z is horizontal backward/forward.
All is cleary displayed in "reality view" in "simple cam" mode. Look at white arrow.
Please don't try to understand this based on this description. You will get this in 1 min when You try.
In "Reality" menu now You can switch from "CAB" to "DESKTOP". In "DESKTOP" mode You have only on option: angle of display.
New Coords system works same way as in "CAB" mode, but coord (0,0,0) is on bottom edge of display.
This "Desktop" mode alows use "Free Track" in "desktop" (for example notebook camera - it works very well)
New camer position filtering
---------------------------------------------
You can choose in [Config]->[Player Tracking] filtering mode. You have 3 options: "none" / "Latency" / "Accel".
- "Latency" is old method
- "Accel" is method based on camera move speed.
Now You can also disable filtering. You may want to do this for tests or "HT w/PS3Eyes" or for "Free Track".
Kinect
c
Now [Easy "3 Points" Low/High] commands works a lot faster and are more reliable.
I added new [Smart "3 Points"] command. This is other automated "3 points" setup. I works when Kinect is not on vertical axis of display.
NOTICE. To use any of automated "3 points" methods, You nead to set in [Reality] menu to ZERO: Shift-Y, Front Glass Height & Rear Glass Height.
FREE TRACK
---------------------------------------------
Free Track protocol is used by few tracking devices. Now BAM support it. But this protocol have one important flaw. Every time You start tracking new coord system is set. Example: when You start tracking program second time point (0,0,0) reported with this protocol may be in diffrent place than after first start of tracking program. So for example after restart of computer BAM calibration done in "3 point" setup is not valid.
To avoid repetition of calibration BAM uses different approach of setup.
Here is exaple how to setup it with FaceTrackNoIR and FaceAPI.
1. setup of FaceTrackNoIR.
- Go to this site, download program and install it:
- Select Tracker Source : faceAPI
- Click "Curves" (left/bottom), switch tab to "Translations" and press Reset buttons for all 3 axis. It is required, because faceAPI returns coords in cm and any scale of move
- Select Game protocol to "FreeTrack 2.0"
- press Start and test how it works.
- look at "Shortcut keys", here are 2 important keys: Center (default set to "Home" key) and Start/stop (default set to END key)
During setup in BAM You will have to use "Center" key.
You will have to start tracking befor You start BAM/
FP.
[optional]
You can disable cam move filtering in BAM and use filtering in this program
- In Global Setting set Smoothing to 1 to 4 samples
- Select Filter: Accela filter mk2. You can modify filter settings
... or You can disable in program filtering:
- set Smoothing samples = 1
- Select Filter: none
2. Start BAM/
FP and set in [Reality] menu how looks You setup.
- Set display size
- Select units: inch or cm
- Select mode: Cab or Desktop
- Set Cab dimmensions or display angle in Desktop mode (angle =0 is good easy choice).
3. Select Free Track plugins.
- Set base camera position. You will have to put Your head exacly in this place and press "Center" key for FaceTrackNoIR. Easy way for Cab is to set "X=0, Z=0, and Y=know distance above CAM edge" of cab. For desktop do somthing similiary: X=0, Z=known distance from display, Y=half of display height if You sit exacly at front of display.
- If You don't forgot to start tracking in FaceTrackNoIR
- Put You have on "base" cam position and press "Center" key.
Tracking should work now.
4. Set filtering in BAM:
- go to [Config]->[Player Tracking] and try to find right filtering
NOTICE.
I tested this method with my "apple in-sight" cam in my notebook and with not modded PS3Eye cam on my "pseudo" cam. Results are very close to Kinect. Please note, that diffrent cams have diffrent FOV. My PS3Eye cam works perfect in "narrow" lens setting. With "wide" lens setting my move in real world was ~20% bigger in game. To eliminate this You can change "curves" for translations in FaceTrackNoIR.
5. In Free Track plugin You can set rotation of tracked axis. For example in my "cab" test, i put camera few inches below my head level and camera "looks" little UP. To compensate it i set X axis rotation to: -10 deg.
This was example of Free Track for FaceAPI (face detection). You can use this plugin to trace IR leds same way as any Free Track game.
Because Free Track works realy great, old Simple Cam/PS3Eye, Desktop Cam/PS3Eye plugins. They still work.
I did not test OpenTrack. But it can trace AR marker. I may work better than face detection.
------------------------------------
CONGRATULATIONS. You are almost at end of this looong post
------------------------------------
Please rememeber, FaceTrackNoIR and OpenTrack are realy good usefull projects. They have own authors. You can find "donate" buttons on that two site:
------------------------------------
Thanks to JTenebrous for good info about Free Track and very helpfull links
Thanks to Gravy for info about "Cachya". AR marker may work almost same way. Try OpenTrack.
------------------------------------
END of post