Unity Time Sınıfı Nedir? Nasıl Kullanılır?

Unity Time Sınıfı Nedir? Nasıl Kullanılır?


Unity Time Sınıfı Nedir? Nasıl Kullanılır?

 Unity de işlerimizi oldukça kolaylaştıran kütüphaneler ve sınıflar bulunmaktadır, bu sınıflardan birisi de Time sınıfıdır.

Time sınıfını kullanarak normalde düzelmesi bizi zorlayacak bir çok işlemi kolay bir şekilde yapabiliriz. Gelin Time sınıfının ne işe yaradığına detaylı bir şekilde bakalım.

Time kütüphanesi ile oyunun zamanını değiştirebilir, karakterin fps e bağlı olan hareketini daha stabil bir hale getirebilir ve tüm cihazlar için aynı hıza getirebilirsiniz. Bunun gibi bir çok özellikte Time kütüphanesini kullanıyoruz.

Time kütüphanesi kullanılırken "Time." ile başlanır ve sonrasında işimize yarayacak olan özellik seçilir.

 Time.timeScale = 0.2f;

Yukarıdaki oyun zamanını ayarlama komutunda olduğu gibi.

"timeScale" özelliği ile oyun zamanını / hızını belirleyebiliyordunuz peki başka ne gibi özellikler var ?

captureDeltaTime : Ekran görüntüsü alırken karelerin net çıkması için oyunun süresini yavaşlatır.

captureFramerate : captureDeltaTime ile yavaşlatılan oyun süresini eski haline getirir.

deltaTime : Son Frame(Kare) den bu yana geçen tamamlanma süresini saniye cinsinden alır.

fixedDeltaTime : Fizik ve diğer frame güncellemelerinin gerçekleştirildiği süre, saniye cinsinden aralık. (Arkadaşlar bunu script yazarken FixedUpdate gibi düşünebilirsiniz.)

fixedTime : En son FixedUpdate in başlatıldığı zaman, Oyunun başlatılmasından itibaren geçen süre saniye cinsinden.

fixedUnscaledDeltaTime : Son frame aktif olana kadar geçen süreyi oyun zamanına bağlı olmadan saniye cinsinden gösterir.

fixedUnscaledTime : En son FixedUpdate in başlatıldığı oyun zamanına bağlı olmayan zaman aralığı, saniye cinsinden okunur.

frameCount : Oyunlardaki FPS değeri gibi düşünebilirsiniz, kaç kare geçtiğini gösterir.

inFixedTimeStep : Sabit zamanı durum döngüsü, FixedUpdate gibidir, çağrılırsa True, çağrılmaz ise False değerini alır.

maximumDeltaTime : Bir karenin alabileceğini en uzun süredir, FixedUpdate gibi güncellemelerde kare başına süre aynı olacaktır.

maximumParticleDeltaTime : Bir karenin parçacık güncellemelerinde kullanabileceği en uzun süre. (Ateş efektlerindeki ateşin en fazla kaç kare duracağı gibi düşünün bunu.)

realtimeSinceStartup : Oyun başladığından beri geçen süre saniye cinsinden.

smoothDeltaTime : Hiç kullanmadığım için bir yorum yapamıyorum arkadaşlar..

time :  Oyun başladığından beri geçen süre saniye cinsinden.

timeScale : Oyunun hızı,  0 oyun durur ve hiç bir şey hareket edemez, 0 - 1 yavaş 1 normal 1 den sonrası hızlı harekettir.

Oyunda ağır çekim sahneler yapmak için timeScale kullanabilirsiniz.

timeSinceLevelLoad : Frame in başladığı ve son sahnenin yüklenmesinden bu yana geçen süredir.

unscaledDeltaTime : Son frame den itibaren bir sonraki frame aktifleşene kadar saniye cinsinden rastgele aralık.

unscaledTime : Frame den bağımsız, oyunun başlangıç zamanından bu yana geçen süre saniye cinsinden.

Elimden geldiğince bu özellikleri sizlere anlatmaya çalıştım ama bunlar arasındaki farkı en iyi kullanarak anlayabilirsiniz.

Yukarıdaki sınıf özellikleri ile ilgili daha detaylı bir bilgi için Unity nin resmi dokümantasyon sayfasına göz atmanızı öneririm.