Condividi tramite


Progettazione per la realtà mista

Progetta la tua app per apparire bene nella realtà mista e sfruttare i nuovi metodi di input.

Informazioni generali

realtà mista è il risultato della fusione del mondo fisico con il mondo digitale. Lo spettro di esperienze di realtà mista include dispositivi estremi, ad esempio HoloLens (un dispositivo che combina il contenuto generato dal computer con il mondo reale) e all'altro una visualizzazione completamente immersiva della realtà virtuale (come visualizzato con un visore VR di Windows Mixed Reality). Vedi Tipi di app di realtà mista per esempi di variazione delle esperienze.

Quasi tutte le app UWP esistenti verranno eseguite nell'ambiente di realtà mista come app 2D senza modifiche, anche se l'esperienza per l'utente può essere migliorata seguendo alcune delle indicazioni riportate in questo argomento.

visualizzazione realtà mista

Sia i visori VR HoloLens che Windows Mixed Reality supportano le applicazioni in esecuzione nella piattaforma UWP e entrambi supportano due tipi distinti di esperienza.

2D e esperienza immersiva

Un'app immersiva acquisisce l'intero display visibile all'utente, posizionandola al centro di una visualizzazione creata dall'app. Ad esempio, un gioco immersivo potrebbe posizionare l'utente sulla superficie di un pianeta alieno o un'app guida turistica potrebbe posizionare l'utente in un villaggio sudamericano. La creazione di un'app immersiva richiede grafica 3D o video stereografico acquisito. Le app immersive vengono spesso sviluppate usando un motore di gioco di terze parti, ad esempio Unity o Con DirectX.

Se stai creando app immersive, visita il Windows Mixed Reality Dev Center per maggiori informazioni.

Un'app 2D viene eseguita come una finestra bidimensionale tradizionale all'interno della visione dell'utente. Su HoloLens, ciò significa una vista fissata al muro o un punto nello spazio nella stanza o nell'ufficio reale dei propri utenti. In un visore per realtà mista di Windows, l'app viene aggiunta a una parete nella casa di realtà mista (talvolta chiamata la Cliff House).

Molteplici app in esecuzione in Realtà Mista

Queste app 2D non occupano l'intera visualizzazione: vengono posizionate all'interno di esso. Nell'ambiente possono esistere più app 2D contemporaneamente.

Nella parte restante di questo argomento vengono illustrate le considerazioni di progettazione per l'esperienza 2D.

Avvio di app 2D

menu Start di realtà mista

Tutte le app vengono avviate dal menu Start, ma è anche possibile creare un oggetto 3D da usare come utilità di avvio delle app. Per informazioni dettagliate, vedere il video Creating 3D App Launchers for Windows Mixed Reality (Creazione di utilità di avvio delle app 3D per Windows Mixed Reality).

Panoramica dell'input per l'App 2D.

Le tastiere e i mouse sono supportati sia nelle piattaforme HoloLens che in realtà mista. È possibile associare una tastiera e un mouse direttamente a HoloLens tramite Bluetooth. Le app di realtà mista supportano il mouse e la tastiera connessi al computer host. Entrambi possono essere utili in situazioni in cui è necessario un livello di controllo fine.

Altri metodi di input, più naturali, sono supportati e possono essere particolarmente utili quando l'utente non è seduto alla scrivania con una tastiera reale davanti a loro, o quando è necessario un controllo fine.

Senza hardware o codice aggiuntivo, le app useranno lo sguardo - il vettore lungo il quale l'utente sta guardando - come puntatore del mouse quando si lavora con app 2D. Viene implementato come se un puntatore del mouse fosse sospeso sopra qualcosa nella scena virtuale.

In un'interazione tipica, l'utente osserverà un controllo nella tua app, facendolo evidenziare. L'utente attiverà un'azione quando utilizza un movimento (su HoloLens), un controller o impartendo un comando vocale. Se l'utente seleziona un campo di input di testo, verrà visualizzata la tastiera software.

La tastiera popup in realtà mista

È importante notare che tutte queste interazioni verranno eseguite automaticamente senza codice aggiuntivo nella tua parte, come conseguenza dell'esecuzione sulla piattaforma UWP. L'input del visore HoloLens e del visore per la realtà mista verrà visualizzato come input tattile per l'app 2D. Ciò significa che molte app UWP verranno eseguite e utilizzabili nella realtà mista, per impostazione predefinita.

Detto questo, con qualche lavoro aggiuntivo, l'esperienza può essere migliorata notevolmente. Ad esempio, controllo vocale può essere particolarmente efficace. Sia gli ambienti HoloLens che quelli di realtà mista supportano i comandi vocali per l'avvio e l'interazione con le app e l'inclusione del supporto vocale verranno visualizzati come un'estensione naturale di questo approccio. Vedi Interazioni vocali per ulteriori informazioni su come aggiungere il supporto vocale alla tua app UWP.

Selezione del controller corretto

controller di realtà mista per il movimento

Diversi nuovi metodi di input sono stati progettati appositamente per l'uso con la realtà mista, in particolare:

Questi controller rendono l'interazione con oggetti virtuali apparentemente naturali e precisi. Alcune delle interazioni che ottieni gratuitamente. Ad esempio, il gesto di selezione di HoloLens o il clic sul pulsante Windows o sul grilletto del controller di movimento genererà la risposta di input prevista, nuovamente, senza bisogno di scrivere codice.

In altri casi, è consigliabile aggiungere codice per sfruttare le informazioni e gli input aggiuntivi resi disponibili. Ad esempio, i controller di movimento possono essere usati per modificare gli oggetti con un livello fine di controllo, se si scrive codice che prende in considerazione la posizione e la pressione del pulsante.

Annotazioni

In sintesi: il principio guida dovrebbe essere quello di fornire sempre all'utente un metodo di input il più naturale e privo di ostacoli possibile.

Considerazioni sulla progettazione di app 2D: Funzionalità

Quando si crea un'app UWP che può essere usata in una piattaforma di realtà mista, è necessario tenere presenti diversi aspetti.

  • Il trascinamento della selezione potrebbe non funzionare correttamente se usato con i controller di movimento, i game pad o i movimenti. Se l'applicazione dipende molto dal trascinamento della selezione, sarà necessario fornire un metodo alternativo per supportare questa azione, ad esempio la presentazione di una finestra di dialogo che conferma se gli oggetti devono essere spostati in una nuova posizione.

  • Tieni presente il modo in cui cambia il suono. Se la tua app genera effetti sonori, l'origine del suono sembrerà essere la posizione fissata della tua app nel mondo virtuale. Man mano che l'utente si allontana dall'app, il suono diminuisce. Vedere audio spaziale per ulteriori informazioni.

  • Considerare il campo di visualizzazione e fornire opportunità. Non tutti i dispositivi forniranno un campo di visualizzazione così grande come un monitor del computer. Per i dettagli completi, vedere il frame olografico . Inoltre, l'utente potrebbe essere lontano da un'app in esecuzione. Ovvero, l'app potrebbe apparire bloccata al muro in una posizione diversa del mondo (reale o virtuale). L'app potrebbe dover ottenere l'attenzione degli utenti o tenere conto che l'intera visualizzazione non è visibile in qualsiasi momento. Sono disponibili notifiche di tipo avviso popup, ma un altro modo per ottenere l'attenzione dell'utente potrebbe essere generare un suono o voce avviso.

  • A un'app 2D viene assegnata automaticamente una barra dell'app per consentire all'utente di spostarle e ridimensionarle nell'ambiente virtuale. Le visualizzazioni possono essere ridimensionate verticalmente o ridimensionate mantenendo le stesse proporzioni.

Considerazioni sulla progettazione di app 2D: interfaccia utente/esperienza utente

  • Controlli XAML che implementano il Fluent Design System, ad esempio la visualizzazione di navigazione e effetti come Acrilico funzionano in modo ottimale nelle app di realtà mista 2D.

  • Testare le dimensioni di testo e finestre dell'app in un dispositivo di realtà mista o almeno nel simulatore di realtà mista. L'app avrà una dimensione predefinita di windows di 853x480 pixel effettivi. Usare dimensioni del carattere maggiori (è consigliabile usare dimensioni del carattere maggiori di circa 32) e leggere Aggiornamento di app UWP 2D per Windows Mixed Reality. L'articolo Tipografia illustra in dettaglio questo argomento. Quando si lavora in Visual Studio, è disponibile un'impostazione dell'editor di progettazione XAML per un'app HoloLens 2D da 57" che fornisce una visualizzazione con la scala e le dimensioni corrette.

Testo visualizzato nelle app di realtà mista deve essere grande.

  • Il tuo sguardo è il tuo mouse. Quando l'utente guarda qualcosa, funge da evento passaggio dello sguardo, quindi semplicemente guardando un oggetto può attivare un popup accidentale o un'interazione indesiderata. Potrebbe essere necessario rilevare se l'app è attualmente in esecuzione in Realtà mista e modificare questo comportamento. Vedere Runtime support, di seguito.

  • Quando un utente punta verso un elemento o un punto con un controller di movimento, si verificherà un evento passaggio del mouse. Questo è costituito da un PointerPoint in cui PointerType è Touch, ma IsInContact è false. Quando si verifica una forma di commit (ad esempio, viene premuto un pulsante A del game pad, viene premuto un dispositivo clicker, viene premuto un controller di movimento o viene premuto il riconoscimento vocale "Seleziona"), si verifica un di pressione tocco , con il PointerPoint avere IsInContact diventare true. Per ulteriori informazioni su questi eventi di input, vedi interazioni tattili.

  • Ricorda, lo sguardo non è accurato come il puntatore del mouse. Le aree o i pulsanti del mouse più piccoli possono causare frustrazione per gli utenti, quindi ridimensionate i controlli di conseguenza. Se sono progettati per il tocco, funzioneranno in realtà mista, ma è possibile decidere di ingrandire alcuni pulsanti in fase di esecuzione. Vedi Aggiornamento di app UWP 2D per Windows Mixed Reality.

  • L'applicazione non deve usare il nero perché ciò potrebbe causare confusione. HoloLens definisce il colore nero come assenza di luce e semplicemente non viene reso, permettendo al "mondo reale" di emergere. In un visore VR realtà mista, il nero viene visualizzato come nero.

  • HoloLens non supporta i temi dei colori nelle app e, per impostazione predefinita, utilizza il blu per garantire la migliore esperienza per gli utenti. Per ulteriori consigli sulla selezione dei colori, è consigliabile consultare questo argomento che illustra l'uso del colore e del materiale nelle progettazioni di realtà mista.

Altri punti da considerare

  • Anche se il Desktop Bridge può aiutare a portare le app desktop esistenti (Win32) in Windows e Microsoft Store, non può creare app eseguite in HoloLens in questo momento. A partire da Windows 10 versione 1903, le app Desktop Win32 possono essere eseguite su visori VR di realtà mista.

Supporto del runtime

L'app può determinare se è in esecuzione su un dispositivo di realtà mista durante il runtime e utilizzare queste informazioni come un'opportunità per ridimensionare i controlli o ottimizzare l'app in altri modi per l'uso su un visore di realtà mista.

Ecco un breve frammento di codice che ridimensiona il testo all'interno di un controllo TextBlock XAML solo se l'app viene usata in un dispositivo di realtà mista.


bool isViewingInMR = Windows.ApplicationModel.Preview.Holographic.HolographicApplicationPreview.IsCurrentViewPresentedOnHolographicDisplay();

            if (isViewingInMR)
            {
                // Running on headset, resize the XAML text
                textBlock.Text = "I'm running in Mixed Reality!";
                textBlock.FontSize = 32;
            }
            else
            {
                // Running on desktop
                textBlock.Text = "I'm running on the desktop.";
                textBlock.FontSize = 14;
            }