Yeniden merhabalar,

Unity’de karmaşık bir UI hiyerarşisine sahip olduğunuzda, Scene panelinden belli bir UI objesini seçmek için defalarca kez objenin üzerine tıklamanız gerekebilir. Bu süreci kolaylaştırmak adına bir editör script yazdım:

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

Artık Scene panelde bir UI objesinin üzerine sağ tıklayarak, o konumda yer alan tüm UI objelerini bir listede görebilir ve istediğinizi kolayca seçebilirsiniz.

Başka derslerde görüşmek dileğiyle!

MT için bir cevap yazın Cevabı iptal et


8 yanıt

  1. tepegözmomentum Avatar
    tepegözmomentum


    Hocam yazılarınızın o kadar çok yararı dokunuyor ki teşekkür ediyorum size. Bir sorum olacaktı size. Yaptığım mobil oyunları mobile build ettiğimde fps oranında çok ciddi bir düşüş oluyor. Sanırım 30 fps’e sabitleniyor, ne yaptıysam bu sorunu çözemedim. Sorun da olmayabilir, belki ben build alırken yanlış bir şey yapıyorumdur. Bir bilginiz var ise yardımcı olabilir misiniz?

    1. yasirkula Avatar

      Application.targetFrameRate=60; kodunu çalıştırın. Eğer sorunu çözmezse, Quality Settings’ten V-Sync ayarını değiştirmeyi deneyin. O da çözmezse, oyunu Development Build + Autoconnect Profiler şekilde build alıp Profiler’dan oyunun takılıp takılmadığını bulmaya çalışın.

      1. tepegözmomentum Avatar
        tepegözmomentum

        Sağolun hocam Application.targetFrameRate özelliğini araştırırken https://pastebin.pl/view/6ff51248 şu tip bir kod keşfettim ve sorunu çözebildim.

      2. yasirkula Avatar

        Sadece targetFrameRate’i 60 yapmak yetiyorsa onu yapmanızı öneririm.

      3. tepegözmomentum Avatar
        tepegözmomentum

        Evet hocam sadece Application.targetFrameRate=60; kullanmamız da yetiyormuş. Attığım uzun kod ile arasında ne fark var anlayamadım. Sağolun tekrardan.

      4. yasirkula Avatar

        Attığınız kod targetFrameRate’in yaptığı işi daha farklı bir yoldan yapmaya çalışıyordu. Oyunu olabildiğince hızlı render alıp, 60 fps’in üstünde render alırsa her frame zorla azar azar bekletiyordu. Ama bu zaten tam olarak targetFrameRate’in tanımı olduğu için onu kullanmanız daha sağlıklı.

  2. MT Avatar

    Üstad yeniden yazılarını görmek çok iyi. Ve yine güzel çözümler üretmişsin tebrikler ve teşekkürler.

    1. yasirkula Avatar

      Teşekkür ediyorum, siz de sağolun.