Kamera Takip Sistemi Flashcards
public Transform target;
Bu, kameranın takip edeceği hedefin konumunu temsil eden bir Transform değişkenidir. Bu değişkeni Unity editöründe sürükleyip bırakarak bir karaktere
veya başka bir objeye bağlayabilirsiniz.
public float smoothSpeed = 0.125f;
Kameranın hareketinin ne kadar yumuşak olacağını belirten bir hız değeri. Bu
örnekte kullanılan smoothSpeed değeri, kod içinde kullanılmamış olsa da,
genellikle kameranın yumuşak hareketi için kullanılır.
public Vector3 offset;
Kameranın hedefin konumuna göre belirli bir mesafede durmasını sağlayan bir
vektördür. Bu, kameranın hedefin üzerinde, altında veya yanında olmasını sağlar.
LateUpdate() Metodu:
void LateUpdate():
LateUpdate() metodu, Update() metodundan sonra çağrılır ve kameranın hedefi
takip etmesini sağlamak için kullanılır. Bu metodun Update() metodundan sonra
çalışması, sahnedeki diğer objelerin hareketlerinin tamamlanmasından sonra
kameranın konumunu ayarlaması açısından önemlidir
transform.position = target.position + offset;
Bu satır, kameranın konumunu hedefin konumuna offset vektörü eklenmiş haliyle
ayarlar. Yani kamera, hedefin offset kadar uzağında duracaktır.
Kameranın hangi objeti takip edeceğini anlayabilmesi için Unity arayüzünde
Kamera objesine eklediğiniz bu script dosyasında ilgili atamayı yapmanız
gerekmektedir.
private float speedModifier;
Hareket hızını değiştirmek için kullanılabilecek bir çarpan. Başlangıçta 1 olarak
ayarlanmıştır.
public float speed = 5;
Karakterin ileri hareket hızı.
public float Input_Speed = 10.0f;
Fare hareketinin karakterin yanlara hareketini ne kadar etkilediğini belirleyen bir
çarpan.
private Vector3 previousMousePosition;
Fare tıklamasının önceki pozisyonunu saklamak için kullanılan vektör.
Rigidbody rb;
Karakterin fiziksel bileşeni.
Start() Metodu:
void Start()
Oyun başladığında bir kez çağrılır. Rigidbody bileşenini alır ve speedModifier
değişkenini 1 olarak ayarlar.
Update() Metodu:
void Update():
Her karede bir kez çağrılır. Bu metod, karakterin sürekli ileri hareket etmesini ve
fare girişi ile yanlara hareket etmesini sağlar
transform.Translate(Vector3.forward * speed * Time.deltaTime):
Karakterin ileri hareket etmesini sağlar. speed ile belirlenen hızda, Time.deltaTime
ile çarpılarak kare başına sabit bir hızda ileri gider.
Time.detaTime:
Time.deltaTime Unity’de, bir önceki kareden bu yana geçen süreyi saniye cinsinden
temsil eden bir değişkendir. Bu, oyun döngüsünde her kare arasındaki süreyi verir ve
bu sayede animasyonlar, hareketler ve diğer zaman bazlı işlemler kare hızından
bağımsız olarak düzgün bir şekilde yapılabilir. Örneğin, eğer bir oyun 60 FPS (Frames Per Second - Saniyedeki Kare Sayısı) hızında
çalışıyorsa, Time.deltaTime yaklaşık olarak 1/60 yani 0.0167 saniye olacaktır. Eğer oyun
30 FPS hızında çalışıyorsa, Time.deltaTime yaklaşık olarak 1/30 yani 0.0333 saniye
olacaktır.
Time.deltaTime kullanmak, kodun farklı kare hızlarında tutarlı ve düzgün bir şekilde
çalışmasını sağlar. Bu, karakterin hızının bilgisayarın veya cihazın kare hızına bağlı
olmamasını, dolayısıyla farklı cihazlarda veya farklı performans seviyelerinde aynı
hızda hareket etmesini sağlar
Vector3.forward:
İleri doğru bir vektördür (z ekseninde pozitif yönde)