нулю, а не резко? Это должно не зависеть от каких-то таймеров, потому что это в апдейте происходит.
Например, чтобы она не сразу 0, а за 0.2 сек
корутины или DoTween
в FixedUpdate? это ж физика
Ну да, а что?
Это решение мне не подходит
https://docs.unity3d.com/ScriptReference/Mathf.MoveTowards.html
DOTween.To()
Извиняюсь
Mathf.Lerp(currVal, destVal, Time.deltaTime);
using System.Threading; using System.Threading.Tasks; async void SlowDown(float duration, CancellationToken cancellationToken = default) { var startVelocity = _mainRigidbody.angularVelocity; for( float startTime = Time.time, ellapsedTime = 0f; ellapsedTime < duration; ellapsedTime = Time.time - startTime, await Task.Yield()) { if(cancellationToken.isCancellationRequested) { _mainRigidbody.angularVelocity = startVelocity; return; } _mainRigidbody.angularVelocity = Mathf.Lerp( startVelocity, 0, ellapsedTime / duration); } _mainRigidbody.angularVelocity = 0; }
Math. ToWords
Никогда не пиши async void, async await оверхед для этого, корутина будет лучше
Обсуждают сегодня