Unity için önerilen ayarlar

Unity, genel olarak tüm platformlar için ortalama durum olan bir dizi varsayılan seçenek sağlar. Ancak Unity, proje ayarları aracılığıyla değiştirilebilen karma gerçekliğe özgü bazı davranışlar sunar.

Performansa dayalı ortam kurulumu

Düşük kaliteli ayarlar

Unity Kalite ayarlarınıÇok Düşük olarak değiştirerek uygulamanızın özellikle HoloLens geliştirmesi için uygun kare hızında çalışması ve iyi performans göstermesini sağlamak önemlidir. Vr deneyimini güçlendiren masaüstünün özelliklerine bağlı olarak çevreleyici mikrofonlu kulaklıkların geliştirilmesi için, en düşük kalite parametreleri olmadan kare hızı elde edilebilir.

Unity 2019 LTS+'daProje Ayarları>KalitesiniDüzenle'ye> gidip **Çok Düşük kalite düzeyine kadar aşağı oka tıklayarak Varsayılan'ı ayarlayarak projenin kalite düzeyini ayarlayabilirsiniz.

Aydınlatma ayarları

Kalite sahne ayarlarına benzer şekilde, Karma Gerçeklik uygulamanız için en uygun Aydınlatma ayarlarını yapmak önemlidir. Unity'de, sahnenizde genellikle en büyük performans etkisine sahip olan Aydınlatma ayarı Gerçek Zamanlı Global Aydınlatma'dır. Pencere>İşleme>Aydınlatma Ayarları>Gerçek Zamanlı Global Aydınlatma'ya giderek Küresel Aydınlatma'yi kapatabilirsiniz.

Başka bir aydınlatma ayarı daha var, Fırınlanmış Küresel Aydınlatma. Bu ayar çevreleyici mikrofonlu kulaklıklarda yüksek performanslı ve görsel olarak çarpıcı sonuçlar sağlayabilir ancak HoloLens geliştirmesi için geçerli değildir. Pişmiş Küresel Aydınlatma yalnızca bilinmeyen ve değişen bir ortamın doğası nedeniyle HoloLens sahnelerinde bulunmayan statik GameObject'ler için hesaplanır.

Daha fazla bilgi için Unity'den Küresel Aydınlatma'ya bakın.

Not

Gerçek Zamanlı Küresel Aydınlatmasahne başına ayarlanır ve bu nedenle geliştiricilerin bu özelliği projelerindeki her Unity sahnesi için kaydetmesi gerekir.

Tek geçişli oturum açma işleme yolu

Karma Gerçeklik uygulamalarda sahne iki kez işlenir: her göz için bir kez. Bu, geleneksel 3B geliştirme ile karşılaştırıldığında, hesaplanması gereken çalışma miktarını etkili bir şekilde ikiye katlar. Hem CPU hem de GPU süresinden tasarruf etmek için Unity'deki en verimli işleme yolunu seçmek önemlidir. Tek geçişli örnekli işleme, karma gerçeklik uygulamaları için Unity işleme işlem hattını iyileştirir; bu ayarı her proje için varsayılan olarak etkinleştirmenizi öneririz.

Unity Projenizde bu özelliği etkinleştirmek için

  1. OpenXR Ayarları'nı açın (Proje Ayarlarını>Düzenle>XR Eklenti Yönetimi>OpenXR'ye gidin).
  2. İşleme Modu açılan menüsünden Tek Geçiş Örneği'ni seçin.

Bu işleme yaklaşımıyla ilgili diğer ayrıntılar için Unity'nin aşağıdaki makalelerini okuyun.

Not

Tek GeçişLi Örnekli İşleme ile ilgili yaygın sorunlardan biri, geliştiricilerin zaten mevcut özel gölgelendiricileri var olduğunda ve bu gölgelendiriciler, instancing için yazılmadıysa oluşur. Geliştiriciler bu özelliği etkinleştirdikten sonra bazı GameObject'lerin yalnızca tek bir gözle işlenip işlenebileceğini fark edebilir. Bunun nedeni, ilişkili özel gölgelendiricilerin kapsayıcı için uygun özelliklere sahip olmamasıdır.

Bu sorunun nasıl giderileceğini öğrenmek için bkz. Unity'den HoloLens için Tek Geçişli Stereo İşleme

