Örnek olay incelemesi-gerçeklik içindeki deliklere bakıyor

kullanıcılar karma gerçeklik ve Microsoft HoloLens neler yapabileceğini düşünürken, genellikle "odmıza ne kadar nesne ekleyebilirim?" veya "alanım üzerinde ne yapabilirim?" gibi sorulara göz önünde bulundurun. Sizin için gerçek fiziksel nesnelere bakmak için aynı teknolojiyi kullanarak (aslında bir Magic eli) düşünebileceğiniz başka bir alanı vurgulamak istiyorum.

Teknik

Roboryardımındakiduvarlarınızı kesen, parçalarhalinde güvenli bir şekilde bir duvar veya 2015 ' de E3 adresindeki HASCsonsuz hangileri ' yi görmek için yeterince bir değer aldıysanız, ne olduğunu gördünüz. Hayal verilerinize bağlı olarak, bu görsel el, kurutul duvarınıza geçici delikleri koymak veya gevşek bir süslü Pano altındaki World 'leri gizlemek için kullanılabilir.

Roboryardımı, duvarlarınızın arkasındaki üç boyutlu kanallar ve diğer yapıları, yalnızca Invaders break olarak oluşturulan deliklere göre görünür şekilde ekler.

Roboryardımı, duvarlarınızın arkasındaki üç boyutlu kanallar ve diğer yapıları, yalnızca Invaders break olarak oluşturulan deliklere göre görünür şekilde ekler.

bir uygulama, HoloLens üzerinde bu benzersiz hologramlar kullanarak, duvarlarınızın arkasındaki içerik yanılsamasını veya tabanlarınızın gerçek bir pencere aracılığıyla kendisini temsil eden bir şekilde sunmasını sağlayabilir. Kendinizi sola taşıyın ve sağ tarafta ne olduğunu görebilirsiniz. Daha yakından erişin ve her şeyin biraz daha fazlasını görebilirsiniz. Büyük farklılık, gerçek delik açmasının size izin vermeyken, Floor stubbornly, bu mıknatım holographic içeriğine sahip etmenize izin vermez. (Biriktirme listesine bir görev ekleyeceğiz.)

Arka planda

Bu püf noktası iki etkinin bir birleşimidir. İlk olarak, Holographic içeriği "uzamsal bağlayıcı" kullanılarak dünyayı sabitlenmiştir. İçeriği "World-kilitlendi" yapmak için bağlantıları kullanmak, siz hareket etmekle veya temel alınan uzamsal eşleme sistemi, odanın 3B modelini güncelleştirse bile, bu içeriğin yakınındaki fiziksel nesnelerden görsel olarak bitmediği anlamına gelir.

İkincisi, bu holographic içeriği, çok özel bir alanla görsel olarak sınırlandırılır, bu sayede yalnızca gerçeklerinizi kullanarak bir deliğe bakabilirsiniz. Bu, eli satmaya yönelik bir mantıksal delik, pencere veya Doorway arasında arama yapılmasını gerektirmek için gereklidir. Görünümün çoğunu engellemeden bir gizli dizi Jurassic boyutuna kadar boş alan olması kötü bir dinleyici ur gibi görünebilir.

Bu gerçek bir ekran görüntüsü değildir, ancak MR temelleri 101 ' den gizli Dünya 'nin HoloLens nasıl göründüğünü gösteren bir şekil. Kara kutu gösterilmez, ancak içeriği bir sanal delik aracılığıyla görebilirsiniz. (Gerçek bir cihazı ararken, gözleriniz eşit olmasa da daha fazla mesafede odaklandığından, taban daha fazla kaybolur.)

Bu gerçek bir ekran görüntüsü değildir, ancak Mr temelleri 101 ' den gizli dünya 'nin HoloLens nasıl göründüğünü gösteren bir şekil. Kara kutu gösterilmez, ancak içeriği bir sanal delik aracılığıyla görebilirsiniz. (Gerçek bir cihazı ararken, gözleriniz eşit olmasa da daha fazla mesafede odaklandığından, taban daha fazla kaybolur.)

