Karma gerçeklik yakalamaya genel bakış

Not

HoloLens 2 için yeni MRC özelliği hakkında rehberlik için aşağıdaki PV kameradan işleme HoloLens bakın.

Karma gerçeklik yakalama (MRC) fotoğrafı veya videosunu herhangi bir zamanda çekebilirsiniz, ancak uygulama geliştirmeniz için göz atacak birkaç nokta vardır. Bu, MRC görsel kalitesi için en iyi yöntemleri ve MRC'ler yakalanırken sistem değişikliklerine yanıt vermeyi içerir.

Geliştiriciler ayrıca karma gerçeklik yakalamayı ve uygulamalarına eklemeyi sorunsuz bir şekilde tümleştirebilirsiniz.

HoloLens üzerinde MRC (birinci nesil), 720p'ye kadar videoları ve fotoğrafları desteklerken, HoloLens 2'de MRC 1080p'ye kadar videoları ve 4K çözünürlüğüne kadar fotoğrafları destekler.

Kalite MRC'nin önemi

İster Microsoft Store sayfasındaki karma gerçeklik ekran görüntüleri olsun, ister sosyal ağlarda içerik paylaşan diğer kullanıcılar olsun, Karma Gerçeklik Yakalama genellikle kullanıcıların ilk kez uygulamanıza maruz kalmalarıdır. MRC'yı kullanarak uygulamanıza tanıtım yapmak, kullanıcıları eğitmek, kullanıcıları karma dünya etkileşimlerini paylaşmaya teşvik etmek ve kullanıcı araştırma ve sorun çözme için kullanabilirsiniz.

MRC'nin uygulamayı nasıl etkilesi

Uygulamanıza MRC'nin etkinleştirilmesi

Varsayılan olarak, bir uygulamanın kullanıcıların karma gerçeklik yakalamaları almalarını sağlamak için herhangi bir şey yapmak zorunda değildir.

Uygulamanıza MRC için geliştirilmiş hizalamayı etkinleştirme

Karma gerçeklik yakalama varsayılan olarak sağ gözün holografik çıkışını fotoğraf/video (PV) kamerasıyla birleştirir. Bu iki kaynak, o anda çalışan çevreleyici uygulama tarafından ayarlanmış odak noktası kullanılarak bir araya gelir.

Bu, PV kamera ile doğru ekran arasındaki fiziksel uzaklık nedeniyle odak düzlemi dışındaki hologramların hizalı olmadığını ifade ediyor.

Odak noktasını ayarlama

Çevreleyici uygulamalar (HoloLens), sabitleme düzlemlerinin nerede olması gerektiğinin odak noktasını ayarlaması gerekir. Bu, hem başlığında hem de karma gerçeklik yakalamada en iyi hizalamayı sağlar.

Odak noktası ayarlanmasa, sabitleme düzlemi varsayılan olarak 2 metre olur.

PV kameradan işleme (kabul)

HoloLens 2, karma gerçeklik yakalama çalışırken çevreleyici bir uygulamanın PV kameradan işlemesini sağlar. Uygulamanın ek işlemeyi doğru desteklediğini sağlamak için uygulamanın bu işlevi kabul etmek zorunda olması gerekir.

PV kameradan işleme varsayılan MRC deneyiminde aşağıdaki geliştirmeleri sunar:

  • Fiziksel ortamınıza ve ellere yakın etkileşimler için hologram hizalaması tüm uzaklıklarda doğru olacaktır. Varsayılan MRC'de gördüğünüz gibi odak noktası dışında uzaklık değerine sahip olmaktan kaçının.
  • MRC çıkışı için hologramları işlemek için kullanılmayacak olduğundan, başlığın sağ gözü tehlikeye atılacaktır.

PV kameradan işleme hakkında daha fazla bilgi (DirectX).

En iyi yöntemler (HoloLens özel)

MRC'nin ek geliştirme çabası olmadan çalışması beklenir, ancak en iyi karma gerçeklik yakalama deneyimini sağlarken dikkat etmek gereken birkaç şey vardır.

