Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
10566
Tıklama
7
Öne Çıkarma
Unity Time.deltaTime nedir nasıl çalışır?
A
7 yıl
Yüzbaşı
Konu Sahibi

Time.deltaTime'ı kullansamda nasıl çalıştığı konusunda kafam bulanıktı.
Merak eden başkaları varsa anlamalarını kolaylaştırmak için bir yazı yazayım dedim.
:::
Unityde Time.deltaTime bilgisayarınızın bir önceki frame'i tamamlaması için gereken süreyi veren salt okunur bir değişkendir.
Ne İşe Yarar?

Unityde normalde çalıştırdığınız fonksiyonlar bilgisayarın çalışma hızına endekslidir.deltaTime ile performanstan bağımsız olarak fonksiyon çalıştırabilirsiniz. Örneğin bir nesneyi ileriye hareket ettirecekseniz deltaTime kullanmadan hareket ettireceğiniz bu cisim yavaşlayıp hızlanacaktır çünkü ileri gitme komutu bilgisayarınız hızlı çalıştıkça hızlıca, yavaş çalıştıkça yavaşça verilecektir.
deltaTime ile sadece zamanı baz alarak çalıştıracağınız komutu aynı aralıklarla çalıştırırsınız.

Peki Nasıl Çalışır?

Bilgisayarınızın 10 frame aldığını düşünelim. time.deltaTime'ı okuyunca 1/10 = 0.1 döndürecektir.
Time.deltaTime'ı tekrar okuyunca çalışma hızı 5 frame'e düşerse time.deltaTime 0.2 döndürecektir.

Bizim de bir küp nesnesini hareket ettirmek istediğimizi varsayalım. Küp nesnesine şu komutu verelim = transform.translate(10*Time.deltaTime,0,0) (10 metre ileri git)
Küp birinci okumada 10*0.1 = 1 metre ileri gidecektir.
Küp ikinci okumada 10*0.2 = 2 metre ileri gidecektir.
Bu sayede eşit hızla ileri gitmiş olacak.

Neden eşit hızla ileri gittiklerini anlayamadıysanız şöyle açıklayayım: delta.Time'ı ilk okumamızda bilgisayarımız hızlı çalıştı ve 0.1 döndürdü ancak ikinci okumamızda yavaşladı ve 0.2 döndürdü,
bizde bilgisayarımızın çalışma hızı yarıya düştüğü için ileri gitme komutunu 2 kat yüksek değerle verdik.bunu Time.deltaTime ile yaptık.


Özetle Time.deltaTime komutlarımızı bilgisayarımız hızlı çalıştıkça daha düşük değerle vermemizi, bilgisayarımız yavaş çalıştıkça daha yüksek değerle vermemizi sağlayarak ortalama olarak aynı değerde çalışmasını sağlar.
https://www.gercekteolan.com/2018/08/unity-timedeltatime-nedir.html

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



Ben de daha açıklayıcı olması açısından küçük bir ekleme yapayım, 10 frame , 5 frame dediğimiz saniyede aldığımız frame sayısı o yüzden time.deltatime değeri 1/10 = .1 ve...
Yoruma Git
Yorumun Devamı abasgun - 7 yıl +4