Derinlik arabelleği paylaşımını etkinleştirme

Kullanıcının algısından daha iyi hologram kararlılığı elde etmek için Unity'de Derinlik Arabelleği Paylaşımı özelliğinin etkinleştirilmesi önerilir. Unity bunu açarak uygulamanız tarafından üretilen derinlik haritasını Windows Mixed Reality platformuyla paylaşır. Daha sonra platform, uygulamanız tarafından işlenen belirli bir çerçeve için özellikle sahneniz için hologram kararlılığını daha iyi hale getirir.

Unity Projenizde bu özelliği etkinleştirmek için

  1. OpenXR Ayarları'nı açın (Proje Ayarlarını>Düzenle>XR Eklenti Yönetimi>OpenXR'ye gidin).
  2. Derinlik Gönderim Modu açılan menüsünden Derinlik16 Bit'i seçin.

HoloLens geliştirmesi için özellikle 16 bit derinlik arabelleği ayarı önerilir. Daha az verinin taşınması/işlenmesi gerekeceğinden, 24 bit ile karşılaştırıldığında 16 bit seçildiğinde bant genişliği gereksinimleri önemli ölçüde azaltılır. Bununla birlikte, iyileştirme belirli bir maliyetle birlikte gelir. Aşağıdaki Önemli kutularında bahsedilen etkileri anladığınızdan emin olun.

Windows Mixed Reality platformunun hologram kararlılığını iyileştirmesi için derinlik arabelleğinin doğru olmasını ve ekranda işlenen hologramları eşleştirmesini sağlar. Bu nedenle, derinlik arabelleği paylaşımı açıkken, derinliği işlemek için renk işlenirken önemlidir. Unity'de, çoğu Opak veya TransparentCutout malzemesi derinliği varsayılan olarak işler, ancak saydam ve metin nesneleri derinliği işlemez, ancak bu gölgelendiricilere ve diğer faktörlere bağlıdır.

Saydam nesnelerin derinliğini işlemek için Karma Gerçeklik Araç Seti Standart gölgelendiricisini kullanıyorsanız:

  1. MRTK Standart gölgelendiricisini kullanan saydam malzemeyi seçin ve Denetçi düzenleyicisi penceresini açın
  2. Derinlik arabelleği paylaşımı uyarısının içindeki Şimdi Düzelt düğmesini seçin. Bu, İşleme ModuÖzel olarak ayarlanarak el ile de gerçekleştirilebilir; ardından Mod'uSaydam olarak ve son olarak Derinlik Yazma'yıAçık olarak ayarlayın

Önemli

Geliştiriciler, kameranın yakın/uzak düzlem ayarlarıyla birlikte bu değerleri değiştirirken Z-fighting'e dikkat etmelidir. Z-Fighting, iki gameobject aynı piksele işlemeye çalıştığında ve derinlik arabelleğinin (örn. z derinliği) aslına uygunluk sınırlamaları nedeniyle Unity hangi nesnenin diğerinin önünde olduğunu ayırt edemez. Geliştiriciler, aynı z derinliği değeri için savaşırken iki oyun nesnesi arasında titreyen bir titreşim olduğunu fark edecektir. Bu, kameradan z derinliği için hesaplanacak her nesne için daha büyük bir değer aralığı olacağı için 24 bit derinlik biçimine geçilerek çözülebilir.

Ancak, özellikle HoloLens geliştirmesi için kameranın yakın ve uzak düzlemlerini daha küçük bir aralıkta değiştirmek ve 16 bit derinlik biçimini korumak önerilir. Z derinliği, yakın ve uzak kamera düzlemleri boyunca değer aralığına doğrusal olarak eşlenmez. Bu, sahnenizdeki Ana Kamera seçilerek ve Denetçi'nin altında, aralıklarını azaltmak için Yakın & Uzak Kırpma Düzlemi değerlerini (1000 m'den 100 m'ye veya başka bir x değerine vb.) değiştirerek değiştirilebilir.

Önemli

Unity, 16 bit derinlik biçimi kullanılırken kalıp arabelleği oluşturmaz. Bu nedenle, bazı Unity UI efektleri ve diğer kalıp gerektiren efektler, 8 bit kalıp arabelleği oluşturacak 24 bit derinlik biçimi seçilmediği sürece çalışmaz.

