I have yet another unfinished game in my portfolio (sigh) The BGE Air Race project is dead, but from the positive side I have some nice stuff to share with you. So I give you this nice low-poly aerobatics aircraft to play with. The model is based on Extra 300L and I used Zivko Edge 540 cockpit as the reference for the interior.
FaceAPI is a real-time head-tracking engine which uses webcam input to acquire 3D position and orientation coordinates per frame of video. And it works!
I implemented it in Blender Game Engine for cockpit view of BGE Air Race game.
and here is how I got it working in BGE
1. Downloaded FaceAPI here: LINK 2. Downloaded FaceApiStreamer here: LINK (exports 6 degrees of freedom head tracking to a UDP socket connection) 3. Acquire the values from FaceApiStramer in BGE with Python code like this (not sure if it is quite right, but it kinda works):
from socket import * controller = GameLogic.getCurrentController() own = controller.owner
if own["once"] == True: # Set the socket parameters host = "127.0.0.1" port = 29129 addr = (host,port) # Create socket and bind to address GameLogic.UDPSock = socket(AF_INET,SOCK_DGRAM) GameLogic.UDPSock.bind(addr) GameLogic.UDPSock.setblocking(0) own["once"] = False