Bu dersimizin konusu Gizmos.Derse geçmeden önce size şöyle birşey söyleyebilirim Debug.log fonksiyonuyla nasıl hatalarımızı tespit edebiliyoruz, gerektiği zamanlarda değerlerimizi görebiliyoruz vs.. gizmoda debug.log gibi işimizi kolaylaştıran bir araç fakat oyunun içinde gözükmez sadece editörde çalışır.

İlk olarak 2 fonksiyona değiniyoruz.Bildiğim kadarıylada Gizmoların sadece 2 fonksiyonu bulunuyor.Bunların ilki
OnDrawGizmos = Editörde update gibi çalışan fonksiyondur.Fonksiyonun içindeki herşeyi hemen editöre yansıtır.Örneğin
OnDrawgizmos fonksiyonunun içine yazdığım kodum hemen editörde gözüktü.

OnDrawGizmosSelected= OnDrawGizmos gibi çalışır fakat bunun farkı çalışması için tek bir şart vardır, editörde bir objeyi seçmemiz gerekmektedir.
Resimdede görceğiniz üzere 1. obje seçili değilken, 2. obje seçili.2. Objeye kod ile Sphere oluşturdum.Şimdi bu işaretleri nasıl çıkartacağımızı göreceğiz.

Fonksiyonlarımız bitti.Şimdi geçelim bu işaretleri nasıl çıkartacağımıza.İlk olarak c# scripti oluşturalım ve OnDrawGizmos fonksiyomuzu yazalım.
(Not: Script adını Gizmos yaptığım için Gizmos fonksiyonuyla karıştı bu yüzden kodunuzun adını benim gibi Gizmos yapmayın)

Kodumuzu yazdıktan sonra OnDrawGizmos içindeki kodlar editorde Update gibi çalışmaya başladılar.Tabiki şuanlık kodumuz boş olduğu için boş olarak çalışıyor.
Şimdi kodlarımıza geçelim.
Resimdeki gibi "Gizmos." koyduğumuzda yazabileceğimiz kodları görebiliyoruz.Ben ilk örnek yapıp ondan sonra sadece kodları açıklayacağım.Her kod için anlatım yapmayacağım.

DrawLine fonksiyonumuz 2 nokta arası çizgi oluşturuyor ve 2 değer alıyor.Birinci değer çizginin başlayacağı vector3 pozisyonu, 2. değer ise çizginin biteceği vector3 pozisyonu.Daha iyi anlamanız için bu çizginin birde dikeyini yapacağım.

Şimdi bu kodumuzu OnDrawGizmos fonksiyonumuz içine yazdık peki ya OnDrawGizmosSelected fonksiyomuzun içine yazsaydık ne olcaktı?

Bunuda anladığınızı düşünüyorum.Şimdi gelelim diğer gizmos kodlarımıza.

Gizmos.DrawCube
Sahnede 3 boyutlu küp oluşturur.
2 değer alır.İlk değer Vector3 cinsinden gözükeceği pozisyon, İkinci değerimiz ise yine Vector3 cinsinden Küpümüzün Büyüklüğü.(Unutmayın Gizmos ile yaptığımız şeyler sadece editorde gözükür ve oyuna hiçbir etkisi yoktur.)
Gizmos.DrawIcon
Sahnede Icon/Resim göstermemizi sağlar.
3 Değer alır.İlk değer Vector3 cinsinden gözükeceği pozisyon, ikinci değer dosyamızın adı.Yalnız burada yapmanız gereken bir işlem dosyamız Assets/Gizmos Klasöründe bulunması lazım.Sizde Assetsin içinde Gizmos klasörü yoksa Gizmos isimli klasör açın ve iconunuzu onun içine atın.Diğer değeri hep true olarak kullanabilirsiniz.
Gizmos.DrawSphere
Sahnede 3 boyutlu daire oluşturur(Sphere/Küre).
2 Değer alır.İlki objenin vector3 cinsinden gözükeceği pozisyon, İkinci değer ise boyutu.


Gizmos.DrawWireSphere
Wire Spherenin türkçesi tel küre.Sahnede tel küre oluşturuyor.
Draw.Sphere gibi 2 değer alıyor ilk değer gözükeceği pozisyon, ikinci değer ise boyutu.Ben WireSphere'yi 2D projelerimde kullanıyorum o zamanda daire olarak gözüküyor.



Bu derslikde bu kadar.Görüşmek üzere...


Axact

Axact

Vestibulum bibendum felis sit amet dolor auctor molestie. In dignissim eget nibh id dapibus. Fusce et suscipit orci. Aliquam sit amet urna lorem. Duis eu imperdiet nunc, non imperdiet libero.

Post A Comment:

0 comments: