Unity -Collider Component
Oyunlarda objelerin birbirleriyle temas edebilmesini sağlayan componenttir.
Sahnemizde 2 objemiz olsun.
Başlangıçta bu objelerde tanımlı olarak gelen collider componenti bulunur. Cube objelerinde Box Collider componenti, Sphere objelerinde Sphere Collider bulunur. Temelde collider componentleri objeye göre farklılık gösterse de temelde aynı işlevi görürler. Biz ekranda 2 Cube objesi görürken Unity oyun motoru bu objelerin birbirlerine teması esnasında collider componentine göre hesaplama yapar. Yukarıda ki 2 objede bulunan Box Collider componentini kaldırırsak bu 2 obje birbirlerine temas etse bile Unity bunu anlamaz. İşte fizik işlemlerinde objelerin birbirlerine olan temas durumlarını Collider componenti ile hesaplarız.
Şimdi sahnedeki tüm objeleri silelim. Sahnede yalnız 1 adet Cube objesi kalsın. Eğer obje içerisinde Collider bulunmuyorsa Inspector panelinden gerekli collideri ekleyelim.
Add Component>Physics>Box Collider yolunu izleyerek collideri ekleyelim.
Burada önemli bir hatırlatma yapmak istiyorum. Colldier eklerken oyun türüne göre gerekli collider seçimini yapmamız gerekir. 2D oyunlarda 2D collider, 3D oyunlarda 3D collider eklememiz gerekmektedir.
Örneğin 3D bir oyunda Box collider eklemek için Add Component>Physics>Box Collider yolunu kullanırız. 2D oyunlarda ise Add Component>Physics2D>Box Collider 2D yolunu kullanırız.
Oyun motoru 2 nesne çarpışmasında collider componentine göre hesaplama yapar demiştik. Şimdi bu konuyu daha da açalım.
Sahnemizde bir adet Cube objemiz vardı.
Bu objenin boyutunu görüyoruz. Normalde bu objeye bir temas olduğunda objenin kenar kısımlarında bu çarpışma hissedilir. Oyun motoru ise objeye yapılacak teması objenin görüntüsüne göre değil de collider componentinin boyutuna göre hesaplar. Bunu görmek için objemiz seçili iken Inspector panelindeki Box Collider componenti içerisinde bulunan Edit Collider karşısında bulunan simgeye tıklayalım.
Bu simgeye tıkladığımız an Cube objemizin etrafında yeşil bir çerçeve göreceğiz.
Bu yeşil çerçeve Collider componentinin sınırlarıdır. Yani Unity sahnedeki objenin görüntüsüne göre değil de bu yeşil çerçeveye göre objeye olan temasları algılar.
Şimdi çerçeveyi büyütelim. Bunu yapmanın 2 yolu var. Ya yeşil çerçevenin kenar kısımlarında bulunan kare simgelerini mouse ile sürükleyip büyüteceğiz ya da Collider componenti içerisinde bulunan Size özelliği ile oynayarak çerçeveyi büyütebiliriz.
Ben yeşil çerçeveyi yukarıdaki gibi büyüttüm. Şimdi buna göre Cube objemize yapılacak ilk temas bizim belirlediğimiz yeşil çerçeve sınırlarında algılanır.
Collider componenti içerisinde bulunan diğer 4 özelliği açıklayalım.
Is Trigger
Bu özellik varsayılan olarak false gelir. Biz bu özelliği aktif edersek iç içe geçen çarpışmalar söz konusu olur. Örneğin karakterimiz bir duvar ile temas ettiğinde duvarın Is Trigger özelliği kapalı olduğu için karakterimiz duvardan geçemez.Ancak duvarın Is Trigger özelliği açık olsaydı karakterimiz duvardan geçebilirdi. Mantıken şöyle düşünebiliriz. Oyunlardaki hilelerde bu mantıkla çalışıyor. Hile kodu ile Is Trigger gibi özelliklere müdahale ederek hile kullanılabilir.
Material
Oluşturulan fizik materyali buraya eklenir. Fizik materyali ile ilgili daha fazla bilgi edinmek için yazdığım şu yazıya bakabilirsiniz.
Link:>>https://umitaslann.medium.com/unity-physic-material-f75f5d8b7612
Center
Collider içerisinde bulunan yeşil çarpışma tellerinin konumunu buradan ayarlarız.
Size
Collider içerisinde bulunan yeşil çarpışma tellerinin boyutunu buradan ayarlarız.
Collider kavramı oyun yapımındaki en önemli konulardan birisidir. Oyunlarımızda bunu sıklıkla kullanırız.