MRC, kamera görüntüsüyle karıştırmak için hologram alfa kanalını kullanır

En önemli adım, uygulamanın opak siyahı temizlemek yerine saydam siyaha temizlemesidir. Unity'de bu, MixedRealityToolkit ile varsayılan olarak yapılır. Unity olmayan bir geliştirme için tek bir satır değişikliğine ihtiyacınız olabilir.

Uygulamanız saydam siyaha temiz değilse MRC'de göreceğiniz yapıtlardan bazıları şu şekildedir:

Örnek Hatalar:İçeriğin çevresindeki siyah kenarlar (saydam siyaha kadar temizlenem yok)

Saydam siyahı temizleme hatası: hologramların çevresindeki siyah kenar yapıtları Saydam siyahı temizleme başarısız oluyor: hologramların çevresindeki siyah kenar yapıtları

Örnek Hatalar:Hologram arka plan sahnenin tamamı siyah görünür. Bir sonucun arka plan alfa değerini ayarlama siyah arka plan ile sonuçlandı

Arka plan alfa değerinin 1 olarak ayarnarak siyah arka plan elde edersiniz

Beklenen Sonuç:Hologramlar gerçek dünyayla düzgün bir şekilde karıştırıldı (saydam siyaha temizlense beklenen sonuç)

Saydam siyaha temizlense beklenen sonuç

Çözüm:

  • Siyah opak olarak gösterilen içeriği 0 alfa değerine sahip olacak şekilde değiştirebilirsiniz.
  • Uygulamanın saydam siyaha temiz olduğundan emin olun.
  • Unity varsayılan olarak MixedRealityToolkit ile otomatik olarak temizlenir, ancak Unity olmayan bir uygulama ise ID3D11DeiceContext::ClearRenderTargetView() ile kullanılan rengi değiştirmeniz gerekir. Opak siyah (0,0,0,0,1) yerine saydam siyahı (0,0,0,0) net bir şekilde ifade etmek istiyorsanız.

Şimdi, varlıklarının alfa değerlerini ayarlamak için gerekebilirsiniz ancak genellikle bunu yapmak zorunda da değilsiniz. Çoğu zaman MRC'ler her zaman iyi görünür. MRC, alfanın önceden çarpılır olduğunu varsayıyor. Alfa değerleri yalnızca MRC yakalamayı etkiler.

MrC, HoloLens'de etkinleştirildiğinde bek HoloLens

