22 Ağustos 2016 Pazartesi

Gizmos Hakkında Herşey

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...


1 yorum:

  1. Easy "water hack" burns 2 lbs OVERNIGHT

    Well over 160000 women and men are trying a easy and secret "water hack" to burn 1-2lbs each night in their sleep.

    It's scientific and it works with everybody.

    You can do it yourself by following these easy steps:

    1) Hold a drinking glass and fill it half the way

    2) And now do this crazy hack

    and you'll be 1-2lbs thinner as soon as tomorrow!

    YanıtlaSil