PDA

View Full Version : Tips for head tracking set-ups



Lurch1962
03-24-2008, 06:08 PM
This is based on my experiences with FreeTrack, but I can't see how it couldn't apply to TrackIR, at least in principle.

BTW, my download included only a French manual, so I just winged it and poked around until I got it all working. Therefore some of what I present here might have been covered in the manual. http://forums.ubi.com/images/smilies/35.gif


Sensitivity.

Accommodates the large range of possible separations between camera and target, as well as the player's range of head motion. For example, if the player is far from the camera and/or prefers to make small head movements, he would set the sensitivity to a high value because the camera would "see" a rather small range of target motion (this is not ideal--see below).

I would highly recommend to place the camera at a distance from you so that the target's full range of motion covers at least 75% of the field of view. Why? Higher movement resolution.

The software (and the game as well, perhaps??) does utilize a smoothing and/or interpolation algorithm. But it's still best to use as many pixels as the camera offers. Here's how to think of it...

My set-up uses the 352x288 pixel mode (so as to deliver 30 fps). In the game, the virtual pilot's range of "head" motion is ~150 degrees L/R and 90 degrees up/down, or ~300 x 180 degrees. Therefore if I use basic linear movement scaling (straight "curves"), and if I use the entire detector's pixel array, I have 0.85 degrees/pixel horizontally and 0.63 degrees/pixel vertically. Of course, normally one sets things up so that there's an unused "buffer" along the field edges. And the use of movement scaling curves will alter the effective resolution for some portions of the view direction.

If the player is rather far from the camera, perhaps only the central 25% of the field might be utilized (effectively becoming an 88x72 pixel detector!!). That's awfully low resolution, which would require heavier use of the software's smoothing function.


Movement Scaling Curves

A steep initial rise yields a well defined "dead zone" wherein large head movement is required to pan any significant distance away from the view center. Personally, as with joysticks I prefer minimizing dead zones as much as possible. My curves have a very gentle and smoothly varying profile so that there are no "sudden" transitions in panning rate, nor are the rates so different anywhere over the full range as to lead to overshoot.

Moreover, I've set my rates so that while looking forward at least, the panning rates are very similar in the both the L/R and up/down directions. More intuitive and natural that way.

Needless to say, it's advisable to set the end point of a curve to equal the range of virtual head movement. So in IL-2 that's 90 degrees vertically and ~150 degrees horizontally (does anyone know exactly what this latter value actually is?? I suspect it could be as low as 135 degrees--experimentation to follow if no-one else knows).


Threshold

First, use a light source bright enough to afford very good contrast against the background. But not so bright as to cause "blooming", the result of which is a vertical streak running through the image of the light.

The light should present a small angular size the the camera, so use the smallest bulb you can find. A larger blob of light is harder for the software to track reliably.

If the camera's exposure can be set to a VERY dark level (so that even a sunlit snowy scene is underexposed), so much the better! Then you'll likely not even need to worry about IR lights and filters.

In FreeTrack, move the Threshold slider as far to the right as possible while ensuring that the target is still continuously tracked over ALL parts of the field. (Vignetting by the camera may cause some dimming of the image toward the edges/corners of the field. This is even more likely to occur if you add a field-widening negative lens, as I did.) Go to the point where the target's image just begins to flicker, then move the slider back a bit to the left.


That's all I can think of for now...

Lurch1962
03-24-2008, 06:08 PM
This is based on my experiences with FreeTrack, but I can't see how it couldn't apply to TrackIR, at least in principle.

BTW, my download included only a French manual, so I just winged it and poked around until I got it all working. Therefore some of what I present here might have been covered in the manual. http://forums.ubi.com/images/smilies/35.gif


Sensitivity.

Accommodates the large range of possible separations between camera and target, as well as the player's range of head motion. For example, if the player is far from the camera and/or prefers to make small head movements, he would set the sensitivity to a high value because the camera would "see" a rather small range of target motion (this is not ideal--see below).

I would highly recommend to place the camera at a distance from you so that the target's full range of motion covers at least 75% of the field of view. Why? Higher movement resolution.

The software (and the game as well, perhaps??) does utilize a smoothing and/or interpolation algorithm. But it's still best to use as many pixels as the camera offers. Here's how to think of it...

My set-up uses the 352x288 pixel mode (so as to deliver 30 fps). In the game, the virtual pilot's range of "head" motion is ~150 degrees L/R and 90 degrees up/down, or ~300 x 180 degrees. Therefore if I use basic linear movement scaling (straight "curves"), and if I use the entire detector's pixel array, I have 0.85 degrees/pixel horizontally and 0.63 degrees/pixel vertically. Of course, normally one sets things up so that there's an unused "buffer" along the field edges. And the use of movement scaling curves will alter the effective resolution for some portions of the view direction.

If the player is rather far from the camera, perhaps only the central 25% of the field might be utilized (effectively becoming an 88x72 pixel detector!!). That's awfully low resolution, which would require heavier use of the software's smoothing function.


Movement Scaling Curves

A steep initial rise yields a well defined "dead zone" wherein large head movement is required to pan any significant distance away from the view center. Personally, as with joysticks I prefer minimizing dead zones as much as possible. My curves have a very gentle and smoothly varying profile so that there are no "sudden" transitions in panning rate, nor are the rates so different anywhere over the full range as to lead to overshoot.

Moreover, I've set my rates so that while looking forward at least, the panning rates are very similar in the both the L/R and up/down directions. More intuitive and natural that way.

Needless to say, it's advisable to set the end point of a curve to equal the range of virtual head movement. So in IL-2 that's 90 degrees vertically and ~150 degrees horizontally (does anyone know exactly what this latter value actually is?? I suspect it could be as low as 135 degrees--experimentation to follow if no-one else knows).


Threshold

First, use a light source bright enough to afford very good contrast against the background. But not so bright as to cause "blooming", the result of which is a vertical streak running through the image of the light.

The light should present a small angular size the the camera, so use the smallest bulb you can find. A larger blob of light is harder for the software to track reliably.

If the camera's exposure can be set to a VERY dark level (so that even a sunlit snowy scene is underexposed), so much the better! Then you'll likely not even need to worry about IR lights and filters.

In FreeTrack, move the Threshold slider as far to the right as possible while ensuring that the target is still continuously tracked over ALL parts of the field. (Vignetting by the camera may cause some dimming of the image toward the edges/corners of the field. This is even more likely to occur if you add a field-widening negative lens, as I did.) Go to the point where the target's image just begins to flicker, then move the slider back a bit to the left.


That's all I can think of for now...