Appvyer

Windows-appar kan innehålla två typer av vyer: fördjupade vyer och 2D-vyer. Appar kan växla mellan sina olika uppslukande vyer och 2D-vyer, som visar deras 2D-vyer antingen på en bildskärm som ett fönster eller i ett headset som en skiffer. Appar som har minst en fördjupad vy kategoriseras som appar för mixad verklighet. Appar som aldrig har en integrerande vy är 2D-appar.

Översikt

Fördjupade vyer

En integrerande vy ger din app möjlighet att skapa hologram i världen runt dig eller omge användaren med en virtuell miljö. När en app ritar i den integrerande vyn ritas ingen annan app samtidigt – hologram från flera appar är inte sammansatta. Genom att kontinuerligt justera det perspektiv från vilket appen renderar sin scen för att matcha användarens huvudrörelser kan din app rendera världslåst hologram. Världslåst hologram förblir på en fast punkt i den verkliga världen eller kan återge en virtuell värld som har sin position när en användare rör sig.

När du är i en fördjupad vy kan hologram placeras i världen omkring dig.
När du är i en fördjupad vy kan hologram placeras i världen omkring dig

HoloLens renderar appen sina hologram ovanpå användarens verkliga omgivning. På ett Windows Mixed Reality integrerande headset kan användaren inte se den verkliga världen, så din app måste återge allt som användaren ser.

Den Windows Mixed Reality startsidan (inklusive Start-menyn och hologram som du har placerat runt miljön) återges inte heller i en fördjupad vy. På HoloLens vidarebefordrar Cortana alla systemmeddelanden som inträffar medan en fördjupad vy visas, som användaren kan svara på med röstindata.

