Modifying camera view for a new eye tracker software (Beam Eye Tracker)

Hi everyone,

I’m one of the developers of the Beam Eye Tracker (https://beam.eyeware.tech/), which offers eye tracking functionality for gaming using only your webcam or phone, and we are exploring using the SimConnect SDK to directly control the game camera and boost immersion, like TrackIR or Tobii.

Ideally, we would love to declare a new device which would be listed under Controls (like the mouse and keyboard) and having some settings for the users to adjust the UX to their preference. However, it seems this is not possible through SimConnect. Please correct me if I’m wrong!

Regardless, the main functionality to achieve is to make the in-game camera move in reaction to head and eye movements.

Potential solution #1 - Retrieve “RESET POSITION” 6DOF parameters

SimConnect_CameraSetRelative6DOF seems pretty straightforward to modify the camera pose (although strangely missing from the documentation). Where it falls short for our purpose is that it seems to modify the camera in relation to the aircraft center. Instead, we need to first retrieve a “reference” camera pose, in relation to the aircraft, and then inject a new position after composing the pose delta given by the head/eye tracker.

I believe the reference camera needs to be the camera pose that the game sets whenever the user clicks on RESET POSITION in either CAMERA -> COCKPIT/EXTERNAL/SHOWCASE. Note that those parameters further depend on which state, substate, view type and index, is currently configured. Such configuration I can retrieve ( Camera Variables ) but not the 6DOF values themselves

So, how can I access the current RESET POSITION 6DOF parameters (x, y, z, pitch, bank, heading)?

Potential solution #2 - Inject values to the TrackIR “add-position” camera

When using the dev tools in-game, I’ve found that one can view the camera blend for the aircraft and, if you have a TrackIR device connected, the blend includes a (25) TrackIR add-position as a last step (or string similar to that. Disclaimer below).

Is it possible to somehow read/write those 6DOF parameters using the SimConnect SDK? Perhaps it is visible through an input variable/event, etc?

Disclaimer: at the moment of writing this, MSFS refuses to launch in my PC, as it shows an error: “Please insert the Microsoft Flight Simulator Game Disc” no matter how many times I shutdown, reboot, etc. So I could not check how accurate the (25) TrackIR add-position string is. Apologies for that.

Thanks in advance for your help!

Message to Asobo Studio: if there is a way for you to include the Beam Eye Tracker directly as an input device, we would love to talk. Our community would highly appreciate.

+1 reason for a camera API

2 Likes