Unity Time.DeltaTime Nedir ? Ne İşe Yarar ?


Unity de genel olarak en çok gördüğümüz komutlardan birisi Time.DeltaTime komutudur. Peki gelin bu komut ne işe yarıyor hep beraber konuşalım.

Time.DeltaTime Nedir ?

Eğer önceki yazılarımdan Unity Basit Fonksiyonlar yazısını okuduysanız orada FixedUpdate ve Update arasındaki farkdan bahsetmiştik ve FixedUpdate bütün sistemerde eşit olarak çalışıyordu ama update ise sistem gücü ile doğru orantılı olarak daha fazla veya daha az çalışabiliyordu.
Şimdi gelelim yaptığım bu açıklamanın DeltaTime ile olan alakasına.

Unityde özellikle karakter, mermi hareketleri gibi şeylerde kullandığımız Time.DeltaTime komutu bize kullandığımız yeri aynı FixedUpdate gibi çalışmasını sağlıyor ve sistem donma, kasma gibi durumar yaşasa bile karakterin sürekli olarak aynı oranda hareket etmesini sağlıyor.

Çalışma mantığını biraz daha açacak olursak şöyle açıklayabiliriz.

30 FPS ile çalışan bir sistem varken Time.DeltaTime ile oyunda karakter hareketi 1/30  =  0.33 olarak çalışacaktır
15 FPS ile çalışan bir sistem varken Time.DeltaTime ile oyunda karakter hareketi 0.66 olarak çalışacaktır.
Daha doğrsu Update fonksiyonunun oradaki Time.DeltaTime ı okurken Time.DeltaTime ın alacağı değerler değişiyor ve sistemin FPS değerine göre şekil alıyor ve daha optimal bir karakter hareketi ya da herhangi bir hareketi sağlamış oluyor.

Yukarıdaki yazıyı özet geçecek olursak Time.DeltaTime değeri bizim oyun içindeki FPS hızımıza bağlı olarak otomatik değer alan float bir değişkendir gibi düşünebiliriz.

Time.DeltaTime Ne İşe Yarar ?

Time.DeltaTime ile karakterimizi hareket ettiririz, daha doğrusu sürekli aynı hızda yolu almasını sağlarız.
Time.DeltaTime ın genel olarak kullanım alanı karakterleri hareket ettirmek, mermi gibi objeleri hareket ettirmektir.
Sistem hızından etkilenebilecek olan işlemler yaparken genel olarak Time.DeltaTime ile çarpar ve sürekli eşit olmasını sağlarız.