- Home /
eliminating angular velocity when clamp value hit?
So I originally had a problem, posted here, about limiting the rotation of an object in a skiing game. I'm basically making a game where you snowboard down a hill and your rotation is limited to +- 45 degrees from the velocity vector in the y direction to keep the board from spinning in awkward directions, along with limitations to keep the board from flipping over, while still allowing for some flexibility. It was suggested that I sue Mathf.clamp, which works pretty well, except I'm using torques to control the rotation of the board, and when a rotation about an axis hits a clamp limit, the angular velocity from the torque is still there. The result is a "stickiness" effect that keeps the ski from rotating back until the angular velocity slows down enough that the counteracting angular velocity can rotate the object back. In a snowboarding game, where quick reactions make all the difference, this problem definitely needs to be fixed. Any suggestions on how to approach this problem?
Getting angles to play nice can be a struggle. As a totally untested suggestion, try eli$$anonymous$$ating components of rigidbody.angularVelocity if the value is clamped. That is if your clamped code changes 'x' angle, then set rigidbody.angularVeloicty.x to 0.0. If it changes 'y', set rigidbody.angularVelocity.y to 0.0. Note if you are using eulerAngles, it would be best to clamp a temporary variable and use the temporary in the calculation rather than read back values from eulerAngles.
Your answer
Follow this Question
Related Questions
Problems with rotating an object using angular velocity. 2 Answers
Clamping velocity and angular velocity at the same time? 0 Answers
Stop velocity on rotation change 2 Answers
How to get tangential velocity of revolving object? 2 Answers
Calculate Angular Velocity to Match Remote Position 0 Answers