Delade upplevelser i mixad verklighet

Hologram behöver inte vara privat för bara en användare. Holografiska appar kan dela rumsliga fästpunkter från en HoloLens-, iOS- eller Android-enhet till en annan, så att användarna kan rendera ett hologram på samma plats i verkligheten på flera enheter.

Sex frågor för att definiera delade scenarier

Innan du börjar utforma för delade upplevelser är det viktigt att definiera målscenarierna. De här scenarierna hjälper dig att tydliggöra vad du utformar och upprättar en gemensam vokabulär som hjälper dig att jämföra funktioner som krävs i din upplevelse. Att förstå kärnproblemet och de olika sätten för lösningar är nyckeln till att upptäcka möjligheter som finns i det här nya mediet.

Genom interna prototyper och utforskningar från våra HoloLens partnerorganisationer har vi skapat sex frågor som hjälper dig att definiera delade scenarier. Dessa frågor utgör ett ramverk, som inte är avsett att vara heltäckande, för att hjälpa till att analysera de viktiga attributen i dina scenarier.

1. Hur delar de?

En presentation kan ledas av en enda virtuell användare, medan flera användare kan samarbeta, eller så kan en lärare ge vägledning till virtuella studenter som arbetar med virtuella material – upplevelsens komplexitet ökar beroende på vilken myndighet en användare har eller kan ha i ett scenario.

Man och kvinnor med hologram i tabell

Det finns många sätt att dela, men vi har upptäckt att de flesta av dem är indela i tre kategorier:

  • Presentation: När samma innehåll visas för flera användare. Till exempel: En professor håller en lektion för flera elever med samma holografiska material som presenteras för alla. Professorn kan dock ha egna tips och kommentarer som kanske inte är synliga för andra.
  • Samarbete: När människor arbetar tillsammans för att uppnå några gemensamma mål. Till exempel gav professorn ut ett projekt för att lära sig om att utföra en hjärtoperation. Eleverna parar ihop och skapar en delad kunskapslabbupplevelse, där medicinska studenter kan samarbeta kring hjärtmodellen och lära sig.
  • Vägledning: När en person hjälper någon att lösa ett problem i en mer en-till-en-stil-interaktion. Till exempel: Professorn ger vägledning till en student när han/hon utför labbet för hjärtoperationer i den delade upplevelsen.

2. Vad är gruppstorleken?

En-till-en-delningsupplevelser kan ge en stark baslinje och helst kan du skapa konceptbevis på den här nivån. Men tänk på att delning med stora grupper (fler än sex personer) kan leda till problem både tekniska (data och nätverk) och sociala problem (effekten av att vara i ett rum med flera avatarer). Komplexiteten ökar exponentiellt när du går från små till stora grupper.

Vi har upptäckt att behoven för grupper kan vara indela i tre storlekskategorier:

  • 1:1
  • Liten < 7
  • Stor >= 7

Gruppstorlek är en viktig fråga eftersom den påverkar:

  • Representationer av personer i det holografiska utrymmet
  • Objektskala
  • Skalning av miljö

3. Var finns alla?

Styrkan hos mixad verklighet spelar in när en delad upplevelse kan ske på samma plats. Vi kallar det samlokalt. Om gruppen däremot distribueras och minst en deltagare inte är i samma fysiska utrymme (som ofta är fallet med VR) kallar vi detta för en fjärrupplevelse. Ofta är det fallet att din grupp har både samplacerade och fjärranslutna deltagare (till exempel två grupper i konferensrum).

Tre personer med hologram i tabellen

Följande kategorier hjälper till att förmedla var användarna finns:

  • Samplacerad: Alla användare kommer att finnas i samma fysiska utrymme.
  • Fjärrlagring: Alla användare finns i separata fysiska utrymmen.
  • Båda: Dina användare kommer att vara en blandning av samplacerade och fjärranslutna utrymmen.

