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

Unity'de Gizmos.DrawSphere() ile Küre Çizimi: Adım Adım Anlatım

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

Unity oyun motorunda sahne üzerinde görsel yardımcılar oluşturmak için Gizmos sınıfını kullanırız. Bu sınıf, oyunun çalıştığı sırada sahne üzerinde geçici olarak şekiller çizmemizi sağlar. Bu şekiller, oyunun son sürümünde görünmezler; sadece geliştirme ve hata ayıklama aşamalarında yardımcı olurlar. Bu yazıda, Gizmos.DrawSphere() fonksiyonunu kullanarak sahneye küreler çizmeyi adım adım öğreneceğiz.

Gizmos.DrawSphere() Fonksiyonu


Gizmos.DrawSphere() fonksiyonu, belirtilen bir konuma ve yarıçapa sahip bir küre çizer. Fonksiyonun parametreleri şunlardır:

Parametreler



  • center: Kürenin merkez noktasını temsil eden bir Vector3 değeri.

  • radius: Kürenin yarıçapını temsil eden bir float değeri.


Fonksiyonun kullanımı oldukça basittir. Örneğin, (1, 2, 3) koordinatlarında yarıçapı 0.5 olan bir küre çizmek için şu kodu kullanabiliriz:
void OnDrawGizmos() {
Gizmos.DrawSphere(new Vector3(1, 2, 3), 0.5f);
}

Bu kod, OnDrawGizmos() fonksiyonu içerisinde yer almalıdır. Bu fonksiyon, sahne üzerinde Gizmos çizimlerinin yapıldığı yerdir. OnDrawGizmosSelected() fonksiyonunu kullanarak, sadece seçili GameObject'ler için Gizmos çizebilirsiniz.

Örnekler


Örnek 1: Çoklu Küre Çizimi


Birden fazla küre çizmek için, OnDrawGizmos() fonksiyonu içerisinde bir döngü kullanabiliriz:

void OnDrawGizmos() {
for (int i = 0; i < 10; i++) {
Vector3 position = new Vector3(i, 0, 0);
Gizmos.DrawSphere(position, 0.2f);
}
}

Bu kod, x ekseninde 10 adet küre çizer.

Örnek 2: Renklendirme


Gizmos.color özelliğini kullanarak çizilen kürelerin rengini değiştirebiliriz:

void OnDrawGizmos() {
Gizmos.color = Color.red;
Gizmos.DrawSphere(new Vector3(1, 1, 1), 0.5f);
Gizmos.color = Color.blue;
Gizmos.DrawSphere(new Vector3(2, 2, 2), 0.5f);
}

Bu kod, kırmızı ve mavi renkte iki küre çizer.

Örnek 3: Değişken Konum


Kürenin konumunu dinamik olarak değiştirmek için, bir değişken kullanabiliriz:

public Vector3 spherePosition = Vector3.zero;

void OnDrawGizmos() {
Gizmos.DrawSphere(spherePosition, 0.5f);
}


Bu kod, spherePosition değişkeninin değerine göre kürenin konumunu değiştirir. Bu değişkeni Inspector penceresinden düzenleyebilirsiniz.

İpuçları ve Püf Noktaları



  • Performans: Çok fazla Gizmo çizmek performansı olumsuz etkileyebilir. Gereksiz Gizmos çiziminden kaçının.

  • Okunabilirlik: Gizmos'ları anlaşılır bir şekilde düzenleyin. Çok sayıda Gizmos kullanıyorsanız, farklı renkler veya boyutlar kullanarak onları birbirinden ayırın.

  • Hata Ayıklama: Gizmos, hata ayıklama sürecinde çok yardımcı olabilir. Örneğin, bir objenin konumunu veya yönünü görselleştirmek için kullanabilirsiniz.


Sonuç


Gizmos.DrawSphere() fonksiyonu, Unity'de sahne üzerinde küreler çizmek için basit ve etkili bir yöntemdir. Bu fonksiyonu kullanarak geliştirme sürecinizi hızlandırabilir ve hata ayıklamayı kolaylaştırabilirsiniz. Bu yazıda verilen örnekleri inceleyerek ve kendi deneylerinizi yaparak Gizmos.DrawSphere() fonksiyonunu daha iyi anlayabilirsiniz.

🧠 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!