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 bölümüne bakın.

İstediğiniz zaman karma gerçeklik yakalama (MRC) fotoğrafı veya videosu çekebilirsiniz, ancak uygulamanızı geliştirirken göz önünde bulundurmanız gereken birkaç şey vardır. Bu, MRC görsel kalitesi ve MRC'ler yakalanırken sistem değişikliklerine yanıt vermek için en iyi yöntemleri içerir.

Geliştiriciler ayrıca karma gerçeklik yakalama ve uygulama ekleme işlemlerini sorunsuz bir şekilde tümleştirebilir.

HoloLens'te MRC (birinci nesil) 720p'ye kadar video ve fotoğrafları desteklerken, HoloLens 2 mrc 1080p'ye kadar videoları ve 4K çözünürlüğe kadar olan fotoğrafları destekler.

Kalite MRC'sinin önemi

İster Microsoft Store sayfanızdaki karma gerçeklik ekran görüntüleri ister sosyal ağlarda yakalama içeriği paylaşan diğer kullanıcılar olsun, Karma Gerçeklik Yakalama medyası genellikle uygulamanıza ilk maruz kalan kullanıcılardır. MRC'yi kullanarak uygulamanızın tanıtımını yapabilir, kullanıcıları eğitebilir, kullanıcıları karma dünya etkileşimlerini paylaşmaya teşvik edebilir ve kullanıcı araştırması ile sorun çözme için kullanabilirsiniz.

MRC uygulamanızı nasıl etkiler?

Uygulamanızda MRC'yi etkinleştirme

Varsayılan olarak, bir uygulamanın kullanıcıların karma gerçeklik yakalamaları almasına olanak tanımak için herhangi bir işlem yapması gerekmez.

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

Varsayılan olarak, karma gerçeklik yakalaması sağ gözün holografik çıkışını fotoğraf/video (PV) kamera ile birleştirir. Bu iki kaynak, çalışmakta olan çevreleyici uygulama tarafından ayarlanan odak noktası kullanılarak birleştirilir.

Bu, PV kamera ile doğru ekran arasındaki fiziksel uzaklık nedeniyle odak düzleminin dışındaki hologramların hizalı olmayacağı anlamına gelir.

Odak noktasını ayarlama