I en fördjupad vy ansvarar din app även för att hantera alla indata. Indata i Windows Mixed Reality består av blick, gest (endast HoloLens), [röst- och rörelsestyrenheter (endast integrerande headset).

2D-vyer

Flera 2D-vyer som ligger runt Windows Mixed Reality hem
Flera appar med en 2D-vy placerad runt Windows Mixed Reality hem

En app med en 2D-vy visas i Windows Mixed Reality hem (kallas ibland "shell") som en virtuell skiffer, renderad tillsammans med appstartare och andra hologram som användaren har placerat i sin värld. Användaren kan justera den här skiffern för att flytta och skala den, även om den förblir i en fast upplösning oavsett storlek. Om appens första vy är en 2D-vy fyller ditt 2D-innehåll samma bakgrund som användes för att starta appen.

I ett skrivbordsheadset kan du köra alla Universell Windows-plattform appar (UWP) som körs på din skrivbordsskärm idag. Dessa appar återger redan 2D-vyer idag, och deras innehåll visas automatiskt på en skiffer i användarens värld när det startas. 2D UWP-appar kan rikta in sig på Windows.Universal-enhetsfamiljen för att köras på både skrivbordsheadset och på HoloLens som skiffer.

En viktig användning av 2D-vyer är att visa ett textformulär som använder systemets tangentbord. Eftersom gränssnittet inte kan återges ovanpå en fördjupad vy måste appen växla till en 2D-vy för att visa systemets tangentbord. Appar som vill acceptera textinmatning måste växla till en 2D-vy med en textruta. Medan textrutan är i fokus visar systemet systemets tangentbord, så att användaren kan ange text.

En app kan ha 2D-vyer på både skrivbordsskärmen och i ett anslutet headset på en stationär dator. Du kan till exempel bläddra i Edge på din skrivbordsskärm med hjälp av dess huvudsakliga 2D-vy för att hitta en 360-graders video. När du spelar upp videon startar Edge en sekundär fördjupad vy i headsetet för att visa det integrerande videoinnehållet.

Välja en vy

När appen aktiveras kan du välja vilken typ av vy du vill visa. För en apps CoreApplication finns det alltid en primär appvy och valfritt antal ytterligare appvyer som du vill skapa. På skrivbordet kan du se en appvy som ett fönster. Våra mallar för mixed reality-appar skapar ett Unity-projekt där den primära appvyn är integrerande.

Din app kan skapa en extra 2D-appvy med hjälp av teknik som XAML för att använda Windows 10 funktioner som köp via app. Om din app startade som en UWP-app för andra Windows 10 enheter är den primära vyn 2D. Du kan dock "lysa upp" i mixad verklighet genom att lägga till en annan appvy som är integrerande för att visa en upplevelse volymmässigt. Tänk dig att skapa en app för fotovisning i XAML där bildspelsknappen växlade till en uppslukande appvy som flög foton från appen över hela världen och ytor.

Appen som körs kan ha en 2D-vy eller en fördjupad vy
Appen som körs kan ha en 2D-vy eller en fördjupad vy

Skapa en fördjupad vy

Appar för mixad verklighet skapar en fördjupad vy som uppnås med typen HolographicSpace .

En app som är helt integrerande bör alltid skapa en fördjupad vy vid start, även om den startas från skrivbordet. Integrerande vyer visas alltid i headsetet, oavsett var de skapades från. När du aktiverar en fördjupad vy visas Mixed Reality-portalen och användaren får hjälp att sätta på sig headsetet.

En app som börjar med en 2D-vy på skrivbordsskärmen kan skapa en sekundär fördjupad vy för att visa innehåll i headsetet. Ett exempel på detta är ett 2D Edge-fönster på bildskärmen som visar en 360 graders video i headsetet.

Appar som körs i fördjupad vy är de enda som visas
En app som körs i en fördjupad vy är den enda som visas

2D-vy i Windows Mixed Reality hem

Allt annat än en fördjupad vy återges som en 2D-vy i din värld.

En app kan ha 2D-vyer på både skrivbordsskärmen och i headsetet. En ny 2D-vy placeras i samma gränssnitt som vyn som skapade den, antingen på bildskärmen eller i headsetet. Det är för närvarande inte möjligt för en app eller en användare att flytta en 2D-vy mellan Mixed Reality hem och övervakaren.

Appar som körs i 2D-vyn delar utrymmet i den blandade världen med andra appar
Appar som körs i en 2D-vy delar utrymmet med andra appar

Placering av ytterligare apppaneler

Du kan placera så många appar med en 2D-vy i din värld som du vill med API:erna för sekundär panel. Dessa "fästa" paneler visas som välkomstskärmar som användarna måste placera och kan sedan användas senare för att starta appen. Windows Mixed Reality stöder för närvarande inte återgivning av något av 2D-panelinnehållet som levande paneler.

Appar kan ha flera placeringar med hjälp av sekundära paneler
Appar kan ha flera placeringar med hjälp av sekundära paneler

Växla vyer

Växla från 2D XAML-vyn till den integrerande vyn

Om appen använder XAML styr XAML IFrameworkViewSource den första vyn av appen. Appen måste växla till den integrerande vyn innan du aktiverar CoreWindow för att säkerställa att appen startas direkt i den integrerande upplevelsen.

Använd CoreApplication.CreateNewView och ApplicationViewSwitcher.SwitchAsync för att göra den till den aktiva vyn.

Anteckning

  • Ange inte flaggan ApplicationViewSwitchingOptions.ConsolidateViews till SwitchAsync när du växlar från XAML-vyn till den integrerande vyn, eller så tas den bakgrund som startade appen bort från världen.
  • SwitchAsync ska anropas med den Dispatcher som är associerad med den vy som du växlar till.
  • Du måste växla tillbaka till XAML-vyn om du behöver starta ett virtuellt tangentbord eller vill aktivera en annan app.

Appar kan växla mellan 2D-vyer och fördjupade vyerNär en app hamnar i en integrerande vy försvinner den blandade världen och andra appar
Vänster: Appar kan växla mellan 2D-vy och fördjupad vy. Höger: när en app hamnar i en fördjupad vy försvinner Windows Mixed Reality hem och andra appar.

Växla från den integrerande vyn tillbaka till en XAML-tangentbordsvy

En vanlig orsak till att växla fram och tillbaka mellan vyer är att visa ett tangentbord i en mixed reality-app. Gränssnittet kan bara visa systemets tangentbord om appen visar en 2D-vy. Om appen behöver hämta textinmatning kan den tillhandahålla en anpassad XAML-vy med ett textinmatningsfält, växla till den och sedan växla tillbaka när indata har slutförts.

Precis som i föregående avsnitt kan du använda ApplicationViewSwitcher.SwitchAsync för att gå tillbaka till en XAML-vy från den fördjupade vyn.

Appstorlek

2D-appvyer visas alltid i en fast virtuell skiffer. Detta gör att alla 2D-vyer visar exakt samma mängd innehåll. Här följer mer information om storleken på appens 2D-vy:

  • Appens bredd–höjd-förhållande bevaras vid storleksändring.
  • Appupplösning och skalningsfaktor ändras inte genom storleksändring.
  • Appar kan inte köra frågor mot sin faktiska storlek i världen.

2D-appar visas med fasta fönsterstorlekar
Appar med en 2D-vy visas med fasta fönsterstorlekar

Apppaneler

Start-menyn använder den lilla standardpanelen och den medelstora panelen för stift och listan Alla appar i mixad verklighet.

Start-menyn för Windows Mixed Reality
Start-menyn för Windows Mixed Reality

App-till-app-interaktioner

När du skapar appar har du åtkomst till den omfattande appen till de mekanismer för appkommunikation som är tillgängliga på Windows 10. Många av de nya Protokoll-API:erna och filregistreringarna fungerar perfekt på HoloLens för att aktivera start och kommunikation av appar.

För skrivbordsheadset kan appen som är associerad med ett visst filnamnstillägg eller protokoll vara en Win32-app som bara kan visas på skrivbordsskärmen eller på skrivbordet.

Protokoll

HoloLens stöder app-till-app-start via API:er för Windows.System.Launcher.

Det finns några saker att tänka på när du startar ett annat program:

  • När du gör en icke-modal start, till exempel LaunchUriAsync, måste användaren placera appen innan den interagerar med den.

  • När du gör en modal start, till exempel via LaunchUriForResultsAsync, placeras modal-appen överst i fönstret.

  • Windows Mixed Reality kan inte lägga över program ovanpå exklusiva vyer. För att visa den lanserade appen tar Windows tillbaka användaren till världen för att visa programmet.

Filväljare

HoloLens stöder både FileOpenPicker - och FileSavePicker-kontrakt . Det finns dock ingen förinstallerad app som uppfyller filväljarkontrakten. Dessa appar – till exempel OneDrive – kan installeras från Microsoft Store.

Om du har fler än en filväljarapp installerad visas inget disambiguation i användargränssnittet för att välja vilken app som ska startas. I stället väljs den första filväljaren som installeras. När du sparar en fil genereras filnamnet som innehåller tidsstämpeln. Detta kan inte ändras av användaren.

Som standard stöds följande tillägg lokalt:

App Tillägg
Foton bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

Appkontrakt och Windows Mixed Reality tillägg

Med appkontrakt och tilläggspunkter kan du registrera din app för att dra nytta av djupare operativsystemfunktioner som att hantera ett filnamnstillägg eller använda bakgrundsaktiviteter. Det här är en lista över kontrakt och tilläggspunkter som stöds och inte stöds på HoloLens.

Kontrakt eller tillägg Stöds?
Kontobildprovider (tillägg) Stöd saknas
Larm Stöd saknas
App Service Stöds men fungerar inte fullt ut
Provider för avtalade tider Stöd saknas
Spela upp automatiskt (tillägg) Stöd saknas
Bakgrundsaktiviteter (tillägg) Delvis stöd (alla utlösare fungerar inte)
Uppdatera aktivitet (tillägg) Stöds
Cachelagrat filuppdateringskontrakt Stöds
Kamerainställningar (tillägg) Stöd saknas
Uppringningsprotokoll Stöd saknas
Filaktivering (tillägg) Stöds
File Open Picker contract Stöds
File Save Picker contract Stöds
Anrop till låsskärm Stöd saknas
Medieuppspelning Stöd saknas
Spela upp till-kontrakt Stöd saknas
Förinstallerad konfigurationsuppgift Stöd saknas
Skriv ut 3D-arbetsflöde Stöds
Skriv ut aktivitetsinställningar (tillägg) Stöd saknas
URI-aktivering (tillägg) Stöds
Begränsad start Stöd saknas
Sökkontrakt Stöd saknas
Inställningskontrakt Stöd saknas
Dela kontrakt Stöd saknas
SSL/certifikat (tillägg) Stöds
Webbkontoprovider Stöds

Appfillagring

All lagring sker via namnområdet Windows.Storage. HoloLens stöder inte synkronisering/roaming för applagring. Mer information finns i dokumentationen nedan:

Kända mappar

Mer information om UWP-appar finns i KnownFolders .

Egenskap Stöds på HoloLens Stöds på integrerande headset Description
AppCaptures✔️✔️Hämtar mappen App Captures.
Cameraroll✔️✔️Hämtar mappen Kamerarulle.
DocumentsLibrary✔️✔️Hämtar dokumentbiblioteket. Dokumentbiblioteket är inte avsett för allmän användning.
MusicLibrary✔️✔️Hämtar musikbiblioteket.
Objekt3D✔️✔️Hämtar mappen Objects 3D.
BilderBibliotek✔️✔️Hämtar bildbiblioteket.
Spellistor✔️✔️Hämtar mappen med uppspelningslistor.
SavedPictures✔️✔️Hämtar mappen Sparade bilder.
VideosLibrary✔️✔️Hämtar videobiblioteket.
Hemgrupp✔️Hämtar mappen HomeGroup.
MediaServerEnheter✔️Hämtar mappen för medieserverenheter (Digital Living Network Alliance (DLNA).)
RecordedCalls✔️Hämtar mappen för inspelade samtal.
RemovableDevices✔️Hämtar mappen flyttbara enheter.

Appaket

Med Windows 10 kan du inte längre rikta ett operativsystem utan i stället rikta din app till en eller flera enhetsfamiljer. En enhetsfamilj identifierar de API:er, systemegenskaper och beteenden som du kan förvänta dig på olika enheter i enhetsfamiljen. Den avgör också vilken uppsättning enheter som din app kan installeras på från Microsoft Store.

  • Om du vill rikta in dig på både skrivbordsheadset och HoloLens ska du rikta din app mot Windows. Universell enhetsfamilj.
  • Om du bara vill rikta in dig på skrivbordsheadset ska du rikta in din app på Windows.Desktop-enhetsfamiljen .
  • Om du bara vill rikta in dig på HoloLens kan du rikta in din app på Windows.Holographic-enhetsfamiljen .

Se även