Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
"Vector2.Lerp(Vector2, Vector2, Single) ve Vector4.Lerp(Vector4, Vector4, Single)'in uygulanması, kayan nokta yuvarlama hatasını doğru bir şekilde dikkate almak için değiştirildi."
Açıklamayı değiştir
Vector2.Lerp(Vector2, Vector2, Single) ve Vector4.Lerp(Vector4, Vector4, Single) daha önce value1 + (value2 - value1) * amount olarak uygulanıyordu. Ancak kayan nokta yuvarlama hatası nedeniyle, value2amount olduğunda bu algoritma her zaman 1.0f döndürmez.
.NET 5 ve sonraki sürümlerde, uygulama Vector3.Lerp(Vector3, Vector3, Single) ile aynı algoritmayı kullanır; bu algoritma (value1 * (1.0f - amount)) + (value2 * amount). Bu algoritma yuvarlama hatasını doğru şekilde hesaplar. Şimdi amount1.0f olduğunda, sonuç tam olarak value2 olur. Güncellenmiş algoritma, kullanılabilir olduğunda MathF.FusedMultiplyAdd kullanılarak algoritmanın serbestçe optimize edilmesini de sağlar.
Sürüm kullanıma sunulmuştur
5.0
Önerilen eylem
Eyleme gerek yoktur. Ancak, eski davranışı korumak istiyorsanız, önceki algoritmasını Lerpkullanan kendi value1 + (value2 - value1) * amount işlevinizi uygulayabilirsiniz.