Den här frågan är viktig eftersom den påverkar:

  • Hur kommunicerar människor?
    • Till exempel: Om de ska ha avatarer?
  • Vilka objekt de ser. Delas alla objekt?
  • Om vi behöver anpassa oss till deras miljö?

4. När delas de?

Vi tänker vanligtvis på synkrona upplevelser när delade upplevelser kommer i åtanke: Vi gör det tillsammans. Men om vi inkluderar ett enda virtuellt element som har lagts till av någon annan har vi ett asynkront scenario. Imagine en anteckning, eller röstnota, som lämnas i en virtuell miljö. Hur hanterar du 100 virtuella pm som finns kvar i designen? Vad händer om de kommer från dussintals personer med olika sekretessnivåer?

Tänk på dina upplevelser som en av följande tidskategorier:

  • Synkront: Dela den holografiska upplevelsen samtidigt. Till exempel: Två elever som gör kunskapslabbet på samma gång.
  • Asynkront: Dela den holografiska upplevelsen vid olika tidpunkter. Till exempel: Två elever som gör kunskapslabbet men arbetar i separata avsnitt vid olika tidpunkter.
  • Båda: Dina användare kommer ibland att dela synkront men andra gånger asynkront. Till exempel: En professor som betygsätts på uppgiften som utförs av eleverna vid ett senare tillfälle och lämnar anteckningar till eleverna nästa dag.

Den här frågan är viktig eftersom den påverkar:

  • Objekt- och miljöpersens. Exempel: Lagra tillstånden så att de kan hämtas.
  • Användarperspektiv. Till exempel: Kanske kommer du ihåg vad användaren tittade på när han/hon lämnar anteckningar.

5. Hur lika är deras fysiska miljöer?

Sannolikheten för två identiska verkliga miljöer, utanför samplacerade miljöer, är liten om inte dessa miljöer har utformats för att vara identiska. Det är mer troligt att du har liknande miljöer. Till exempel är konferensrum liknande – de har vanligtvis en centralt placerad tabell som omges av människor. Levande rum är å andra sidan olika** och kan innehålla valärt antal konstverk i en oändlig matris med layouter.

Holograph på tabell

Tänk dig att dina delningsupplevelser passar in i någon av följande två kategorier:

  • Liknande: Miljöer som tenderar att ha liknande belysning, omgivande ljus och ljud, fysisk rumsstorlek. Till exempel: Professor är i lektionssal A och eleverna är i lektionssal B. Lektionssal A kan ha färre saker att tänka på än B, men båda kan ha ett fysiskt skrivbord att placera hologram på.
  • Olika miljöer: Miljöer som skiljer sig åt i designinställningar, rumsstorlekar, ljus och ljudöverväganden. Till exempel: En professor är i ett fokusrum, men eleverna är i en stor lektionssal med elever och lärare.

Det är viktigt att tänka på miljön eftersomden påverkar:

  • Hur de här objekten kommer att upplevas. Exempel: Om din upplevelse fungerar bäst på en tabell och användaren inte har någon tabell? Eller på en plan golvyta, men användaren har ett rörigt utrymme.
  • Objektens skala. Till exempel kan det vara svårt att placera en modell med sex fot på en tabell, men en hjärtmodell skulle fungera bra.

6. Vilka enheter använder de?

Idag kommer du ofta att se delade upplevelser mellan två integrerande enheter (dessa enheter kan skilja sig något åt för knappar och relativ kapacitet, men inte särskilt mycket) eller två holografiska enheter beroende på vilka lösningar som riktas mot dessa enheter. Men överväg om 2D-enheter (en mobil-/skrivbordsdeltagare eller -deltagare) är ett nödvändigt övervägande, särskilt i situationer med blandade 2D- och 3D-enheter. Det är viktigt att förstå vilka typer av enheter som deltagarna kommer att använda, inte bara för att de har olika återgivning och databegränsningar och affärsmöjligheter, utan även för att användarna har unika förväntningar för varje plattform.

