UI – Canvas

Oyunlarda, oyuncuların ekranda gördükleri her şeyi Canvas elemanı çatısı altına alırız. Canvas ana objesi altına oyuncunun etkileşime gireceği veya sadece göreceği tüm objeleri yerleştiririz. Canvas tüm objeleri tutucu ve kontrol edici görevindedir.

Bu şekilde eklenmektedir.

Canvas objesi eklendiğinde eğer Hierarchy’de EventSystem ekli değilse sistem otomatik ekleyecektir. EventSystem Canvas içerisindeki tüm objeler ile etkileşimlerimizi yakalayan ve bunu sisteme aktaran objedir.(Buton tıklaması, Slider ayarı vb.)

Canvas’ın Inspector’deki görünümü bu şekildedir.

Canvas ana ayarları : Çok fazla ayar olduğu için en önemli olanları açıklanmıştır.

Render Mode : Burada 3 farklı render modumuz var.

  • Screen Space – Overlay = Canvas ekrana sığacak şekilde ölçeklendirilir ve ardından sahneye veya kameraya referans verilmeden doğrudan oluşturulur
  • Screen Space – Camera = Canvas sanki belirli bir kameranın önünde belli bir mesafedeki düz bir nesnenin üzerine çizilmiş gibi oluşturulur. 
  • World Space = Kullanıcı arayüzünü sahnedeki düz bir nesneymiş gibi işler. 

Bu 3 durumu anlatan çok güzel görseller vardır. (https://docs.unity3d.com/ sitesinden alınmıştır.)

Screen Space – Overlay

Screen Space – Camera

World Space

Canvas Scaler

UI Scale ModeCanvastaki UI öğelerinin nasıl ölçeklendirileceğini belirler.
        Constant Pixel SizeUI öğelerinin ekran boyutundan bağımsız olarak piksel cinsinden aynı boyutu korumasını sağlar.
        Scale With Screen SizeEkran büyüdükçe kullanıcı arayüzü öğelerini de büyütür.
        Constant Physical SizeKullanıcı arayüzü öğelerinin ekran boyutu ve çözünürlüğü ne olursa olsun aynı fiziksel boyutu korumasını sağlar.

En sık kullanılan  Scale With Screen Size modudur.

Reference ResolutionKullanıcı ara yüzü düzeninin tasarlandığı çözünürlüktür.
Ekran çözünürlüğü daha büyükse kullanıcı ara yüzü büyütülür, daha küçükse kullanıcı ara yüzü küçültülür.
Screen Match ModeGeçerli çözünürlüğün en boy oranı referans çözünürlüğe uymuyorsa tuval alanını ölçeklemek için kullanılan moddur.
        Match Width or HeightCanvas alanını referans olarak genişlik, referans olarak yükseklik veya bu ikisinin arasında bir değerle ölçeklendirin. (En sık kullanılan)
        ExpandCanvas alanını yatay veya dikey olarak genişletin, böylece kanvasın boyutu hiçbir zaman referanstan küçük olmayacaktır.
        ShrinkCanvas alanını yatay veya dikey olarak kırpın, böylece kanvasın boyutu hiçbir zaman referanstan büyük olmayacaktır.

Daha fazla alt ayar ve özellik vardır ancak bunlar en sık kullanılan ayarlardır. Diğer ayarları kendiniz test ederek deneyimleyebilirsiniz.