IL2CPP için bina

Unity, .NET betik arka ucu desteğini kullanım dışı bırakmıştır ve bu nedenle geliştiricilerin UWP visual studio derlemeleri için IL2CPP kullanmasını önerir. Bu çeşitli avantajlar getirse de IL2CPP için Unity'den visual studio çözümünüzü oluşturmak eski .NET yönteminden daha yavaş olabilir. Bu nedenle, geliştirme yineleme zamanından tasarruf etmek için IL2CPP oluşturmaya yönelik en iyi yöntemlerin izlenmesi kesinlikle önerilir.

  1. Projenizi her seferinde aynı dizine oluşturarak ve önceden oluşturulmuş dosyaları orada yeniden kullanarak artımlı derlemeden yararlanın
  2. Projeniz & derleme klasörleriniz için kötü amaçlı yazılımdan koruma yazılım taramalarını devre dışı bırakma
    • Windows 10 ayarları uygulamanız altında Virüs & tehdit koruması'nı açın
    • Virüs & tehdit koruması ayarları altında Ayarları Yönet'i seçin
    • Dışlamalar bölümünün altında Dışlama ekle veya kaldır'ı seçin
    • Dışlama ekle'yi seçin ve Unity proje kodunuzu ve derleme çıkışlarınızı içeren klasörü seçin
  3. Derleme için SSD kullanma

Daha fazla bilgi için bkz. IL2CPP için Derleme Sürelerini İyi hale getirme .

Not

Ayrıca, özellikle büyük miktarda varlığa (betik dosyaları hariç) sahip Unity projeleri veya sürekli değişen sahneler/varlıklar için Önbellek Sunucusu kurmak yararlı olabilir. Bir projeyi açarken Unity, uygun varlıkları geliştirici makinesinde bir iç önbellek biçiminde depolar. Öğeler yeniden içeri aktarılmalı ve bu nedenle değiştirildiğinde yeniden işlenmelidir. Bu işlem bir kez gerçekleştirilebilir ve önbellek sunucusuna kaydedilebilir ve sonuç olarak, her geliştiricinin yeni değişikliklerin yerel olarak yeniden içeri aktarılmasını işlemesi yerine zaman kazanmak için diğer geliştiricilerle paylaşılabilir.

Yayımlama özellikleri

Holografik giriş ekranı

HoloLens'in mobil sınıf CPU ve GPU'su vardır ve bu da uygulamaların yüklenmesinin biraz daha uzun sürebileceği anlamına gelir. Uygulama yüklenirken kullanıcılar yalnızca siyahı görür ve bu nedenle neler olduğunu merak edebilir. Yükleme sırasında onları rahatlatmak için holografik bir giriş ekranı ekleyebilirsiniz.

Holografik giriş ekranını değiştirmek için:

  1. Proje Ayarlarını>Düzenle>Yürütücü sayfasına gidin
  2. Windows Mağazası sekmesini seçin ve Giriş Resmi bölümünü açın
  3. Windows Holographic Holographic > Splash Image özelliği altında görüntünüzü uygulayın.
    • Unity Giriş Ekranını Göster seçeneği değiştirildiğinde Unity markalı giriş ekranı etkinleştirilir veya devre dışı bırakılır. Unity Pro lisansınız yoksa Unity markalı giriş ekranı her zaman görüntülenir.
    • Holografik Giriş Görüntüsü uygulanırsa Unity Giriş Ekranını Göster onay kutusunun etkin veya devre dışı olup olmadığı her zaman görüntülenir. Özel holografik giriş görüntüsü belirtmek yalnızca Unity Pro lisansına sahip geliştiriciler tarafından kullanılabilir.
Unity Giriş Ekranını Göster Holografik Giriş Resmi Davranış
Açık Hiçbiri Varsayılan Unity giriş ekranını 5 saniye boyunca veya uygulama yüklenene kadar (hangisi daha uzunsa) gösterin.
Açık Özel Özel giriş ekranını 5 saniye boyunca veya uygulama yüklenene kadar (hangisi daha uzunsa) gösterin.
Kapalı Hiçbiri Uygulama yüklenene kadar saydam siyah (hiçbir şey) gösterme.
Kapalı Özel Özel giriş ekranını 5 saniye boyunca veya uygulama yüklenene kadar (hangisi daha uzunsa) gösterin.

