gtag('config', 'UA-180278623-1'); UNİTY 3D FUNCTIONS -Time.deltaTime - Bilginiz Dahilinde

Ads Top

UNİTY 3D FUNCTIONS -Time.deltaTime

 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.

 public class Control : MonoBehaviour

{

    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:

Blogger tarafından desteklenmektedir.