3DBox Orientation Problem Revisited

This forum is currently in read-only mode.
  • I originally posted about a problem with the 3DBox's Orientations quite a while back. The original topic was still somewhat speculative and the information wasn't presented particularly well (Link: http://scirra.com/phpBB2/viewtopic.php?t=294).

    I spent a large amount of time playing with the 3DBox after that post, resulting in my 3D Proof of Concept (Link: http://scirra.com/phpBB2/viewtopic.php?t=527).

    Moving forward, the main problem I now face is that the 'Yaw' Orientation for the 3DBox is still not relative. I have created a .cap to try to illustrate this issue.

    http://www.fileshack.us/get_file.php?id ... onTest.cap

    On the left, there is a Construct 3DBox, and on the right I have used 8 points to try to illustrate the corners of a cube, using my own 3D Rotation Matrix.

    You will see that both boxes move perfectly together, when you only alter the Pitch and Roll. But as soon as you add any amount of Yaw, you can immediately see a discrepancy.

    Basically, what is happening here, is that the Yaw value for the 3DBox is always counting Pitch and Roll as being 0. This causes Yaw to always rotate the 3DBox in the same horizontal fashion as it does when Pitch and Roll are 0.

    This lack of relativity causes a whole myriad of issues for 3DBox rotations.

  • Wow, that is funky. I didn't get what you were driving at before, but I can see it plain as day now.

  • Looks like something is simply reversed or mixed up when two or more are used.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Eep, messed up my maths somewhere in 3D box. I'll see what I can do about it.

  • Eep, messed up my maths somewhere in 3D box. I'll see what I can do about it.

    Thanks Ashley, that would be great .

    I realise I am probably one of only a handful of people using the 3DBox in a manner this complex, but its still something that interests me greatly.

    I would love to have a fully playable 3D tech demo out in the near future.

  • If we are talking about the 3dbox .. is there a possibility that we will see some new 3d objects in the future ? or could import them ?

    It would be really helpful ^^

  • If we are talking about the 3dbox .. is there a possibility that we will see some new 3d objects in the future ? or could import them ?

    It would be really helpful ^^

    It's been discussed and re-discussed and re-re-discussed.

    The answer is pretty much "possibly, but not until after 1.0."

  • also about the 3d box.

    you can change the yaw pitch and roll during runtime but can only edit the roll in the layout editor. maybe some extra handles on the object for those?

  • EDIT: Removed. Jumping to conclusions is a bad habit.

  • I cannot believe I didn't notice this earlier. I have discovered exactly what the problem is. (EDIT: Then again, it could just be the result of a different problem, but it at least confirms that there is an issue.)

    Gimbal Lock.

    (Explanation of Gimbal lock: http://everything2.com/index.pl?node_id=1528097)

    This can be observed using my original example above. All you need to do is, quite simply, rotate Pitch to 90 degrees. At this point, Yaw and Roll achieve the exact same motion on the 3D Box. This means you have lost one degree of movement, and have achieved Gimbal Lock.

    While this may not seem a big deal at first glance, this causes major issues when you start doing anything of complexity using the 3D Boxes. It is also a well known issue that extends beyond just 3d programming (Apollo 11 anyone?).

    In case anyone is interested as to my 3D Rotation implementation, I have used the Axis Angle method (in a Matrix), courtesy of the following website:

    http://www.euclideanspace.com/maths/geo ... /index.htm

    Axis angle and Quaternions both, technically, avoid Gimbal Lock. Whereas Euler Angles are known to be plagued by it (though I make no assumptions that is the cause in this case).

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)