Announcement

Collapse
No announcement yet.

I can't swap the yaw and roll axes on a Joy-Con controller.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Originally Posted by DevX View Post
    Gyro mode measures rotation SPEED, i.e. how fast angle changes, but it does not care about ANGLE itself.
    When you stop rotating your device gyro output will stop too, so it works similar to mouse.
    It works on all 3 gyroscope axis and in any device orientation. It does not need accelerometer or magnetometer, because gyroscope measurements are relative to device itself.
    That is why you can map any gyro axis in reWASD to mouse and swap them as you like.
    The drawback of gyro is that it is subject to drift with time, but this is not so critical for mouse mapping as you can adjust deadzone etc.
    ----------
    Tilt is more complex mode as it measures actual resulting rotation ANGLE but does not care about its SPEED.
    When you stop rotating your device tilt output will NOT stop, but will show you the resulting accumulated ANGLE starting from some reference point.
    So it works similar to stick, not mouse.
    And Reset Tilt command on your profile does just that - it remembers current gamepad orientation and uses it as reference point for future measurements.
    To calculate tilt reWASD uses both gyroscope (to calculate angle deltas) and accelerometer (for angle correction in case of gyro drift). This is called sensor fusion.
    It is more advanced operating mode but it cannot work on all 3-axes, because vertical axis (yaw relative to user) cannot be corrected by accelerometer.
    And, as device has no magnetometer, the resulting angle will drift periodically and will not be precise. It will be like "bad stick".
    That is why Tilt mode uses 2 axis only, which are perpendicular to gravity, and vertical axis is not usable.
    As sad earlier, we can try to add it in future, so you can map this ANGLE as well, but with some compromises.
    ----------
    DevX, this explanation of yours is very didactic. I, at least, have learned many things about the Joy-con controller, reWASD, and both the gyroscope and the accelerometer, with this thread that I opened at the time. But this post of yours makes it much clearer for me how gyroscope and accelerometer work. Thank you!!

    Comment


    • #62
      Originally Posted by DevX View Post
      > but this also does not make sense to me in that I don't see why this still does not allow Yaw to be used in the horizontal position of the JoyCon in Tilt mode, when it does in Gyro mode​
      Please reread what we posted above about how Tilt operates, lack of magnetometer etc.
      All gamepads have 6-axis IMUs, which contain 3-axis accelerometer and 3-axis gyroscope and they are used for quite different things.
      Tilt or Gyro are absolutely different modes in reWASD.
      -----------
      Gyro mode measures rotation SPEED, i.e. how fast angle changes, but it does not care about ANGLE itself.
      When you stop rotating your device gyro output will stop too, so it works similar to mouse.
      It works on all 3 gyroscope axis and in any device orientation. It does not need accelerometer or magnetometer, because gyroscope measurements are relative to device itself.
      That is why you can map any gyro axis in reWASD to mouse and swap them as you like.
      The drawback of gyro is that it is subject to drift with time, but this is not so critical for mouse mapping as you can adjust deadzone etc.
      ----------
      Tilt is more complex mode as it measures actual resulting rotation ANGLE but does not care about its SPEED.
      When you stop rotating your device tilt output will NOT stop, but will show you the resulting accumulated ANGLE starting from some reference point.
      So it works similar to stick, not mouse.
      And Reset Tilt command on your profile does just that - it remembers current gamepad orientation and uses it as reference point for future measurements.
      To calculate tilt reWASD uses both gyroscope (to calculate angle deltas) and accelerometer (for angle correction in case of gyro drift). This is called sensor fusion.
      It is more advanced operating mode but it cannot work on all 3-axes, because vertical axis (yaw relative to user) cannot be corrected by accelerometer.
      And, as device has no magnetometer, the resulting angle will drift periodically and will not be precise. It will be like "bad stick".
      That is why Tilt mode uses 2 axis only, which are perpendicular to gravity, and vertical axis is not usable.
      As sad earlier, we can try to add it in future, so you can map this ANGLE as well, but with some compromises.
      ----------

      I hope the above explanation helps.
      Thank you so much for this explanation! I get it now and the difference between Gyro and Tilt mode.

      Comment


      • #63
        Hi DevX,

        could you please put in rewasd the described "swap roll and yaw" mode?

        I also want to play in this type of manner.

        Maybe you can put in a filter that works similar to using the accelerometer for correction, because the user (at least averaged over time) normally directs the controller towards the same direction. If the user changes his playing position, reseting could also be an option.

        Or just discard very small (produced by drift) yaw numbers?

        Thanks!

        Best regards

        Tom

        Comment

        Working...
        X