Hallo and howdy,
I successfully integrated Vuforia into my jPCT-AE project and instead of changing the camera Position I change the position of the 3D-Objects in relation to the camera.
Therefore I use the pose matrix of the Vuforia SDK which is a 3x4 matrix:
poseMatrix = [R|t]
R is the 3x3 rotation matrix
t is the 1x3 translation matrix
I track several markers and put one 3D-Object on each of them. To set the position of the marker I use the translation matrix. This works like a charm.
But I have problems setting the rotation of the objects. I use the setRotationMatrix method of the Object3D class.
Therefore I first hardcode my Vuforia 3x3 rotation matrix in a 4x4 jPCT rotation matrix like described in this
jPCT-Thread.
This works. But the coordinate system of jPCT is rotated 180 degrees around the x axis with respect to Vuforia's coordinate system.
That's why the 3D-Objects just rotate in the wrong direction. With transposing Vuforia's 3x3 rotation matrix I get the right rotation but the objects seem to be behind the marker. This is pretty ugly.
I could just move the objects in front of the marker but this is not the way I want to solve this problem, because I have several (probably) different sized objects.
My Question: Can Vuforia's rotation matrix be changed (rotated) to a jPCT's rotation matrix with respect to their different coordination systems?
Greetings
Shizzn