scenevr/server

Check euler order

Closed this issue · 3 comments

In this post, James pointed out that the euler order seems to be wrong

"Some other minor issues/things I noticed while adding support. Euler rotations are supported however order seems to be YXZ despite docs saying XYZ. Links (dots inside SceneVR) do not have a specific orientation or may have odd looking placement. It is not clear if the "default plane" can be disabled for a room and how to do this. The named colours e.g. #bbffcc are something I should add to Janus, same with the rotation property as a handy way to define xdir,ydir,zdir. JanusVR doesn't have AABB yet built in for collisions, so I have the mesh itself used as collision by default. Some things aren't yet supported - e.g. collision_response, however a great deal of things are - linear gradients for skyboxes, fog, spawn, boxes and planes, billboard, model, and so on). The dimensions of boxes ("cube" in Janus) may not match up, though "plane" should now. That's about all I remember off-hand :)"

Check the order, and correct if necessary.

So for the rotation order, it may be possible you're first rotating about Y (acts as yaw), then X (acts as pitch). I am basing this on the cubes you've used in chess room that act as stands for observers, the ones that are pitched diagonally upward in particular.

Are your rotations extrinsic or intrinsic? (That is, are the rotations about fixed global coordinate axes, or local axes where each rotation affects the axis directions for the following rotations?)

Went into your code (dug to scenevr/forks/euler.js). It's intrinsic - I was using extrinsic.

You can close this issue :) (and my fix will be in 40.8)

Awesome, thanks. 👍