Unity oyununuzu tüm form faktörlerinde mükemmel hale getirin

Günümüzün rekabetçi oyun pazarında, mümkün olduğunca geniş bir kitleye ulaşmak hiç olmadığı kadar önemli. Telefon, tablet, katlanabilir cihaz ve masaüstü gibi farklı form faktörlerine yönelik oyunlar geliştirerek daha büyük bir potansiyel oyuncu havuzuna erişebilir ve başarı şansınızı artırabilirsiniz.

Ekranı yeniden boyutlandırmayı destekleme

Farklı form faktörlerini desteklemesi için oyununuzun yeniden boyutlandırılabilir olması gerekir. Yeniden boyutlandırılabilirlik, oyununuzun dikey ve yatay yön, çoklu pencere modu ve katlanabilir cihazların hem katlanmış hem de açılmamış durumları gibi cihaz yapılandırmalarını desteklemesini sağlar.

Oyununuz tüm pencere boyutunu ve yön yapılandırmalarını desteklemiyorsa platform, oyununuzu uyumluluk modunda sinemaskop yapar ve gerekirse desteklenmeyen bir yapılandırmaya geçmeden önce oyuncuyu bilgilendirir.

Şekil 1. Yapılandırma uyumluluğu iletişim kutusu.

Daha fazla bilgi için Büyük ekranda yeniden boyutlandırılabilirliği destekleme bölümüne bakın.

Birden fazla pencere modu

Şekil 2. Masaüstünde farklı kullanıcı arayüzleri ve masa üstü pozisyonda katlanabilir.

Çoklu pencere modu, birden fazla uygulamanın aynı ekranı aynı anda paylaşmasını sağlar. Uygulamalar yan yana veya üst üste (bölünmüş ekran modu) ya da küçük bir penceredeki bir uygulama diğer uygulamalarla yer paylaşımlı olarak (pencere içinde pencere modu) veya ayrı ayrı taşınabilir, yeniden boyutlandırılabilir pencerelerde (serbest biçimli mod) ayrı ayrı olabilir.

Oyununuz çoklu pencere modunda çalışırken uyumluluk moduna girmekten kaçınmak için Unity derleme ayarlarında Yeniden Boyutlandırılabilir Pencere seçeneğini etkinleştirerek oyununuzun yeniden boyutlandırmayı işleyebildiğini beyan edin.

Şekil 3. Unity'nin Android için Çözünürlük ve Sunu ayarları

Ekran kesimleri

Ekran kesimi, bazı cihazlarda ekran yüzeyine uzanan bir alandır. Kesintiler hem uçtan uca deneyime imkan tanır hem de cihazın ön tarafında önemli sensörler için alan sağlar.

Şekil 4. Ekran kesimi.

Oyununuza baştan sona bir deneyim sunmak için oyunu güvenli çerçeveye duyarlı olacak şekilde yapılandırın. Ekranın güvenli alanını piksel cinsinden almak için Unity safeArea API'sini sorgulayın ve özellikle kullanıcıların etkileşimde bulunabileceği öğeler için oyun kullanıcı arayüzünüzü ve kullanıcı deneyiminizi uygun şekilde ayarlayın.

Katlanabilir pozisyonlar

Katlanabilir cihazlar, FLAT (tamamen açık) veya HALF_OPENED (tamamen açık ile tamamen kapalı arasında bir yerde) gibi çeşitli katlanmış durumlarda olabilir. Bir cihaz HALF_OPENED modundayken katlamanın yönüne bağlı olarak iki duruş mümkündür: masanın duruşu (yatay katlama) ve kitap duruşu (dikey katlama). Oyuncunun içine dalmasını ve etkileşimini artırmak için masanın üstünde duruş kullanın.

Şekil 5. Ekranın dikey bölümünde ana görünüm, yatay bölümde kontrollerle masa üstü duruşuyla oyun.

Masa üstü durumunu uygulamak için varsayılan Unity etkinliğini genişletin ve ardından oyununuzun katlandığını fark etmesi için Jetpack WindowManager düzen kitaplığını kullanın.

Unity örnek projesi