World-holographic içeriğini kilitleme

Unity 'de, Holographic içeriğinin dünya dışı kalmasına neden olarak, bir WorldAnchor bileşeni eklemek kadar kolay olur:

myObject.AddComponent<WorldAnchor>();

WorldAnchor bileşeni, oyun nesnesinin konumunu ve döndürmesini sürekli olarak ayarlar (ve böylece hiyerarşide bu nesnenin altında bulunan her şey), yakın fiziksel nesnelere göre kararlı bir şekilde devam eder. İçeriğinizi yazarken, nesnenizin kök özetin bu sanal deliğe göre ortalanmasını sağlayan bir şekilde oluşturun. (Eğer nesnenizin Özeti duvarda derinlikte ise, konum ve dönüşteki küçük tava 'lar çok daha belirgin olur ve delik çok kararlı görünmeyebilir.)

Her şeyi dahil etme, ancak sanal delik

Duvarlarınızın Gizlenecekleri görünümü seçmeli olarak engellemek için çeşitli yollar vardır. en basit bir tane, HoloLens bir eklenebilir ekran kullandığından, tamamen siyah nesnelerin görünmez göründüğü olgunun avantajlarından yararlanır. Bu işlemi özel gölgelendirici veya malzeme püf noktaları yapmadan Unity 'de yapabilirsiniz; yalnızca bir siyah malzeme oluşturup içeriğinizdeki kutulara bir nesneye atamanız yeterlidir. 3D modellemeyi beğenmezseniz, en az bir varsayılan dört nesne kullanın ve bunları biraz daha örtüşmez. Bu yaklaşımda birçok Sakıncaı vardır, ancak çalışmayı en hızlı şekilde öğrenin ve daha sonra yeniden düzenleme yapmak isteyebileceğiniz şüpheli bir kavram kanıtı olan önemli bir kanıt elde edin.

Yukarıdaki "kara kutu" yaklaşımının önemli bir dezavantajı, fotoğrafın iyi hale verilmesidir. uygulamanız HoloLens görüntüsü aracılığıyla mükemmel görünebilir, ancak aldığınız ekran görüntüleri, duvarlarınızın veya tabanlarınızın kalışına göre değil, büyük bir siyah nesne gösterir. Bunun nedeni, fiziksel donanımların ve ekran görüntülerinin bileşik hologragram ve gerçeklik 'in farklı olduğu nedenidir. Bazı sahte matematik işlemlerini bir süre taraalım...

Sahte matematik uyarısı! Bu sayılar ve formüller, herhangi bir doğru ölçüm sıralaması değil, bir noktayı göstermek için tasarlanmıştır!

HoloLens aracılığıyla gördükleriniz:

( Reality * darkening_amount ) + Holograms

Ekran görüntüleri ve videoda gördükleriniz:

( Reality * ( 1 - hologram_alpha ) ) + Holograms * hologram_alpha

ingilizce: HoloLens ile gördükleriniz, daha koyu bir gerçeklik (güneş gözlüğü gibi) ve uygulamanın göstermek istediği hologramlar birleşimini temel bir birleşimidir. Ancak, bir ekran görüntüsü aldığınızda, kameranın resmi piksel başına saydamlık değerine göre uygulamanın hologramlar ile karıştırılırdı.

Bunu yapmanın bir yolu, "kara kutu" malzemesini yalnızca derinlik arabelleğine yazılacak şekilde değiştirmek ve diğer tüm donuk malzemelerle sıralamak içindir. Bunun bir örneği için GitHub MixedRealityToolkit Içindeki Windowocclusiyon. Shader dosyasınagöz atın. İlgili satırlar buraya kopyalanır:

"RenderType" = "Opaque"
"Queue" = "Geometry"
ColorMask 0

("Fark 50, 100" satırı ilişkisiz sorunlarla ilgilenirken, büyük olasılıkla bunu dışarıda bırakmak mantıklı değildir.)

Uygulamanızın ekranda doğru ve karma gerçeklik ekran görüntülerinde doğru görünen bir kutu çizmesine olanak sağlayacak şekilde görünmez bir occluson malzemesini uygulama. Ek noktalar için, daha az görünmez piksel çizecek, ancak genellikle Weeds 'e dahil etmedikleri ve genellikle gerekli olmamak üzere, bu kutunun performansını daha da artırabilirsiniz.

Aşağıda, Unity 'nin, occluding kutusunun dış kısımları dışında, Unity tarafından çizdiği için, MR 'nin temel aldığı gizli bir dünya 101. Underworld için özetin, kutunun merkezinde olduğuna ve bu durumda gerçek tabanunuza göre, taşın olabildiğince kararlı kalmasına yardımcı olur.

Aşağıda, Unity 'nin, occluding kutusunun dış kısımları dışında, Unity tarafından çizdiği için, Mr 'Nin temel aldığı gizli bir dünya 101. Underworld için özetin, kutunun merkezinde olduğuna ve bu durumda gerçek tabanunuza göre, taşın olabildiğince kararlı kalmasına yardımcı olur.

Kendiniz yapın

HoloLens mı var, yoksa kendinize yönelik etkiyi denemek mi istiyorsunuz? yapabileceğiniz en kolay şey (hiçbir kodlama gerekmez), ücretsiz 3b görüntüleyici uygulamasını yüklemek ve sonra, odaızda çiçek modelini görüntülemek için GitHub, sağladığım. fbx dosyasını indirme . HoloLens yükleyin ve iş sırasında yanılsaı görebilirsiniz. Modelin önünde olduğunuzda, yalnızca küçük delik görebilir; başka her şey görünmez. Modele diğer taraftan göz atın ve tamamen kaybolur. 3B görüntüleyicisinin hareket, döndürme ve ölçek denetimlerini kullanarak sanal deliği bazı fikirler oluşturmak için düşünebilmeniz için herhangi bir dikey yüzeye göre konumlandırın!

Bu modeli Unity Düzenleyicinizde görüntülemek, FLOWERPOT 'in etrafında büyük bir siyah kutu gösterir. HoloLens, kutusu kaybolur ve bu da bir sihirli pencere etkisine yol verir.

Bu modeli Unity Düzenleyicinizde görüntülemek, FLOWERPOT 'in etrafında büyük bir siyah kutu gösterir. HoloLens, kutusu kaybolur ve bu da bir sihirli pencere etkisine yol verir.

Bu tekniği kullanan bir uygulama oluşturmak istiyorsanız, karma gerçeklik öğreticilerindebulunan Mr temelleri 101 öğreticisine göz atın. Bölüm 7, bir gizli olmayan bir patlamayı (yukarıda gösterildiği gibi) ortaya çıkaran bir patlama ile biter. Who, öğreticilerin çok fazla olması gerekiyordu mi?

İşte bu fikrin nereden ele geçirebileceği hakkında bazı fikirler aşağıda verilmiştir:

  • İçeriği sanal delik etkileşimli olarak yapma yollarını düşünün. Kullanıcılarınızın duvarlarının ötesinde bazı etkileri olmasını sağlamak, bu kişinin sağlayabilme konusunda önemli bir fikir sahibi olmak için gerçekten iyileştirebilirler.
  • Nesneleri, bilinen alanlara geri doğru görmek için yollar düşünün. Örneğin, kahve tablonuza nasıl holographic delik koyabileceğiniz ve bunun altındaki tabanlarınızı nasıl görebileceğiniz hakkında bilgi alabilirsiniz?

Yazar hakkında

Eric Rehmeyer resmi Eric Rehmeyer
Üst düzey yazılım mühendisi @Microsoft

Ayrıca bkz.