Merhaba okurlar. Bu yazıda Unity’de Vector3 static fonksiyonlarını anlatacağım. Unity, oyun geliştiricilerinin çok boyutlu vektörlerle çalışmalarını sağlayan birçok kullanışlı static fonksiyon sağlar. Bu yazıda, Vector3 sınıfının en sık kullanılan static fonksiyonlarını adım adım ve örneklerle anlatacağız. Ayrıca, konuyu daha iyi anlamak için Angle, Distance, Lerp, Time.Time, Time.DeltaTime, Time.TimeScale, Vector3.Max, Vector3.Min ve Vector3.Scale başlıklarını da ele alacağız.
Angle Fonksiyonu
Vector3.Angle fonksiyonu, iki vektör arasındaki açıyı derece cinsinden hesaplar.
float angle = Vector3.Angle(vectorA, vectorB);
Bu örnekte, vectorA
ve vectorB
arasındaki açıyı angle
değişkenine atarız.
Distance Fonksiyonu
Vector3.Distance fonksiyonu, iki nokta arasındaki mesafeyi hesaplar.
float distance = Vector3.Distance(pointA, pointB);
Bu örnekte, pointA
ve pointB
arasındaki mesafeyi distance
değişkenine atarız.
Lerp Fonksiyonu
Vector3.Lerp fonksiyonu, iki nokta arasında doğrusal bir çizgi oluşturulmasını sağlar.
Vector3 lerpedPoint = Vector3.Lerp(startPoint, endPoint, t);
Bu örnekte, startPoint
ve endPoint
noktaları arasında t
(0 ile 1 arasında) değerine bağlı olarak bir nokta örneği oluştururuz.
Time Özellikleri
Time sınıfı, oyuncunun oyun dünyasındaki zamanla ilişkili değerleri almasına olanak tanır.
Time.time
Oyun zamanının başladığı andan bu yana geçen zamanı saniye cinsinden döndürür.
Time.deltaTime
Son iki kare arasındaki zaman farkını döndürür. Her karede sıfırlanır.
Time.timeScale
Oyun zamanının akış hızını kontrol eder. Normal değeri 1’dir. Yukarısı oyunu hızlandırır, aşağısı oyunu yavaşlatır.
Vector3.Max ve Vector3.Min Fonksiyonları
Vector3.Max ve Vector3.Min fonksiyonları, iki vektör arasında maksimum ve minimum değerlerini döndürür.
Vector3 maxVector = Vector3.Max(vectorA, vectorB);
Vector3 minVector = Vector3.Min(vectorA, vectorB);
Bu örnekte, vectorA
ve vectorB
arasındaki maksimum ve minimum değerleri maxVector
ve minVector
değişkenlerine atarız.
Vector3.Scale Fonksiyonu
Vector3.Scale fonksiyonu, bir vektörü başka bir vektörle çarpar. Yani birinci vektörün x koordinatı değeri ile diğer vektörün x koordinatı değerini çarpar.
Vector3 scaledVector = Vector3.Scale(vectorA, vectorB);
Bu örnekte, vectorA
ve vectorB
‘yi çarpar ve sonucu scaledVector
değişkenine atarız.
Unity’de Vector3 sınıfının sağladığı bu fonksiyonlar, 3D oyun geliştirme sürecinde hayati bir rol oynar. Bu yazıda adım adım örneklerle ele aldığımız bu fonksiyonlar, oyununuza hareket, rotasyon, fizik ve mesafe hesaplamalarını dahil etmenize yardımcı olur. Daha fazla bilgi edinmek için Unity belgelerine başvurabilirsiniz.