ホイールを 5 つの角度のうちの 1 つに落とす必要があり、その角度になったときにぐらつきます。ユーザーがホイールを回転させた後、回転速度に 0.98 を掛けて速度を落とします。私は、最も近い角度を見つけて、その方向に小さな値を速度に追加することで、それを機能させています。ただし、これは非現実的に見え、不具合が発生する可能性があります。
減衰正弦波を実装することを考えていましたが、どうすればよいかわかりません。
現在の擬似コード:
var rotation, rotationVelocity, stoppingPoints[5];
update(deltaT) {
velocity -= rotationVelocity * 0.5 * dt;
closestAngle = findClosestAngle().angle;
rotationVelocity += (closestAngle - rotation) / 36 * dt;
rotation += rotationVelocity;
}
編集:
Teeter: 不安定な動きやバランス。前後に揺れる: