Esettanulmány – A valóságban lévő rések felmérése

Amikor az emberek a vegyes valóságra gondolnak, és mire tudják a Microsoft HoloLens-t, általában a "Milyen objektumokat adhatok hozzá a helyiséghez?" vagy "Mit rétegelhetek a tér tetején?" Szeretnék kiemelni egy másik olyan területet, amely – lényegében egy varázs trükk –, ugyanazt a technológiát használva valódi fizikai objektumokat keres az Ön körül.

A technológia

Ha a RoboRaidbana falán törnek át, és töredékekben oldott fel egy fali széfet, vagy szerencsésen látta a UNSC Infinity hangárt az E3 E3 elo 5-ös élményében 2015-ben,akkor láthatta, miről is van szó. A képzeletétől függően ezzel a vizuális trükkel ideiglenes réseket is eltehet a saját falán, vagy elrejtheti a világot egy lazán padlólap alatt.

A RoboRaid háromdimenziós csöveket és egyéb struktúrát ad hozzá a fala mögött, és csak a bevezetők törése alatt létrehozott résekkel látható.

A RoboRaid háromdimenziós csöveket és egyéb struktúrát ad hozzá a fala mögött, és csak a bevezetők törése alatt létrehozott résekkel látható.

Az alkalmazások ezen egyedi hologramok HoloLens a fal vagy a padló mögötti tartalom látszatát keltik, ugyanúgy, ahogyan a valóság egy tényleges ablakban mutatja be magát. Lépjen balra, és a jobb oldalon bármit láthat. Ha közelebb kerül, mindenből egy kicsit többet is láthat. A fő különbség az, hogy a valódi rések lehetővé teszik a áthaladást, míg az ön padlója nem teszi lehetővé, hogy végigjátssza a holografikus tartalmakat. (Hozzáadok egy feladatot a hátralékhoz.)

A színfalak mögött

Ez a trükk két hatás kombinációjából áll. Először is a holografikus tartalmakat a "spatial anchors" (térbeli horgonyok) használatával tűzik ki a világra. Ha horgonyokkal "világzárttá" teszi ezt a tartalmat, az azt jelenti, hogy a keresett elem nem tér el vizuálisan a hozzá közeli fizikai objektumoktól, még akkor sem, ha mozog, vagy a mögöttes térleképezési rendszer frissíti a helyiség 3D-s modelljét.

Másodszor, ez a holografikus tartalom vizuálisan egy nagyon meghatározott helyre korlátozódik, így csak a valóságban található réseket láthatja. Ez az eltömöredés szükséges ahhoz, hogy egy logikai résen, ablakon vagy ajtón keresztül ássunk át, és ezzel eladjuk a trükköt. Anélkül, hogy valami blokkolta volna a nézet nagyját, a titkos Jurassic-dimenziókra való repedés csak úgy néz ki, mint egy rosszul elhelyezett fogas.

Ez nem egy tényleges képernyőkép, hanem az MR Basics 101 titkos alvilágának HoloLens. A fekete ház nem látható, de a tartalom egy virtuális résen keresztül látható. (Egy tényleges eszközön való vizsgálatkor a padló még jobban eltűnne, mert a tekintete nagyobb távolságra összpontosít, mintha ott sem lenne.)

Ez nem egy tényleges képernyőkép, hanem az MR Basics 101 titkos alvilágának HoloLens. A fekete ház nem látható, de a tartalom egy virtuális résen keresztül látható. (Egy tényleges eszközön való vizsgálatkor a padló még jobban eltűnne, mert a tekintete nagyobb távolságra összpontosít, mintha ott sem lenne.)

Világzárolást tartalmú holografikus tartalom

A Unityben a holografikus tartalom világkombban marad, egyszerűen hozzáadható egy WorldAnchor összetevő:

myObject.AddComponent<WorldAnchor>();

A WorldAnchor összetevő folyamatosan módosítja a GameObject (és így a hierarchia ezen objektuma alatt lévő bármi más) pozícióját és elforgatását, hogy a közeli fizikai objektumokhoz képest stabil maradjon. A tartalom létrehozásakor hozza létre úgy, hogy az objektum fő kimutatása ennek a virtuális résnek a középpontja felé ássa. (Ha az objektum elforgatása a fal mélyén van, az apró finomhangolások sokkal észrevehetőbbek lesznek, és a rés nem tűnik túl stabilnak.)

Minden el van zárva, a virtuális résen csak nem

A falban elrejtve látható nézetet többféleképpen is blokkolhatja. A legegyszerűbb azt a tényt használja ki, HoloLens additív kijelzőt használ, ami azt jelenti, hogy a teljesen fekete objektumok láthatatlannak jelennek meg. Ezt a Unityben különleges árnyékoló vagy anyagos trükkök nélkül is meg lehet tenni– csak hozzon létre egy fekete anyagot, és rendelje hozzá egy objektumhoz, amely be van dobozzva a tartalomba. Ha nem szeretne 3D-s modellezést használni, csak használjon néhány alapértelmezett Quad-objektumot, és átfedésben legyen velük. Ennek a megközelítésnek számos hátránya van, de ez a leggyorsabb módja annak, hogy valami megfelelően működik, és az alacsony minőségű koncepció igazolása nagyszerű, még akkor is, ha azt gyanítja, hogy később újra szeretné azt újrafedni.

A fenti "fekete doboz" megközelítés egyik fő hátránya, hogy nem jól fotóz. Bár a hatás tökéletesnek tűnik a HoloLens megjelenítésével, a képernyőképek nagy, fekete objektumot fognak megjeleníteni ahelyett, hogy a falból vagy a padlóból maradnak. Ennek az az oka, hogy a fizikai hardver és a képernyőképek másképpen készítik el az összetett hologramokat és a valóságot. Vessünk egy kis időt a hamis matematikai...

Hamis matematikai riasztás! Ezek a számok és képletek egy pontot mutatnak be, nem pedig pontos metrikát!

Mit lát a HoloLens:

( Reality * darkening_amount ) + Holograms

A képernyőképeken és videókon látható képek:

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

Angol nyelven: A HoloLens a sötét valóság (például napszemüvegek) és az alkalmazás által meg nem mutatni kívánó hologramok egyszerű kombinációja. Amikor azonban képernyőképet készít, a kamera képe az alkalmazás hologramjaival együtt jelenik meg a képpontonkénti átlátszósági értéknek megfelelően.

Ennek egyik módja, ha úgy módosítja a "fekete doboz" anyagát, hogy csak a mélységi pufferbe írjon, és a többi átlátszatlan anyagot is rendezi. Példaként tekintse meg a MixedRealityToolkit fájlban található WindowOcclusion.shader fájlt a GitHub. A rendszer a megfelelő sorokat másolja ide:

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

(Figyelje meg, hogy az "50-es eltolás, 100" sor nem kapcsolódó problémákkal foglalkozik, ezért ezt valószínűleg érdemes kihagyni.)

Egy ilyen láthatatlan eltolási anyag megvalósítása lehetővé teszi, hogy az alkalmazás megfelelő megjelenésű dobozt rajzoljon a megjelenítésben és a vegyes valóságú képernyőképeken. A bónuszpontokért megpróbálhatja tovább javítani a doboz teljesítményét, ha olyan okos dolgokat tesz, amelyek még kevesebb láthatatlan képpontot rajzolnak, de ez igazán belefuthat a weedsbe, és általában nem lesz rá szükség.

Itt található az MR Basics 101 titkos alvilága, ahogyan azt a Unity rajzolja, kivéve az occluding mező külső részeit. Vegye figyelembe, hogy az alvilág eltolódás a doboz közepén található, ami segít a valódi padlóhoz képest a lehető stabilan tartani a rést.

Itt található az MR Basics 101 titkos alvilága, ahogyan azt a Unity rajzolja, kivéve az occluding mező külső részeit. Vegye figyelembe, hogy az alvilág eltolódás a doboz közepén található, ami segít a valódi padlóhoz képest a lehető stabilan tartani a rést.

Tegye meg ön is

Van HoloLens, és szeretné kipróbálni a hatást? A legegyszerűbb megoldás (kódolás nélkül) az ingyenes 3D-megjelenítő-alkalmazás telepítése, majd az GitHub-ban megadott.fbx fájl betöltése a virágos kátyús modell megtekintéséhez a helyiségben. Töltse be a HoloLens, és láthatja a munka közbeni látszatot. Ha a modell előtt van, csak a kis résbe lát – minden más láthatatlan. Nézze meg a modellt bármely másik oldalról, és teljesen eltűnik. A virtuális gépek mozgási, elforgatási és 3D-megjelenítő vezérlőivel helyezze a virtuális rést bármely függőleges felülethez, amely ötleteket generálhat!

Ha megtekinti ezt a modellt a Unity-szerkesztőben, egy nagy fekete dobozt fog mutatni a virágos doboz körül. A HoloLens eltűnik a mező, és egy varázsablak-hatás jelenik meg.

Ha megtekinti ezt a modellt a Unity-szerkesztőben, egy nagy fekete dobozt fog mutatni a virágos doboz körül. A HoloLens eltűnik a mező, és egy varázsablak-hatás jelenik meg.

Ha olyan alkalmazást szeretne felépíteni, amely ezt a technikát használja, tekintse meg az MR Basics 101 oktatóanyagot a Mixed Reality oktatóanyagban. A 7. fejezet a padló robbanásával ér véget, amely egy rejtett alvilágot fed fel (a fenti képen láthatóak szerint). Who, hogy az oktatóanyagoknak elég fárasztónak kellett lennie?

Íme néhány ötlet, amelyekből következő lépésként használhatja ezt az elképzelést:

  • Gondolja át, hogyan tegye interaktívra a virtuális résen belüli tartalmat. Ha lehetővé teszi, hogy a felhasználók a saját falukon túl is hatást gyakorolnak, az javíthatja a kérdés érzetét, hogy ez a trükk képes biztosítani.
  • Gondoljon arra, hogyan lehet objektumokon keresztül vissza látni az ismert területekre. Hogyan tehet például egy holografikus rést a kávétáblába, és láthatja alatta a padlót?

A szerzőről

Eric Rehyer képe Eric Rehyer
Vezető szoftvermérnöki @Microsoft

Lásd még