Utforska potentialen i delade upplevelser

Svaren på frågorna ovan kan kombineras för att bättre förstå ditt delade scenario och utkristallisera utmaningarna när du utökar upplevelsen. För Microsoft-teamet hjälpte detta till att upprätta en färdplan för att förbättra de upplevelser vi använder idag, förstå nyanseringarna av dessa komplexa problem och hur vi kan dra nytta av delade upplevelser i mixad verklighet.

Tänk dig till exempel Skype scenarier från HoloLens: en användare har gått igenom hur man åtgärdar en bruten lampa med hjälp av en fjärransluten expert.

Åtgärda en lampa med hjälp av en Skype för HoloLens

En expert ger 1:1-vägledning från sin 2D, stationära dator till en användare av en 3D-enhet med mixad verklighet. Vägledningen är synkron och de fysiska miljöerna är olika.

En upplevelse som den här är en stegändring från vår nuvarande upplevelse – att tillämpa paradigmet för video och röst på ett nytt medium. Men när vi tittar på framtiden måste vi bättre definiera möjligheterna för våra scenarier och skapa upplevelser som återspeglar styrkan hos mixad verklighet.

Överväg onSight-samarbetsverktyget, som utvecklats av NASA:s Jet Propulsion Laboratory. Forskare som arbetar med data från Mars Rover-uppdragen kan samarbeta med kollegor i realtid inom data från martiansk landskap.

Samarbete mellan kollegor separerade på distans för att planera arbetet för Mars-rovern

En forskare utforskar en miljö med hjälp av en 3D-enhet med mixad verklighet och en liten grupp fjärranslutna kollegor som använder 3D- och 2D-enheter. Samarbetet är synkront (men kan granskas igen asynkront) och de fysiska miljöerna är (praktiskt taget) liknande.

Upplevelser som OnSight ger nya möjligheter att samarbeta. Från att fysiskt peka ut element i den virtuella miljön till att stå bredvid en kollega och dela med sig av sitt perspektiv när de förklarar sina resultat. OnSight använder sig av känslor och närvaro för att omvärdera delningsupplevelser i mixad verklighet.

Intuitivt samarbete är grunden för konversation, att arbeta tillsammans och förstå hur vi kan tillämpa denna intuition på komplexiteten i mixad verklighet är avgörande. Om vi inte bara kan återskapa delningsupplevelser i mixad verklighet utan även förbättra dem, blir det ett paradigmskifte för arbetets framtid. Att designa för delade upplevelser i mixad verklighet är ett nytt och spännande område – och vi är bara i början.

Kom igång med att skapa delade upplevelser

Beroende på ditt program och scenario finns det olika krav för att uppnå önskad upplevelse. Några av dessa är:

  • Matchning: Möjlighet att skapa sessioner, annonsera sessioner, identifiera och bjuda in specifika personer, både lokalt och via en fjärrsession.
  • Delning av fästpunkter: Möjligheten att justera koordinater över flera enheter i ett gemensamt lokalt utrymme, så hologram visas på samma plats för alla personer.
  • Nätverk: Möjlighet att ha positioner, interaktioner och förflyttningar av personer och hologram synkroniserade i realtid mellan alla deltagare.
  • Tillståndslagring: Möjlighet att lagra hologramegenskaper och platser i utrymme för mellansessionskoppling, återkallande vid ett senare tillfälle och robusthet mot nätverksproblem.

Nyckeln till delade upplevelser är att flera användare ser samma hologram i världen på sin egen enhet, ofta genom att dela fästpunkter för att justera koordinaterna mellan enheter.

Om du vill dela fästpunkter använder du Azure Spatial Anchors:

  • Först placerar användaren hologrammet.
  • Appen skapar en spatial fästpunktför att fästa hologrammet exakt i världen.
  • Fästpunkter kan delas till HoloLens-, iOS- och Android-enheter via Azure Spatial Anchors.

