Gizmos ve handles
- Oyun Geliştirme kursu
- Uzman
- Ders 35/47
- 4 dk
OnDrawGizmos ve Handles ile sahneye çizim öğrenirsin.
OnDrawGizmos ile Sahne Görselleştirme
Sahne görünümünde (Scene view) görünmez alanları, çarpışma sınırlarını veya yön vektörlerini çizdirmek için OnDrawGizmos() metodu kullanılır. Gizmos.DrawWireSphere veya Gizmos.DrawLine gibi metotlarla görsel kılavuzlar çizilir.
void OnDrawGizmos()
{
Gizmos.color = Color.yellow;
Gizmos.DrawWireSphere(transform.position, 5f);
}Handles ile Etkileşimli Sahne Araçları
Gizmos sınıfı sadece görsel çizgiler çizerken, UnityEditor.Handles sınıfı sahne ekranında fareyle sürüklenebilen etkileşimli tutamaçlar (pozisyon okları, kaydırıcılar, dönüş halkaları) oluşturur. Bu kontroller OnSceneGUI() içinde tanımlanır.
// Handles ile fareyle taşınabilir kontrol noktası Handles.PositionHandle(konum, Quaternion.identity);
Uygulama Gizmo Küresi Çizim Simülasyonu
DrawGizmo(float yaricap) metodunda Debug.Log("Gizmo kure: " + yaricap); kodunu çalıştır.
Başlangıç kodu
using System;
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void DrawGizmo(float yaricap)
{
// Yaricap degerini ekrana yazdir
}
public static void Main()
{
DrawGizmo(5f);
}
}Örnek çözüm
using System;
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void DrawGizmo(float yaricap)
{
Debug.Log("Gizmo kure: " + yaricap);
}
public static void Main()
{
DrawGizmo(5f);
}
}Beklenen çıktı
Gizmo kure: 5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Unity'de sahne görünümünde (Scene view) sadece nesne seçildiğinde gizmo çizilmesini sağlayan metot hangisidir?
- OnDrawGizmosSelected Doğru cevap
- OnRenderObject
- OnDrawGizmos
- OnSceneGUI
Açıklama: OnDrawGizmosSelected metodu sadece bileşenin bağlı olduğu nesne hiyerarşide seçiliyken çalışır.
2 Gizmo Çizim Metodu
void ____() {}
void OnDrawGizmos() {}
Açıklama: Sahne ekranında görsel kılavuz çizimleri yapmak için OnDrawGizmos metodu tanımlanır.
3 Gizmo ve Handle Terimleri
| Kavram | Anlamı |
|---|---|
OnDrawGizmos |
Sahneye görsel kılavuzlar çizen metot |
Gizmos.color |
Çizilecek kılavuz çizgilerinin rengi |
Handles |
Sahnedeki etkileşimli 3D tutamaçlar |
OnSceneGUI |
Özel handle araçlarının çizim metodu |