Çevreleyici uygulamalar (HoloLens'te), sabitleme düzlemlerinin olmasını istedikleri konumun odak noktasını ayarlamalıdır. Bu, hem mikrofonlu kulaklıkta hem de karma gerçeklik yakalamada en iyi hizalamayı sağlar.

Odak noktası ayarlı değilse sabitleme düzlemi varsayılan olarak 2 metreye ayarlanır.

PV kameradan işleme (kabul etme)

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

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

  • Yakın etkileşimler için fiziksel ortamınıza ve ellerinize hologram hizalaması tüm mesafelerde doğru olmalıdır. Varsayılan MRC'de görebileceğiniz gibi odak noktası dışındaki uzaklıklarda uzaklık kullanmaktan kaçının.
  • MRC çıkışı için hologramları işlemek için kullanılmayacağı için mikrofonlu kulaklığın sağ gözü tehlikeye atılmaz.

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

En iyi yöntemler (HoloLens'e özgü)

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

MRC, kamera görüntüleriyle uyum sağlamak için hologramın alfa kanalını kullanır

En önemli adım, uygulamanızın opak siyaha temizlemek yerine saydam siyaha temizlendiğinden emin olmaktır. Unity'de bu işlem varsayılan olarak MixedRealityToolkit ile yapılır. Unity dışı geliştirmeler yapıyorsanız tek satırlık bir değişiklik yapmanız gerekebilir.

Uygulamanız saydam siyah olarak temizlenmiyorsa MRC'de görebileceğiniz yapıtlardan bazıları şunlardır:

Örnek Hatalar: İçeriğin etrafındaki siyah kenarlar (saydam siyaha temizlenememesi)

Saydam siyaha temizlenememesi: hologramların etrafındaki siyah kenar yapıtları Saydam siyaha temizlenememesi: hologramların etrafındaki siyah kenar yapıtları

Örnek Hatalar: Hologramın arka plan sahnesinin tamamı siyah görünür. Bir arka plan alfa değerinin ayarlanması siyah arka planla sonuçlanıyor

Arka plan alfa değerinin 1 olarak ayarlanması siyah arka planla sonuçlanıyor

Beklenen Sonuç: Hologramlar gerçek dünyayla düzgün bir şekilde harmanlanmış olarak görünür (saydam siyaha temizlenirse beklenen sonuç)

Saydam siyaha temizlenirse beklenen sonuç

Çözüm:

  • Opak siyah olarak gösterilen tüm içerikleri alfa değeri 0 olacak şekilde değiştirin.
  • Uygulamanın saydam siyaha temizlendiğinden emin olun.
  • Unity varsayılan olarak MixedRealityToolkit ile otomatik olarak temizlenebilir, ancak unity uygulaması değilse ID3D11DeiceContext::ClearRenderTargetView() ile kullanılan rengi değiştirmeniz gerekir. Saydam siyah (0,0,0,1) yerine saydam siyah (0,0,0,0) açık olduğundan emin olmak istiyorsunuz.

İsterseniz varlıklarınızın alfa değerlerini ayarlayabilirsiniz ancak normalde ayarlamanız gerekmez. Çoğu zaman MRC'ler iyi görünür. MRC, önceden çarpılmış alfa olduğunu varsayar. Alfa değerleri yalnızca MRC yakalamasını etkiler.

HoloLens'te MRC etkinleştirildiğinde neler beklenir?

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

  • Sistem uygulamayı 30-Hz işlemeye kısıtlar. Bu, MRC'nin çalışması için bir boşluk oluşturur, böylece uygulamanın sabit bir bütçe yedeği tutması gerekmez ve ayrıca 30 fps'lik MRC video kaydı kare hızıyla eşleşir
  • MRC kaydederken/akış yaparken cihazın sağ tarafındaki hologram içeriği "parıltılı" görünebilir: Metnin okunması zor hale gelebilir ve hologram kenarları daha karmaşık görünebilir (HoloLens 2 üçüncü kamera işlemeyi kabul etmek bu güvenliğin aşılmasını önler)
  • MRC fotoğrafları ve videoları, uygulama etkinleştirdiyse uygulamanın odak noktasına saygı duyar ve bu da hologramların doğru konumlandırıldığından emin olunmasını sağlar. Videolarda Odak Noktası düzgünleştirildiğinden, Odak Noktası derinliği önemli ölçüde değiştiğinde hologramlar yavaşça yerine kaymış gibi görünebilir. Odak noktasından farklı derinliklerde olan hologramlar gerçek dünyadan uzaklıkta görünebilir (Aşağıdaki örne bakın; Odak Noktası 2 metreye ayarlanmış ancak hologram 1 metrede konumlandırılmış).

2 metredeki hologramlar dünyaya mükemmel bir şekilde kayıtlı görünecektir. Yakın veya uzak mesafelerdeki hologramlar biraz uzak olabilir.

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

Karma gerçeklik uygulamanız mrc fotoğraf veya video yakalamayı uygulamanın içinden başlatabilir ve yakalanan içerik, cihazın "Film rulosu" içinde depolanmadan uygulamanızın kullanımına sunulur. Özel bir MRC kaydedici oluşturabilir veya yerleşik kamera yakalama kullanıcı arabiriminden yararlanabilirsiniz.

Yerleşik kamera kullanıcı arabirimine sahip MRC

Geliştiriciler, yalnızca birkaç satır kod içeren kullanıcı tarafından yakalanan bir karma gerçeklik fotoğrafı veya videosu almak için Kamera Yakalama UI API'sini kullanabilir.

Bu API, kullanıcıların fotoğraf veya video çekebileceği yerleşik MRC kamera kullanıcı arabirimini başlatır ve sonuçta elde edilen yakalamayı uygulamanıza döndürür. Akışları yakalamak için kendi kamera kullanıcı arabiriminizi veya alt düzey erişiminizi eklemeniz gerekiyorsa özel bir Karma Gerçeklik Yakalama kaydedicisi oluşturabilirsiniz.

Özel MRC kaydedicisi oluşturma

Kullanıcı, sistem MRC yakalama hizmetini kullanarak her zaman bir fotoğraf veya video tetikleyebilir, ancak bir uygulama aynı MRC gibi kamera akışında hologramlar içeren özel bir kamera uygulaması oluşturmak isteyebilir. Bu, uygulamanın kullanıcı girişinden yakalamaları başlatmasına, özel kayıt kullanıcı arabirimi oluşturmasına veya MRC ayarlarını birkaç örnek adlandıracak şekilde özelleştirmesine olanak tanır.

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

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

Unity Uygulamaları özelliğin hologramları etkinleştirmesi için Locatable_camera_in_Unity görmelidir.

Diğer uygulamalar, Kamera'yı denetlemek için Windows Media Capture API'lerini kullanarak bunu yapabilir ve stills ve videolara sanal hologramlar ve uygulama sesi eklemek için bir MRC Video ve Ses efekti ekleyebilir.

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

Eşzamanlı MRC sınırlamaları

MrC'ye aynı anda birden çok uygulama erişirken bazı sınırlamaların farkında olmanız gerekir.

Fotoğraf/video kamera erişimi

HoloLens 1'de MRC, bir işlem video kaydederken veya fotoğraf çekerken fotoğraf çekemeyecek veya video çekmeyecektir. Bunun tersi de geçerlidir: MRC çalışıyorsa uygulama kameraya erişemeyecektir.

HoloLens 2 ile kameraya erişimi paylaşmanız mümkündür. Çözünürlüğün veya kare hızının doğrudan denetimine 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 kamera için her zaman Özel kullanım denetimi istemenizi öneririz. Bu, yukarıda listelenen sınırlamaların farkında olduğunuz sürece uygulamanızın kamera ayarları üzerinde tam denetime sahip olmasını sağlar.

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

Ayrıca bkz.