Hi Ron,
I've never used it until now when i need to orientate the player in the correct starting position.
I'm experimenting with a calibration function which I use to reset the player on start (and will be available on demand in game eventually).
function Player_Calibrate()
if VR_Active
_log("HMDY="+str(AGKVR.GetHMDY()))
CalibratedY#=AGKVR.GetHMDY()-AGKVR.GetPlayerY()
//AGKVR.LockPlayerTurn(0)
//AGKVR.LockPlayerPitch(1)
AGKVR.SetTrackingSpace(0) // space – 0 = Seated, 1 = Standing
AGKVR.RotatePlayerLocalY(90)
AGKVR.SetPlayerPosition(0,0,0)
AGKVR.SetPlayerRotation(0,0,0)
AGKVR.ResetSeatedZeroPose()
AGKVR.UpdatePlayer()
_log("X="+str(AGKVR.GetPlayerX()))
_log("Y="+str(AGKVR.GetPlayerY()))
_log("Z="+str(AGKVR.GetPlayerZ()))
_log("RX="+str(AGKVR.GetPlayerAngleX()))
_log("RY="+str(AGKVR.GetPlayerAngleY()))
_log("RZ="+str(AGKVR.GetPlayerAngleZ()))
endif
endfunction
If I call this on a keypress say, then it will rotate the player using the AGKVR.RotatePlayerLocalY(90) command fine.
The AGKVR.SetPlayerPosition(0,0,0) does seem to work, but the AGKVR.SetPlayerRotation(0,0,0) doesn't do anything visually nor shows any change in the logged values.
I have tried different values in AGKVR.SetPlayerRotation and with/without calling the various reset and update functions.
I tried altering the AGKVR.LockPlayerTurn(0) and AGKVR.LockPlayerPitch(1) variously, but no difference.
AGKVR.SetTrackingSpace(0) doesn't seem to have any noticable effect either.
Cheers