Search Unity

Very weird : angular velocity looks like its own derivative

Discussion in 'Physics' started by LeRan, Mar 7, 2017.

  1. LeRan

    LeRan

    Joined:
    Nov 24, 2015
    Posts:
    118
    Hi forum,

    I'm investigating the weird collision behaviour of a bowl game, and I'm starting to think it has something to do with angular velocities. But I found something weirder in the process.

    The "angular velocity" of the ball (myRigidBody.angularVelocity, expressed in rad.s-1) behaves like it was the derivative of the actual angular velocity (expressed in rad.s-2) :
    - it has a minus sign along the axis where it should be positive given the direction of the ball's course,
    - it stays perfectly constant during most of the course of the ball on the ground, while the speed of the ball decreases constantly (e.g., ball is rolling along the X axis, angular velocity stays constant at (0; 0; -9) while the speed drops slowly from 3 to 0,3 m.s-1),
    - it finally decreases and drops to zero at the very end of the course when the ball completely stops.

    So, it looks like the derivative of the angular velocity, showing the friction of the ground constantly slowing down the ball.

    Is that a known behaviour, or am I sorely missing the point ?
     
  2. LeRan

    LeRan

    Joined:
    Nov 24, 2015
    Posts:
    118
    Still investigating that question, still no explanation...

    Other question though : the Rigidbody.maxAngularVelocity parameter (7 by default in my case) does not seem to efficiently cap the angular velocity at all, that is regularly equal to 9 and briefly up to 40 during collisions.

    I'm even more lost.
     
  3. Ben1138

    Ben1138

    Joined:
    Mar 17, 2013
    Posts:
    2
    I'm kinda struggeling with the same thing right now... did you found an explanation?
     
  4. LeRan

    LeRan

    Joined:
    Nov 24, 2015
    Posts:
    118
    I'm sorry but no... I kind of left that question unanswered... Long story short, I completely overrid Unity's default physics calculations and forced mine in a script attached to the balls, that manage ground collision and collision between two balls. I had to do the physics calculations myself and impose the result of my formulae on the rigidbody.

    Not the most satisfying "coding experience" I've had :(