Unity Eğitim
Dersler
Forum Sınav Merkezi Premium 💎
Unity Dersleri

Unity'de transform.Rotate() Fonksiyonu: Nesneleri Dönüştürme Rehberi

Paylaşan: Unity Eğitim 10 September 2025 3 dakika okuma 88 görüntülenme

Unity oyun motorunda, oyun dünyanızdaki nesnelerin konum, rotasyon ve ölçek gibi özelliklerini kontrol etmek için Transform bileşeni kullanılır. Bu bileşenin en önemli fonksiyonlarından biri de transform.Rotate() fonksiyonudur. Bu fonksiyon, oyun içindeki nesneleri istenen eksenler etrafında döndürmenizi sağlar. Bu rehberde, transform.Rotate() fonksiyonunu detaylı olarak ele alacağız, farklı kullanım senaryolarını inceleyeceğiz ve örneklerle pekiştireceğiz.

transform.Rotate() Fonksiyonunun Temelleri


transform.Rotate() fonksiyonu, nesnenizin dönüşünü üç farklı şekilde kontrol etmenizi sağlar:

1. Eksenler Etrafında Dönüş


Bu yöntemde, nesnenizi x, y ve z eksenleri etrafında belirli bir açı kadar döndürürsünüz. Fonksiyonun en yaygın kullanımı budur. Aşağıdaki kod örneğinde, nesneyi x ekseninde 15 derece, y ekseninde 30 derece ve z ekseninde 45 derece döndürüyoruz:
transform.Rotate(15f, 30f, 45f);

Değerler, derece cinsinden verilir ve pozitif değerler saat yönünün tersine, negatif değerler ise saat yönünde dönüşü belirtir.

2. Belirli Bir Eksen Vektörü Etrafında Dönüş


Bu yöntemde, nesnenizi belirli bir vektör etrafında döndürürsünüz. Bu vektör, dönüş eksenini tanımlar. Aşağıdaki kod örneğinde, nesneyi Vector3.up vektörü (y ekseni) etrafında 90 derece döndürüyoruz:
Vector3 eksen = Vector3.up;
float aci = 90f;
transform.Rotate(eksen, aci);

Bu yöntem, daha karmaşık dönüşler oluşturmak için oldukça kullanışlıdır.

3. Dönüş Hızı ile Dönüş


Nesneyi sürekli döndürmek için transform.Rotate() fonksiyonunu Update() fonksiyonu içinde kullanabilirsiniz. Bu şekilde, her karede nesne belirli bir açı kadar dönecektir. Aşağıdaki örnekte, nesne her karede x ekseni etrafında 1 derece dönecektir:
void Update() {
transform.Rotate(1f, 0f, 0f);
}

Bu yöntem, sürekli dönen tekerlekler, pervaneler veya gezegenler gibi efektler oluşturmak için idealdir.

transform.Rotate() ile İlgili Önemli Noktalar


Yerel ve Global Dönüşler: transform.Rotate() fonksiyonu varsayılan olarak, nesnenin yerel eksenleri etrafında dönüş yapar. Eğer global eksenler etrafında dönüş yapmak istiyorsanız, Space.World parametresini kullanmalısınız:
transform.Rotate(Vector3.up, 90f, Space.World);

Dönüş Birim Ayarları: Dönüş açıları derece cinsinden verilir. Radyan kullanmanız gerekiyorsa, Mathf.Deg2Rad fonksiyonunu kullanarak dereceyi radyana dönüştürebilirsiniz.

Quaternion Dönüşleri: Daha karmaşık dönüşler için, Quaternion sınıfını kullanabilirsiniz. Quaternion, dönüşleri daha verimli ve hatasız bir şekilde temsil eder.

Örnek Uygulama: Dönen Küp


Şimdi, transform.Rotate() fonksiyonunu kullanarak dönen bir küp oluşturalım. Yeni bir Unity projesi oluşturun ve sahneye bir küp ekleyin. Küpün scriptine aşağıdaki kodu ekleyin:
using UnityEngine;

public class RotatingCube : MonoBehaviour
{
public float rotationSpeed = 50f;

void Update()
{
transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime);
}
}


Bu kod, küpü her karede y ekseni etrafında döndürür. Time.deltaTime, kareler arasındaki zaman farkını kullanarak, kare hızından bağımsız olarak sabit bir dönüş hızı sağlar. rotationSpeed değişkeni ile dönüş hızını kontrol edebilirsiniz.

Sonuç


transform.Rotate() fonksiyonu, Unity'de nesneleri döndürmek için güçlü ve esnek bir araçtır. Farklı kullanım yöntemlerini ve örnekleri inceleyerek, oyunlarınızda çeşitli ve etkileyici dönüş efektleri oluşturabilirsiniz. [YOUTUBE_VIDEO_BURAYA]

🧠 Ders Sonu Değerlendirme Testi

Dersi tamamladıktan sonra bilgilerinizi test edin ve ekstra puanlar kazanın.

🔥 +50 XP Ödül
🔒

Sınava Katılmak İçin Giriş Yapın

Bu ders sonu testini çözebilmek, bilginizi test edip **+50 XP** kazanmak ve **Sınav Şampiyonu** rozetinin kilidini açmak için üye girişi yapmalısınız.

Yorumlar (0)

Yorum yazabilmek ve derslere katkıda bulunabilmek için giriş yapmalısınız.

İlk yorumu siz yapın!