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 runt dig
På 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 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
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.
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 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
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.
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.
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
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.