Daha fazla bilgi için Unity'nin Giriş Ekranı belgelerini okuyun.

Kayıp izleme

Karma gerçeklik başlığı, hologramların yerinde kalmasını sağlayan dünya kilitli koordinat sistemleri oluşturmak için etrafındaki ortamı görmeye bağlıdır. Mikrofonlu kulaklığın kendisini dünyada bulamadığında, mikrofonlu kulaklığın izlemeyi kaybettiği söylenir. Bu gibi durumlarda uzamsal aşamalar, uzamsal yer işaretleri ve uzamsal eşleme gibi dünya kilitli koordinat sistemlerine bağımlı işlevler çalışmaz.

İzleme kaybı oluşursa Unity'nin varsayılan davranışı hologramları işlemeyi durdurmak, oyun döngüsünü duraklatmak ve kullanıcıların bakışlarını rahatça takip eden bir izleme kaybı bildirimi görüntülemektir. Özel bildirimler, izleme kaybı görüntüsü biçiminde de sağlanabilir. Deneyimin tamamı için izlemeye bağımlı olan uygulamalar için, izleme yeniden elde edilene kadar Unity'nin bunu tamamen ele almasına izin vermek yeterlidir. Geliştiriciler, izleme kaybı sırasında gösterilecek özel bir görüntü sağlayabilir.

İzleme kayıp görüntüsünü özelleştirmek için:

  1. Proje Ayarlarını>Düzenle>Yürütücü sayfasına gidin
  2. Windows Mağazası sekmesinde öğesini seçin ve Giriş Resmi bölümünü açın
  3. Windows Holographic > Tracking Loss Image özelliği altında görüntünüzü uygulayın.

Otomatik duraklatmayı geri çevirme

Bazı uygulamalar izleme gerektirmeyebilir (örneğin, 360 derece video görüntüleyiciler gibi yalnızca yönlendirme uygulamaları ) veya izleme kaybolurken kesintisiz işlemeye devam etmesi gerekebilir. Varsayılan izleme kaybı davranışını geri çevirebilirsiniz, ancak izleme kaybı senaryosunda düzgün işlenmeyen nesneleri gizlemekten/devre dışı bırakmaktan siz sorumlusunuz. Çoğu durumda, bu durumda işlenmesi önerilen tek içerik ana kameranın etrafında ortalanmış gövde kilitli içeriktir.

Otomatik duraklatma davranışını geri çevirmek için:

  1. Proje Ayarlarını>Düzenle>Yürütücü sayfasına gidin
  2. Windows Mağazası sekmesini seçin ve Giriş Resmi bölümünü açın
  3. Windows Holographic > On İzleme Kaybı Duraklat ve Görüntüyü Göster onay kutusunu değiştirin.

Kayıp olaylarını izleme

İzleme kaybolduğunda özel davranış tanımlamak için genel izleme kaybı olaylarını işleyebilir.

Özellikler

Bir uygulamanın belirli işlevlerden yararlanması için bildiriminde uygun özellikleri bildirmesi gerekir. Bildirim bildirimleri, gelecekteki her proje dışarı aktarma işlemine dahil edilmeleri için Unity'de yapılabilir.

Özellikler bir Karma Gerçeklik uygulaması için şu şekilde etkinleştirilebilir:

  1. Proje Ayarlarını>Düzenle>Yürütücü sayfasına gidin
  2. Windows Mağazası sekmesini seçin, Yayımlama Ayarları bölümünü açın ve Özellikler listesini arayın

Holographic uygulamaları için yaygın olarak kullanılan API'leri etkinleştirmek için geçerli özellikler şunlardır:

Özellik Yetenek gerektiren API'ler
SpatialPerception SurfaceObserver
Web kamerası PhotoCapture ve VideoCapture
ResimlerLibrary / VideolarLibrary Sırasıyla PhotoCapture veya VideoCapture (yakalanan içeriği depolarken)
Mikrofon VideoCapture (ses yakalarken), DictationRecognizer, GrammarRecognizer ve KeywordRecognizer
InternetClient DictationRecognizer (ve Unity Profiler'ı kullanmak için)

Ayrıca bkz.