Aksi belirtilmedikçe, HoloLens (birinci nesil) ve HoloLens 2 için aşağıdakiler geçerlidir:

  • Sistem, uygulamayı 30-Hz işlemeye kısıtlar. Bu, MRC'nin çalışması için bir merkez oluşturur, bu nedenle uygulamanın sabit bir bütçeyi tutması ve ayrıca MRC video kare hızı 30 kare hızıyla eşleşmesi gerekir
  • MRC kaydı/akışı sırasında cihazın sağ gözüne hologram içeriği "parlıyor" gibi görünebilir: metinlerin okunması daha zor hale geliyor ve hologram kenarları daha zorlu görünebilir (HoloLens 2'de üçüncü kamera işlemesini kabul etmek bu güvenliğin tehlikeye atılmasından kaçınıyor)
  • MRC fotoğrafları ve videoları, uygulama etkinleştirildiyse uygulamanın odak noktasına uygun hareket eder ve bu da hologramların doğru şekilde konumlandırılamalarına yardımcı olur. Videolarda Odak Noktası düzgün hale gelir, bu nedenle Odak Noktası derinliği önemli ölçüde değişirse hologramlar yavaş bir şekilde kaymaya neden olabilir. Hologramlar noktasından farklı derinliklerde olan tüm sanal diskler gerçek dünyaya göre uzaklık olarak görünebilir (aşağıda Odak Noktasının 2 metre olarak ayarlanmıştır ancak hologramın 1 ölçümde konumlanmıştır).

Hologramlar 2 metre olan bir alan dünyaya mükemmel bir şekilde kaydedilmiş gibi görünür. Hologramlar veya uzak mesafeler biraz uzaklık olabilir.

MRC işlevselliğini uygulamanın içinde tümleştirme

Karma gerçeklik uygulamanız, uygulamanın içinde MRC fotoğraf veya video yakalamayı başlatabilir ve yakalanan içerik, cihazın "Kameralı zar at" cihazında depolanıyor olmadan uygulamanıza kullanılabilir. Özel bir MRC kaydedicisi oluşturabilir veya yerleşik kamera yakalama kullanıcı arabirimini kullanabilirsiniz.

Yerleşik kamera kullanıcı arabirimi ile MRC

Geliştiriciler, yalnızca birkaç satır kodla kullanıcı tarafından yakalanan karma gerçeklik fotoğrafı veya video almak için Kamera Yakalama KULLANıCı Arabirimi API'sini kullanabilir.

Bu API, kullanıcıların fotoğraf veya video çekerek elde edilen yakalamayı uygulamanıza döndürerek yerleşik MRC kamera kullanıcı arabirimini başlatıyor. Akışları yakalamak için kendi kamera kullanıcı Karma Gerçeklik Yakalama veya daha düşük düzeyde erişim eklemeniz gerekirse özel bir Karma Gerçeklik Yakalama kaydedicisi oluşturabilirsiniz.

Özel MRC kaydedicisi oluşturma

Kullanıcı MRC yakalama hizmetini kullanarak her zaman bir fotoğraf veya video tetikleyene ancak bir uygulama, MRC gibi kamera akışına hologramlar içeren özel bir kamera uygulaması oluşturmak istiyor olabilir. Bu, uygulamanın kullanıcı girişlerinden yakalamalar oluşturmasına, özel kayıt kullanıcı arabirimi oluşturmasına veya BIRKAÇ örnek vermek için MRC ayarlarını özelleştirmesini sağlar.

HoloStudio, MRC etkilerini kullanarak özel bir MRC kamerası ekler

HoloStudio, MRC etkilerini kullanarak özel bir MRC kamerası ekler

Unity Uygulamaları, hologramları Locatable_camera_in_Unity özelliğinin nasıl görüntü olduğunu görmeli.

Diğer uygulamalar, kamerayı kontrol etmek için Windows Medya Yakalama API'lerini kullanarak bunu yapar ve sanal hologramları ve uygulama seslerini stiller ve videolara eklemek için bir MRC Video ve Ses etkisi ekler.

Özel MRC kaydedicisi (DirectX) oluşturma hakkında daha fazla bilgi.

Eşzamanlı MRC sınırlamaları

Aynı anda birden çok uygulama MRC'ye erişirken belirli sınırlamaların farkında olmak gerekir.

Fotoğraf/video kamera erişimi

Bu HoloLens 1'de MRC, video kaydederken veya fotoğraf çekirken fotoğraf yakalama veya video yakalama işlemi başarısız olur. Bunun tersi de doğrudur: MRC çalışıyorsa uygulama kameraya erişemez.

HoloLens 2 ile kameraya erişimi paylaşabilirsiniz. Çözümleme veya kare hızı üzerinde doğrudan denetime ihtiyacınız yoksa, SharedReadOnly ile SharedMode özelliğini kullanarak MediaCapture'ı başlatabilirsiniz.

Yerleşik MRC fotoğraf/video kamera erişimi

Yerleşik MRC fotoğraf/video kamera erişimi (DirectX) hakkında bilgi edinin.

Geliştiriciler için MRC erişimi

MRC kullanırken her zaman kamera için Özel denetim isteğinizi öneririz. Bu, yukarıda listelenen sınırlamaların farkında olduğunuz sürece uygulamanın kamera ayarları üzerinde tam denetime sahip olmasını sağlar.

Geliştiriciler için MRC erişimi (DirectX) hakkında daha fazla bilgi.

Ayrıca bkz.