Aracılığıyla paylaş


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.

Performanslı 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 performans göstermesini sağlamak önemlidir. Vr deneyimini güçlendiren masaüstünün özelliklerine bağlı olarak çevreleyici mikrofonlu kulaklıklar üzerinde geliştirme için, en düşük kalite parametreleri olmadan kare hızı elde edilebilir.

Unity 2019 LTS+'da, Proje Ayarlar> Quality'yi Dü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 olacak Aydınlatma ayarı Gerçek Zamanlı Global Aydınlatma'dır. Window>Rendering>Lighting Ayarlar> Realtime Global Lighting'e giderek Global Aydınlatmayı kapatabilirsiniz.

Başka bir aydınlatma ayarı daha var, Fırınlanmış Küresel Aydınlatma. Bu ayar, çevreleyici 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. Baked Global 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 Global Aydınlatma'ya bakın.

Not

Realtime Global Aydınlatma sahne başına ayarlanır ve bu nedenle geliştiricilerin projelerindeki her Unity sahnesi için bu özelliği kaydetmesi gerekir.

Tek geçişli bağlama 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 açın (Project Ayarlar> XR Eklenti Yönetimi>OpenXR'yi Düzenle'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 var olan özel gölgelendiricileri, parola ekleme için yazılmadıysa oluşur. Bu özelliği etkinleştirdikten sonra geliştiriciler bazı GameObject'lerin yalnızca tek bir gözle işlenip işlenmeyebileceğini fark edebilir. Bunun nedeni, ilişkili özel gölgelendiricilerin kapsayıcı için uygun özelliklere sahip olmamasıdır.

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ğini etkinleştirmeniz önerilir. Unity bunu açarak uygulamanız tarafından üretilen derinlik haritasını Windows Karma Gerçeklik platformuyla paylaşır. Platform daha sonra hologram kararlılığını özellikle uygulamanız tarafından işlenen herhangi bir çerçeve için sahneniz için daha iyi optimize edebilir.

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

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

HoloLens geliştirmesi için özellikle 16 bit derinlik arabellek ayarı önerilir. 24 bit ile karşılaştırıldığında 16 bit'in seçilmesi, daha az verinin taşınması/işlenmesi gerekeceği için bant genişliği gereksinimlerini önemli ölçüde azaltır. Bununla birlikte, iyileştirme belirli maliyetlerle birlikte gelir. Aşağıdaki Önemli kutularda bahsedilen etkileri anladığınızdan emin olun.

Windows Karma Gerçeklik platformunun hologram kararlılığını iyileştirmesi için derinlik arabelleğinin doğru olması ve ekranda işlenen hologramlarla eşleşmesi gerekir. Bu nedenle, derinlik arabelleği paylaşımı açıkken, derinliği de 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.

Karma Gerçeklik Toolkit Standard gölgelendiricisini kullanıyorsanız saydam nesneler için derinliği işlemek için:

  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'nu Özel olarak ayarlayarak el ile de gerçekleştirilebilir; ardından Mod'u Saydam 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 dövüşlerine dikkat etmelidir. Z-Fighting, iki gameobject aynı piksele işlemeye çalıştığında oluşur ve derinlik arabelleğinin aslına uygunluk sınırlamaları nedeniyle (örn. z derinliği), 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 titreme olduğunu fark edecektir. Bu, her nesne için kameradan z derinliği için hesaplanacak 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ığa değiştirmeniz ve 16 bit derinlik biçimini korumanız ö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 değiştirilebilir ve Denetçi'nin altında Yakın ve Uzak Kırpma Düzlemi değerlerini değiştirerek aralıklarını azaltın (örneğin, 1000 m'den 100 m'ye veya başka bir x değerine vb.)

Önemli

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

IL2CPP için bina

Unity, .NET betik arka ucu desteğini kullanımdan kaldırmış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 ve 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 ve tehdit koruması'nı açın
    • Virüs ve 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ığı olan Unity projeleri (betik dosyaları hariç) 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 yapılabilir ve önbellek sunucusuna kaydedilebilir ve bunun sonucunda 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 olup bittiğini 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. Project Ayarlar> Player'ı Düzenle>sayfasına gidin
  2. Windows Mağazası sekmesini seçin ve Giriş Resmi bölümünü açın
  3. Görüntünüzü Windows Holographic Holographic > Splash Image özelliği altına uygulayın.
    • Unity Giriş Ekranını Göster seçeneğinin açık olması Unity markalı giriş ekranını etkinleştirir veya devre dışı bırakı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 mi yoksa devre dışı mı olduğu 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ıpları 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 izleme kaybı olduğu söylenir. Böyle durumlarda uzamsal aşamalar, uzamsal yer işaretleri ve uzamsal eşleme gibi dünya kilitli koordinat sistemlerine bağımlı işlevsellik ç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. Deneyiminin 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.

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

  1. Project Ayarlar> Player'ı Düzenle>sayfasına gidin
  2. Windows Mağazası sekmesinden öğesini seçin ve Giriş Resmi bölümünü açın
  3. Görüntünüzü Windows Holographic > Tracking Loss Image özelliği altına 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. Projeyi Düzenle>Ayarlar> Player sayfasına gidin
  2. Windows Mağazası sekmesini seçin ve Giriş Resmi bölümünü açın
  3. Windows Holographic > On Tracking Loss Pause and Show Image 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 yararlanabilmesi için bildiriminde uygun özellikleri bildirmesi gerekir. Bildirim bildirimleri, gelecekteki her proje dışarı aktarma işlemine dahil edilebilmeleri için Unity'de yapılabilir.

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

  1. Project Ayarlar> Player'ı Düzenle>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ştirmeye yönelik 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.