UNİTY 3D FUNCTIONS -Time.deltaTime
Time.deltaTime:
Time.deltaTime =
1/aldığımız fps sayısı ( 1 bölü aldığımız fps sayısı) örneğin ben 300 fps
alıyorsam bunun cevabı 1/300 olur.
public class Control : MonoBehaviour
{
private float timer;
private void
Update()
{
timer += 2f * Time.deltaTime;
}
}
Örneğin bu kodda ben eğer ki 100 fps alıyorsam 2*1/100 ekler bu kod sonucu. Bu sayede kaç fps alırsak alalım timer içinde arttırdığımız değer hep eşit olacaktır her bilgisayarda. Ben 50 fps alsam da 300 fps alsam da aynı düzeyde artış gösterecektir.
Unutma! örneğin 50 fps alıyorsan saniyede 50 kere çalışır
yani bu durumda 2*1/50 =2/50 saniyede 50 kere çalıştığı için 2/50*50 den tekrar
2 ye dönmüş olur Aynı mantık 300 fps de düşünürsek ordakinde de sonuç yine 2
değerini verecektir.
{
private float timer;
private void FixedUpdate()
{
timer += 1f * Time.fixedDeltaTime;
print(timer);
}
Kaç fps alırsak alalım saniyede 60 kere çalışır.
Yine yukarıdaki mantıktan;
Time.fixedDeltaTime = 1/60
1*1/60*60’tan yine = 1 değerini çıkartır.
Time.deltaTime kalıbı burada çalışır fakat kullanmak
mantıksızdır. Çünkü Update fonlsiyonu fps’ye bağlı ama FixedUpdate fpsye bağlı
değil.
Hiç yorum yok: