Dela via


Appvyer

Windows-appar kan innehålla två typer av vyer: uppslukande vyer och 2D-vyer. Appar kan växla mellan sina olika uppslukande vyer och 2D-vyer och visa sina 2D-vyer antingen på en bildskärm som ett fönster eller i ett headset som en skiffer. Appar som har minst en uppslukande 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 uppslukande vyn ritas ingen annan app samtidigt – hologram från flera appar är inte sammansatta tillsammans. Genom att kontinuerligt justera perspektivet från vilket appen renderar sin scen för att matcha användarens huvudrörelser kan appen återge världslåst hologram. Världslåst hologram finns kvar 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 uppslukande vy kan hologram placeras i världen omkring dig.
När du är i en uppslukande vy kan hologram placeras i världen runt dig

HoloLens renderar appen sina hologram ovanpå användarens verkliga omgivning. I ett integrerande Windows Mixed Reality-headset kan användaren inte se den verkliga världen, och därför måste appen återge allt som användaren ser.

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

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

2D-vyer

Flera 2D-vyer som lagts ut runt Windows Mixed Reality-hemmet
Flera appar med en 2D-vy placerad runt Windows Mixed Reality-hemmet

En app med en 2D-vy visas i Windows Mixed Reality-hemmet (kallas ibland "shell") som en virtuell skiffer, renderad tillsammans med appstartarna 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 fortfarande har en fast upplösning oavsett storlek. Om appens första vy är en 2D-vy fyller 2D-innehållet samma skiffer som används 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 i dag. 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 systemtangentbordet. Eftersom gränssnittet inte kan återges ovanpå en uppslukande vy måste appen växla till en 2D-vy för att visa systemets tangentbord. Appar som vill acceptera textindata måste växla till en 2D-vy med en textruta. Medan textrutan har fokus visar systemet systemets tangentbord, vilket gör 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 skrivbordsövervakare 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 uppslukande vy i headsetet för att visa det uppslukande 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 uppslukande.

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 i appen. Om din app startade som en UWP-app för andra Windows 10-enheter är din primära vy 2D. Du kan dock "lysa upp" i mixad verklighet genom att lägga till en annan appvy som är uppslukande för att visa en upplevelse volymmässigt. Tänk dig att skapa en fotovisningsapp 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 uppslukande vy
Appen som körs kan ha en 2D-vy eller en uppslukande vy

Skapa en fördjupad vy

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

En app som är helt uppslukande bör alltid skapa en uppslukande vy vid start, även om den startas från skrivbordet. Uppslukande vyer visas alltid i headsetet, oavsett var de skapades från. Om du aktiverar en uppslukande 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 uppslukande vy för att visa innehåll i headsetet. Ett exempel på detta är ett 2D Edge-fönster på skärmen som visar en 360-graders video i headsetet.

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

2D-vy i Windows Mixed Reality-hemmet

Allt annat än en uppslukande 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-hemmet och bildskärmen.

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 senare använda för att starta din app. 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 uppslukande vyn

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

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

Kommentar

  • Ange inte flaggan ApplicationViewSwitchingOptions.ConsolidateViews till SwitchAsync när du växlar från XAML-vyn till den uppslukande vyn, eller så tas den skiffer 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 Async 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 uppslukande vyer När en app hamnar i en uppslukande vy försvinner den blandade världen och andra appar
Vänster: Appar kan växla mellan 2D-vyn och den uppslukande vyn. Höger: När en app hamnar i en uppslukande vy försvinner Windows Mixed Reality-hemmet och andra appar.

Växla från den uppslukande 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 systemtangentbordet om appen visar en 2D-vy. Om appen behöver hämta textindata kan den ge 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:

  • Proportionerna i appen bevaras vid storleksändring.
  • Appmatchning 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 2D-vy visas med fasta fönsterstorlekar

Apppaneler

Den 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 appkommunikationsmekanismer som är tillgängliga i Windows 10. Många av de nya Protokoll-API:erna och filregistreringarna fungerar perfekt på HoloLens för att aktivera appstart och kommunikation.

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 i skrivbordsskiffer.

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 den modala appen ovanpå 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 . Ingen app är dock förinstallerad 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 disambiguationsgränssnitt för att välja vilken app som ska startas. I stället väljs den första installerade filväljaren. 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 bakgrundsuppgifter. 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
Leverantör av avtalade tider Stöd saknas
Spela upp automatiskt (tillägg) Stöd saknas
Bakgrundsuppgifter (tillägg) Delvis stöd (alla utlösare fungerar inte)
Uppdatera uppgift (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-kontrakt Stöds
File Save Picker-kontrakt Stöds
Låsskärmsanrop Stöd saknas
Medieuppspelning Stöd saknas
Spela upp till kontrakt Stöd saknas
Förinstallerad konfigurationsaktivitet Stöd saknas
Skriv ut 3D-arbetsflöde Stöds
Utskriftsaktivitetsinstä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
Webbkontoleverantör Stöds

Appfillagring

All lagring sker via windows.storage-namnområdet. HoloLens stöder inte synkronisering/roaming av applagring. Mer information finns i dokumentationen nedan:

Kända mappar

Mer information om UWP-appar finns i KnownFolders .

Property Stöds på HoloLens Stöds på uppslukande headset beskrivning
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 Objekt 3D.
BilderBibliotek✔️✔️Hämtar biblioteket Bilder.
Spellistor✔️✔️Hämtar mappen med uppspelningslistor.
SavedPictures✔️✔️Hämtar mappen Sparade bilder.
VideosLibrary✔️✔️Hämtar biblioteket Videor.
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.

Apppaket

Med Windows 10 kan du inte längre rikta in dig på ett operativsystem utan i stället rikta din app mot 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 appen kan installeras på från Microsoft Store.

  • Om du vill rikta in dig på både skrivbordsheadset och HoloLens riktar du appen mot Windows. Universell enhetsfamilj.
  • Om du bara vill rikta in dig på skrivbordsheadset riktar du appen mot Windows.Desktop-enhetsfamiljen.
  • Om du bara vill rikta in dig på HoloLens riktar du appen mot windows.Holographic-enhetsfamiljen.

Se även