Kamera Takip Sistemi Flashcards

1
Q

public Transform target;

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

public float smoothSpeed = 0.125f;

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

public Vector3 offset;

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

LateUpdate() Metodu:
void LateUpdate():

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

transform.position = target.position + offset;

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

private float speedModifier;

A

Hareket hızını değiştirmek için kullanılabilecek bir çarpan. Başlangıçta 1 olarak
ayarlanmıştır.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

public float speed = 5;

A

Karakterin ileri hareket hızı.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

public float Input_Speed = 10.0f;

A

Fare hareketinin karakterin yanlara hareketini ne kadar etkilediğini belirleyen bir
çarpan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

private Vector3 previousMousePosition;

A

Fare tıklamasının önceki pozisyonunu saklamak için kullanılan vektör.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Rigidbody rb;

A

Karakterin fiziksel bileşeni.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Start() Metodu:
void Start()

A

Oyun başladığında bir kez çağrılır. Rigidbody bileşenini alır ve speedModifier
değişkenini 1 olarak ayarlar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Update() Metodu:
void Update():

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

transform.Translate(Vector3.forward * speed * Time.deltaTime):

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Time.detaTime:

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vector3.forward:

A

İleri doğru bir vektördür (z ekseninde pozitif yönde)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

speed:

A

Karakterin hızı (saniyede alınacak mesafe).

17
Q

KODDAKİ -> Time.deltaTime:

A

Bir önceki kareden bu yana geçen süre (saniye cinsinden). Bu ifade, karakterin ileri doğru speed değeri kadar, ama zamanla orantılı olarak (her
karede geçen süreyle çarpılarak) hareket etmesini sağlar. Bu sayede, kare hızı ne olursa olsun karakter her saniye belirlenen speed hızında hareket eder. Özetle, Time.deltaTime karakterin hareketinin kare hızına bağımlı olmadan düzgün ve tutarlı bir şekilde gerçekleştirilmesini sağlar.

18
Q

if(Input.GetMouseButtonDown(0)):

A

Fare sol tuşuna basıldığında, previousMousePosition değişkenine fare pozisyonunu kaydeder

19
Q

else if (Input.GetMouseButton(0)):

A

Fare sol tuşuna basılı tutulduğunda çalışır.

20
Q

currentMousePosition

A

Anlık fare pozisyonunu alır ve deltaX ile x eksenindeki farkı hesaplar

21
Q

Vector3 move = new Vector3(deltaX * Input_Speed * Time.deltaTime, 0, 0):

A

Vector3 move = new Vector3(deltaX * Input_Speed * Time.deltaTime, 0, 0):

22
Q

transform.Translate(move)

A

Karakterin x ekseninde hareketi sağlanır

23
Q

Vector3 clampedPosition = transform.position:

A

Karakterin x eksenindeki pozisyonu -4.5 ile 4.5 arasında sınırlandırılır (Mathf.Clamp
kullanılarak).

24
Q

transform.position = clampedPosition

A

Karakterin pozisyonunu günceller

25
Q

previousMousePosition = currentMousePosition

A

Fare pozisyonunu bir sonraki hareket için günceller. Bu kod, oyun başladığında karakterin sürekli ileri hareket etmesini ve fare girişleri ile yanlara
doğru hareket edebilmesini sağlar. Bu hareketler sınırlı bir x aralığında gerçekleşir.

26
Q

Mathf.Clamp Metodu:

A

Unity’de Mathf.Clamp metodu, bir değeri belirli bir aralıkta sınırlamak için
kullanılır. Bu metod, verilen değeri belirli minimum ve maksimum sınırlar arasında
tutar. Eğer değer, bu sınırların dışında ise, metot değeri sınırlar dahilinde olacak
şekilde ayarlar.

27
Q

Mathf.Clamp metodunun imzası şöyledir:

A

public static float Clamp(float value, float min, float max);

28
Q

value:
min:
max:

A

Sınırlandırılmak istenen değer.
Minimum sınır.
Maksimum sınır.
Eğer value değeri min’den küçükse, sonuç min olur.
Eğer value değeri max’den büyükse, sonuç max olur.
Eğer value değeri min ve max arasında ise, sonuç value olu

29
Q

float clampedValue = Mathf.Clamp(currentValue, minValue, maxValue);

A

Burada, currentValue değişkeni minValue ile maxValue arasında tutulur.

30
Q

Vector3 clampedPosition = transform.position;
▪ clampedPosition.x = Mathf.Clamp(clampedPosition.x, -4.5f, 4.5f);
▪ transform.position = clampedPosition;

A

Karakterin x eksenindeki pozisyonunu sınırlamak için Mathf.Clamp metodunu
kullanır:

31
Q

Vector3 clampedPosition = transform.position;

A

Mevcut karakter pozisyonunu clampedPosition adlı yeni bir Vector3 değişkenine
kopyalar.

32
Q

clampedPosition.x = Mathf.Clamp(clampedPosition.x, -4.5f, 4.5f);

A

Karakterin x pozisyonunu -4.5 ile 4.5 arasında sınırlar. Eğer x pozisyonu -4.5’ten
küçükse, -4.5 olarak ayarlanır; 4.5’ten büyükse, 4.5 olarak ayarlanır. Eğer aralıktaysa, x
pozisyonu olduğu gibi kalır.

33
Q

▪transform.position = clampedPosition;

A

Sınırlandırılmış pozisyonu geri karakterin pozisyonuna ayarlar.
Bu şekilde, karakterin x eksenindeki hareketi belirli sınırlar içinde tutulur ve bu
sınırların dışına çıkması engellenir. Bu tür bir sınırlama genellikle karakterin ekrandan
çıkmasını veya belirli bir oyun alanının dışına çıkmasını engellemek için kullanılır.

34
Q

OnTriggerEnter metodu

A

Unity’de fiziksel bir tetikleyici (trigger) ile bir çarpışma
algılandığında çağrılan bir olay metodudur. Bu metod, bir Collider bileşeni başka
bir Collider bileşeni ile kesiştiğinde tetiklenir, ancak bu çarpışma fiziksel etkileşim
(çarpışma) olarak değil, sadece bir tetikleme (trigger) olarak algılanır. Yani, bu metod genellikle görünmez alanlar, algılayıcılar veya belirli olayları tetiklemek
için kullanılır.

35
Q
A