Unity örnek projesi, Unity 2D tanıtım projesi Lost Crypt'e dayanmaktadır. Örnek proje, Unity'de büyük ekranda yeniden boyutlandırılabilir özelliğin nasıl destekleneceğini gösterir. Geniş ekran ve katlanabilir cihaz desteği için Unity derleme seçeneklerinde bir dizi değişiklik yapılması, ayrıca kamera ve kullanıcı arayüzü tuvallerinin düzenine dikkat edilmesi gerekir.

Örnek projeyi şimdi indirebilirsiniz. Projede dört farklı sahne vardır:

  • Orijinal: Temel yeniden boyutlandırılabilir özellik desteği
  • Sabitleme: "Orijinal" sahne ile aynıdır, ancak çeşitli en boy oranlarına uyum sağlar ve ekran kesimini önler
  • HingeAware: "Sabitleme" sahnesiyle aynıdır, ancak masa üstü duruşunu destekler.
  • Ana menü: Başlangıç sahnesi, diğer sahnelerde gezinmeye olanak tanır ve tüm cihaz yönlerini, katlama, açma ve masa üstü duruşu özelliklerini tamamen destekler

Android için uygulama oluştururken tüm sahneleri seçin ve "Ana menü" sahnesini başlangıç sahnesi olarak ayarlayın.

Şekil 6. "Ana menü" sahnesi, masaüstü duruşunda diğer sahnelere gitmenizi sağlar.

Yeniden boyutlandırılabilir pencere desteğiyle başlayın

Oyununuzun veya uygulamanızın farklı cihazlarda doğru şekilde görüntülendiğinden emin olmak için Android büyük ekran uygulamanızda çeşitli ekran boyutları ve en boy oranları desteği sağlayın. Unity derleme ayarlarında Yeniden Boyutlandırılabilir Pencere özelliğini ayarlayarak oyununuzun en boy oranını yeniden boyutlandırmasını ve en boy oranını değiştirmesini sağlayın ("Çoklu pencere modu" bölümüne bakın). Kamera ve tuval en boy oranını, farklı ekranlara daha iyi sığacak şekilde ayarlayın. Proje ayarlarını Derleme Ayarları'nda ve Plugins/Android/AndroidManifest.xml dosyasında görüntüleyin. Projenin "Orijinal" sahnesinde tam ekran yeniden boyutlandırılabilir özelliği deneyimleyin.

Şekil 7. "Orijinal" sahne, Yeniden Boyutlandırılabilir Pencere özelliğini destekler.

Ekran kesimlerini işlerken tam ekrana yoğunlaşın

Gelişmiş bir kullanıcı deneyimi için oynanabilirliği sürükleyici hale getirmek üzere oyununuzun ekranın tamamını kullanmasını sağlayın. Oyun kullanıcı arayüzü sabitleme ve kamera ayarlarınızı, ekran boyutuna otomatik olarak uyum sağlayacak şekilde güncelleyin. Bu, kullanıcı arayüzü öğelerinin ekran boyutuna göre konumlarını korumalarını sağlar.

"Sabitleme" sahnesi, cihaz yapılandırması değişikliklerine genişletilmiş etkinlik üzerinden yanıt vermek için CameraAspectLock komut dosyasını kullanır (bkz. Assets/Plugins/Android/LargeScreenPlayableActivity.java). Unity'nin safeArea API'si, "Anchoring" sahnesindeki SafeZone nesnesine bağlanan SafeZoneAPI komut dosyasında gösterilmiştir.

Katlanabilir cihazın iç ve dış ekranlarında tam ekran oyun sahnesi.
Şekil 8. Ekran kesimi olan "Sabitleme" sahnesi.

Katlanabilir cihazlar için optimize edin

Unity örnek projesinin "HingeAware"in son sahnesinde, Jetpack kitaplık API'ları ve bir genişletilmiş etkinlik (bkz. Assets/Plugins/Android/LargeScreenPlayableActivity.java) aracılığıyla hedef cihazın farklı katlanma durumlarına yanıt veren bir ConfigurationManager nesnesi bulunur. Sahne, kullanıcı arayüzünü cihazın katlama durumuna göre kontrol etmek için PanelOnFold komut dosyasını kullanır. Örneğin, cihaz masa üstü cihaz duruşundayken alt kumanda panelini gösterir.

Şekil 9. "HingeAware" sahnesi masa üstü duruşunu destekler.