Unity Çerez Ders: Scene Panelinde UI Objelerini Gizlemek

Yayınlandı: 15 Eylül 2020 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

Yeniden merhabalar,

Unity‘de sahneyi Scene paneli üzerinden düzenlerken, bazen “Screen Space-Overlay” canvas objeleriniz diğer objelerin üzerine gelerek onlara tıklamanızı zorlaştırabilir. Bu sorunu çözmek için basit bir editör script’i yazdım.

Yapmanız gereken, projenizin Editor klasöründe (bu klasör yoksa oluşturun) UIToggler adında yeni bir C# script oluşturmak ve script’in içeriğini şuradaki kodla değiştirmek: https://gist.github.com/yasirkula/e4068629a8a97e1bf0dedfc3cc1ed27f

Artık Scene panelinin sol üstündeki Hide Canvas butonuna tıklayarak, canvas’ları Scene panelinden gizleyebilirsiniz. Aynı butona tekrar basarak canvas’ları geri görünür hale getirebilirsiniz.

Başka derslerde görüşmek üzere!

yorum
  1. Barış dedi ki:

    https://www.hizliresim.com/dqf3ai1 resimde yuvarlak içine aldığım tik i kod ile nasıl kapayıp açabilirim bilginiz var mı hocam? Canvas ı kapayıp açmak için.

  2. Hüseyin dedi ki:

    İyi günler hocam, benim bir problemim var. Oda şu: Editörde tüm canvas, buton vs tüm gui elemanları görünüyor. Fakat oyunu androide build edip oyunu açtığımda, hiç bir gui nesnesi görünmüyor. Sadece 3d objeler görünüyor.

    • Hüseyin dedi ki:

      Editördeki, scene, game ve simulator panelinde herşey gayet güzel. Fakat import alılp telefonda çalıştırınca hiç bir gui nesnesi yok. Ayrıca şöyle birşey var. Canvasın childi olan bir panelin içine 3d nesneler koydum. Parmağıı kaydırınca panelin sağa sola kaymasının script ile sağladım. Evet panel sağa ve sola kayıyor. Fakat panel görünmüyor telefonda. Panelin kaydığını panelin üzerine 3d objeler koyduğum için anlayabiliyorum. Şimdiden yardımlarınız için teşekkür ederim. Sağ olun var olun.

      • yasirkula dedi ki:

        Gerçekten garip bir problemmiş. Öncelikle kameranızın Culling Flags’inde UI layer’ının seçili olduğundan emin olun. Ardından benim önerim, şu asset vasıtasıyla oyun esnasında Hierarchy’e erişip, UI objelerinizi biraz kurcalayın (mesela kapatıp açın ya da boyutlarıyla/konumlarıyla oynayın) ve sorunu ney çözüyor o şekilde bulmaya çalışın: https://yasirkula.com/2020/05/24/unity-remote-inspector-kullanimi/

      • Hüseyin dedi ki:

        https://yasirkula.com/2016/06/18/unity-oyun-ici-debug-konsolu-ui-sistemi-ile/
        Hocam sizin bu assetinizi oyunuma dahil edip denemek istedim. Sorun aynı. Hatta sizin assetinizdeki gui de editörde görünüyor, fakat import edince telefonda görünmüyor. Birde kameranızın culling flagsi yazmışsınız. O ne oluyor tam çözemedim. Clear flags mı yoksa culling mask mı demek istediniz. Eğer culling mask dediyseniz, ui yi ve everytingi seçip denedim. Canvasa da ui layerini ekledim.

      • yasirkula dedi ki:

        Culling Mask demek istedim. Eğer oyun içi debug konsolunu olduğu gibi sahnenize koyduğunuz halde gözükmediyse, Unity sürümünüzde bir sorun olabilir. Güncel bir Unity LTS sürümüne (2018.4.x, 2019.4.x vb.) geçmeyi deneyin derim.

      • Hüseyin dedi ki:

        Hocam affınıza sığınarak soruyorum. Alpha lts ve beta sürümleri arasındaki fark nedir. Teşekkür ederim şimdiden.

      • yasirkula dedi ki:

        Alpha ve Beta sürümleri geliştirilmekte olan, stabil olmayan sürümler. LTS ise en stabil sürümler (2018.4, 2019.4, 2020.3). Ben daima LTS kullanıyorum. Alpha/Beta sürümlerinde çökme riski veya sizin yaşadığınıza benzer problemler yaşama riski daha yüksek.

      • Hüseyin dedi ki:

        Galiba unityde sorun var. Ben unity 2021.2.0a5 alpha kullanıyorum. 2020 lts sürüne geçip orda deneyeceğim.

    • Hüseyin dedi ki:

      Yasir Hocam! Unity de gradle build failed hatasını alıyorum 😦

      • yasirkula dedi ki:

        Aldığınız tüm hataların hata mesajlarına bakmanız lazım. Hatanın detayları o hata mesajlarının birinin içinde mutlaka yazar.

Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.