Med en delad spatial fästpunkt har appen på varje enhet nu ett gemensamt koordinatsystem där de kan placera innehåll. Nu kan appen se till att placera och orientera hologrammet på samma plats.

På HoloLens enheter kan du också dela fästpunkter offline från en enhet till en annan. Använd länkarna nedan för att avgöra vad som är bäst för ditt program.

Utvärdera tekniska alternativ

Det finns olika tjänst- och teknikalternativ som hjälper dig att skapa upplevelser med mixad verklighet för flera användare. Det kan vara svårt att välja en väg, så om du tar ett scenariofokuserat perspektiv beskrivs vissa alternativ nedan.

Delade statiska hologram (inga interaktioner)

Använd Azure Spatial Anchors i din app. Genom att aktivera och dela rumsliga fästpunkter mellan enheter kan du skapa ett program där användarna ser hologram på samma plats samtidigt. Ytterligare synkronisering mellan enheter krävs för att göra det möjligt för användare att interagera med hologram och se förflyttningar eller tillståndsuppdateringar av hologram.

Dela perspektiv för första person

Använd inbyggt Miracast stöd för lokala användare när du har en Miracast mottagare, till exempel en dator eller TV – ingen ytterligare appkod behövs.

Använd MixedReality-WebRTC i din app, för fjärranvändare eller när du har icke-Miracast enheter som du vill dela till. Om du aktiverar en WebRTC-anslutning aktiveras även 1:1 ljud-/videoströmmar mellan användare, med en datakanal för meddelanden mellan enheter. Implementeringen av mixad verklighet optimerar för HoloLens genom att tillhandahålla videoström med mixad verklighetsinspelning av vyn över HoloLens användare till andra. Om du vill skala upp videoströmning till flera fjärrklienter används vanligtvis en MCU-tjänstleverantör (Multipoint-konferensenhet), till exempel SignalWire. En SignalWire-distribution med ett klick till Azure är tillgänglig via Freeswitch.

Anteckning

Observera att SignalWire är en betald tjänst som inte ägs/är ansluten till Microsoft.

Presenter-Spectator program och demonstrationer

Använd MixedReality-LeverageView för att få med dig vyfunktioner i din app. Aktivera andra enheter (HL, Android, iOS och videokameror) för att se vad HoloLens ser från ett annat perspektiv på samma plats och få uppdateringar om interaktioner mellan värden HoloLens-användare som interagerar med hologrammen. Titta på, ta bilder och spela in video om vad värden gör med hologrammen i programmet från ditt eget rumsliga perspektiv med samma app.

Obs! Bilder tas via skärmbild på iOS/Android-enheter.

Samarbetsupplevelse för flera användare

Börja med vår självstudiekursom flera användare, som använder Azure Spatial Anchors lokala användare och Photon SDK för att synkronisera innehåll/tillstånd i scenen. Skapa lokalt samarbetende program där varje användare har sitt eget perspektiv på hologrammen i scenen och alla kan interagera helt med hologrammen. Uppdateringar tillhandahålls på alla enheter och interaktionskonflikthantering hanteras av Photon.

Anteckning

Observera att Photon är en produkt som inte kommer från Microsoft, så en faktureringsrelation med Photon kan krävas för att produktisera och skala för högre användning.

Framtida arbete

Komponentfunktioner och gränssnitt hjälper till att tillhandahålla gemensam konsekvens och robust support för de olika scenarierna och underliggande teknikerna. Tills dess väljer du den bästa sökvägen som överensstämmer med det scenario som du försöker uppnå i ditt program.

Olika scenarier eller önskemål om att använda en annan teknik/tjänst? Ge feedback som GitHub problem i motsvarande lagringsplatsen längst ned på den här sidan eller kontakta HoloDevelopers slack.

Se även