Tüm Fortnite İçin Unreal Editor (UEFN) adaları, üst düzey bilgisayarlardan mobil cihazlara kadar çeşitli donanımları destekler ancak mobil için başarılı adalar oluşturmak istiyorsan geliştirme sürecinin en başından itibaren optimizasyonu ve bellek verimliliğini göz önünde bulundurman gerekir.
Bu sayfa, mobil için tasarım yaparken dikkate alman gereken temel konular hakkında sana rehberlik eder.
Mobil Tasarım İçin Örnek Uygulamalar Özeti
Oyuncuları düşünerek tasarla:
Hedef kitleni ve bu hedef kitlenin bir mobil oyun deneyiminden ne beklediğini anla.
Basit, anlaşılır ve bir mobil ekranda gezinmesi kolay olacak özel bir kullanıcı arayüzü oluştur.
Değişken ekranlar için tasarım yap ve birçok ekran türü ve çözünürlükte sık sık oynanış testi yap.
Fortnite’ın mevcut mobil kontrollerinden yararlan ve oyununu buna göre tasarla.
Oynanış yoluyla etkileşim oluştur:
Kısa ama ilgi çekici bir oyun döngüsü oluşturarak oyuna başlayıp bitirmeyi kolaylaştır.
Oyuncuları heyecanlandıracak oyun mekaniklerini sergileyen hızlı ve ilgi çekici tanıtımlar oluştur.
Tekrarlanan oyunları teşvik etmek için ilerleme, süreklilik ve ödül duygusu ver.
Mobil oyuncuları cezbeden oyun modları ve türleri seç.
Projeni optimize et:
Ölçeklenebilirlik Ayarları
UEFN, platform ölçeklenebilirliğini yönetecek şekilde tasarlanmıştır. Donanım sınırlamaları nedeniyle bazı özellikler devre dışı bırakılır veya daha düşük kalite seviyelerine düşürülür. Adanın farklı ölçeklenebilirlik gruplarında önizlemesini yapmak için editördeki Görsel Ölçeklenebilirlik aracını kullan. Çeşitli seviyelerde test yapılması önemle tavsiye edilir.
Aşağıdaki tabloda, farklı kalite seviyelerinde ölçeklendirilen veya devre dışı bırakılan temel özellikler gösterilmektedir:
Adanı ve öğelerini ölçeklenebilirlik olanağıyla oluşturmak, cihazdan bağımsız olarak mümkün olan en iyi performansı ve görselliği sağlar. Dikkate alınması gereken başlıca alanlar:
Örgü LOD’leri: Poligon sayısını azaltmak ve saniye başına kare sayısını (FPS) artırmak üzere özel statik veya iskelet örgüler için örgü LOD’lerini kullan.
Dünya ve Hiyerarşik Ayrıntı Seviyeleri (HLOD): İşleme gereksinimini azaltmak, GPU yükünü hafifletmek ve FPS değerini artırmak için hiyerarşik ayrıntı seviyeleri ve World Partition kullanarak haritanı akış şeklinde yükle.
Doku Grupları ve Mipmap Oluşturma: Mipmap’ler oluşturarak çalışma zamanı materyal ölçeklendirmesini etkinleştir. Pürüzsüz ölçeklendirme ve görsel kalite için dokuların doğru grupta olduğundan ve ikinin kuvvetleri ile oluşturulduğundan emin ol. İkinin kuvveti kuralına uymayan dokular akışa (stream) dahil edilmez.
Materyal Kalitesi: Karmaşık materyaller alt seviye platformlarda çok maliyetli olabilir. Farklı platform kademeleri için bir materyalin farklı yönlerini daha fazla özelleştirmene yardımcı olmak üzere materyal fonksiyonu sarmalayıcılarını (wrapper) oluşturduk.
Fortnite > Materyaller > Fonksiyonlar seçeneğine giderek
MF_QualitySwitch_MaterialAttributes,MF_QualitySwitch_ScalarveMF_QualitySwitch_Vectorfonksiyonlarını bul. Bu kalite değiştirme sarmalayıcılarını kullanarak materyal fonksiyonlarını daha düşük bir kalite ayarında düzenlemek, performansı artırır. Daha fazla bilgi için Materyal Fonksiyonları sayfasına bakabilirsin.
Mobil İçin Sanat ve Öğeleri Optimize Etme İpuçları
En başından itibaren mobil cihazların sınırlamalarının farkında ol.
Aşırı çizimden kaçın. Katmanları düzleştir, saydamlıkları sınırla ve çakışan karışıklıkları düzelt.
Dokuları basitleştir. Bir küçültme aracı kullan.
Adanı mobil cihazlarda kapsamlı bir şekilde test et. Oynanış kontrolleriyle üst üste binen kullanıcı arayüzü çakışmaları ve öğeleri olup olmadığına bak. Mobil deneyimlerinde oynanış testi yapmak için Amazon Luna’yı veya Xbox Cloud Gaming’i kullanabilirsin.
Bellek Hesaplama aracını çalıştırarak bölümündeki en yüksek maliyetli öğelerin ayrıntılı listesini elde et.
Daha Fazla Optimizasyon İpucu
UEFN harika bir motor ölçeklenebilirliği sunar, ancak yine de içeriği ayarlaman ve optimize etmen gerekir. Donanıma aşırı yükleme yapmak düşük FPS’ye, kötü yükleme sürelerine ve yetersiz bir deneyime neden olur. Daha iyi performans için bu yönergeleri kullan:
Örgüleri Optimize Et: Poligon sayısını olabildiğince düşük tut. Poligon sayısı bütçeleri için Fortnite İçin Hazır Öğeler Oluşturma bölümüne bak.
Materyal Sayısı: Olabildiğince az sayıda materyal kullan. Her örgü için yalnızca bir materyal kısmı kullanmak idealdir.
Doku Çözünürlüğü: Mobil cihazların doku belleği sınırlıdır. 512x512 piksel dokuları kullan ve mümkünse daha büyük boyutlardan kaçın.
Çizim Çağrılarını Azalt: Çok fazla benzersiz obje ve dokuyu aynı anda işlemekten kaçın. Örnekler ve Hiyerarşik Örnekli Statik Örgüler (HISM) kullan ve uygun durumlarda küçük objeleri büyük nesneler halinde gruplandır.
World Partition ve Veri Katmanları: Ekrandaki öğeleri ve yükleme sürelerini azalt. World Partition ile ilgili bilgileri Bellek Yönetimi dokümantasyon sayfasında bulabilirsin.
Aydınlatmayı Optimize Et: Mümkün olan en küçük ışık yarıçapını kullan, ışıkların çakışmasını önle ve ışık hareketliliğini Sabit olarak ayarla.
Gölge Oluşturmayı Kapat: Özellikle gökyüzü ışığının yeterli ortam aydınlatması sağladığı dış mekânlarda, keskin gölgeler gerektirmeyen ışıklar için gölge oluşturmayı kapat.
Aydınlatma Ölçeklenebilirlik Yöneticisi’ni Kullan: Her ESS bölümü için farklı aydınlatma senaryoları oluştur. Düşük ve orta seviyeler (mobil ve eski konsollar) için basitleştirilmiş, daha iyi performans gösteren bir aydınlatma düzeni ayarlayabilirsin.
Mipmap Nedir ve Neden Kullanılır?
Mipmap’leri dokuların LOD’leri olarak düşünebilirsin. Doku çözünürlüğü kamera mesafesine ve yönüne göre değişebilir.
Daha keskin işleme için mipmap içermeyen dokuları kullanmak cazip gelse de bu dokular cihaz belleğinde kalır ve UEFN’in akış sürecini atlar.
Aşağıdaki grafikte boyuta göre doku belleği kullanımı gösterilmektedir. Örneğin 1024x512 dokunun, 1024x1024 dokunun kullandığı belleğin yarısını kullandığını düşün.
Tek başına küçük görünseler de birçok doku ekrana aynı anda yüklenir ve kamera başka yöne baktığında bellekten hemen temizlenmez. Bu birikim, bellek sınırlarının aşılması nedeniyle cihaz kilitlenmelerine neden olabilir.
Mobil İçin Sorun Giderme
Adayı mobil için optimize etmeyle ilgili bazı yaygın sorunları ve çözümlerini aşağıda görebilirsin.
Mobil Cihazlarda Düşük Kare Hızı (FPS)
Sorun: Çok fazla çizim çağrısı ve grafik kartının aşırı yüklenmesi.
Çözüm: Tek seferde görünen içeriği azalt. Bölümü bölmek ve işleme gereksinimini azaltmak için World Partition kullan.
Çözüm: Öğe karmaşıklığını ve poligon sayısını azaltmak için HLOD ve örgü LOD’lerini kullanarak GPU’nun objeleri daha hızlı işlemesini sağla.
Çözüm: Karmaşık materyalleri düşük kalite ayarlarında basitleştir veya bir karede daha fazla GPU hesaplaması gerektiren benzersiz materyallerin sayısını azalt. Mümkün olduğunda materyalleri yeniden kullan.
Çözüm: Mümkünse küçük objeleri daha büyük bir öğe halinde gruplandır. Bu ayar, grafik kartının bunları tek bir öğe veya çizim çağrısı olarak işlemesine olanak tanır.
Sorun: Aynı anda çok fazla öğe yüklenmesi.
Çözüm: Bölümü bölmek ve yüklenen içerik miktarını azaltmak için World Partition kullan.
Çözüm: Benzersiz öğe sayısını azaltmak için HISM ve örnekleri (instance) kullan.
Çözüm: Kare başına GPU hesaplamasını azaltmak için mümkün olduğunda materyalleri yeniden kullan.
Ada Belleği Kullanımı Çok Yüksek
Sorun: Optimize edilmemiş içerik.
Çözüm: Mümkün olduğunda 512x512 dokular kullan, doğru doku grubunu ata ve akışın etkinleştirildiğinden emin ol.
Çözüm: Özel örgülerde etkili LOD’ler ve daha düşük ön işleme (cooking) boyutu için en düşük poligon sayısını kullan.
Sorun: Çok fazla benzersiz örgü.
Çözüm: Mümkün olan her durumda HISM ve örnekleri (instance) kullan. Aynı öğenin farklı şekillerde yeniden kullanılması, bellekte depolanan benzersiz öğe sayısını azaltır.
Çözüm: Mümkünse küçük objeleri daha büyük bir öğe halinde gruplandır.
Desteklenen Mobil Cihazlar
Aşağıdaki tablolar, mobil deneyimleri test ederken dikkate alman gereken cihazları ve teknik özellikleri listelemektedir.
Android
| kategori | Minimum Gereksinimler |
|---|---|
İşletim Sistemi | Android OS 10.0 veya üzeri |
Mimari | ARM64 işlemcide 64-bit Android |
RAM | 4 GB RAM |
GPU | Adreno 530 veya üzeri, Mali-G71 MP20, Mali-G72 MP12 veya üzeri |
Apple
| cihaz | Model |
|---|---|
iPhone | 11, 11 Pro, 11 Pro Max, 12, 12 mini, 12 Pro, 12 Pro Max, 13, 13 mini, 13 Pro, 13 Pro Max, 14, 14 Plus, 14 Pro, 14 Pro Max, 15, 15 Plus, 15 Pro, 15 Pro Max, 16, 16 Plus, 16 Pro, 16 Pro Max |
iPhone SE | 3. nesil 2022 |
iPad Pro | 12,9 inç 2. nesil veya üzeri, 11 inç 1. nesil veya üzeri, 10,5 inç |
iPad Air | 4. nesil 2020, 5. nesil 2022 |
iPad | 10. nesil 2022 |
iPad mini | 6. nesil 2021 |
Ek Kaynaklar
Aşağıdaki kaynaklara göz atarak bilgini derinleştir:
Fortnite dokümantasyonunda Bellek ve Optimizasyon bölümü
UEFN’de Proje Optimizasyonu adlı YouTube videosu
UEFN’de Bellek Yönetimi adlı YouTube videosu