Modos de exibição do aplicativo

Os aplicativos do Windows podem conter dois tipos de modos de exibição: exibições imersivas e exibições 2D. Os aplicativos podem alternar entre suas várias exibições imersivas e 2D, mostrando suas exibições 2D em um monitor como uma janela ou em um headset como uma ardósia. Os aplicativos que têm pelo menos uma exibição imersiva são categorizados como aplicativos de realidade misturada. Já os que não têm uma exibição imersiva são aplicativos 2D.

Visão geral

Exibições imersivas

Uma exibição imersiva dá ao aplicativo a capacidade de criar hologramas no mundo ao seu redor ou inserir o usuário em um ambiente virtual. Quando um aplicativo está desenhando na exibição imersiva, nenhum outro aplicativo está desenhando ao mesmo tempo — hologramas de vários aplicativos não são compostos juntos. Ajustando continuamente a perspectiva da qual seu aplicativo renderiza sua cena para corresponder aos movimentos da cabeça do usuário, seu aplicativo pode renderizar hologramas bloqueados pelo mundo . Os hologramas bloqueados pelo mundo permanecem em um ponto fixo no mundo real ou podem renderizar um mundo virtual que mantém sua posição à medida que um usuário se move.

Quando em uma exibição imersiva, os hologramas podem ser colocados no mundo ao seu redor.
Quando em uma exibição imersiva, os hologramas podem ser colocados no mundo ao seu redor

No HoloLens, seu aplicativo renderiza seus hologramas sobre o ambiente real do usuário. Em um headset imersivo Windows Mixed Reality, o usuário não pode ver o mundo real e, portanto, seu aplicativo deve renderizar tudo o que o usuário verá.

A Windows Mixed Reality página inicial (incluindo o menu Iniciar e os hologramas que você colocou ao redor do ambiente) também não é renderizada em uma exibição imersiva. No HoloLens, a Cortana retransmite todas as notificações do sistema que ocorrem enquanto uma exibição imersiva está sendo exibida, para a qual o usuário pode responder com entrada de voz.

Em uma exibição imersiva, seu aplicativo também é responsável por lidar com todas as entradas. A entrada em Windows Mixed Reality é composta de foco, gesto (somente HoloLens), [controladores de voz e movimento (somente headsets imersivos).

Exibições 2D

Várias exibições 2D dispostas ao redor da Windows Mixed Reality casa
Vários aplicativos com uma exibição 2D colocada ao redor da Windows Mixed Reality página inicial

Um aplicativo com um modo de exibição 2D aparece na Windows Mixed Reality página inicial (às vezes chamado de "shell") como uma ardósia virtual, renderizada junto com os inicializadores de aplicativos e outros hologramas que o usuário colocou em seu mundo. O usuário pode ajustar esse slate para movê-lo e dimensioná-lo, embora permaneça em uma resolução fixa qualquer que seja o seu tamanho. Se a primeira exibição do aplicativo for uma exibição 2D, o conteúdo 2D preencherá o mesmo slate usado para iniciar o aplicativo.

Em um headset da área de trabalho, você pode executar todos os aplicativos de Plataforma Universal do Windows (UWP) que são executados no monitor da área de trabalho hoje. Esses aplicativos já estão renderizando exibições 2D hoje, e seu conteúdo aparecerá automaticamente em um slate no mundo do usuário quando iniciado. Os aplicativos UWP 2D podem direcionar a família de dispositivos Windows.Universal para serem executados em headsets da área de trabalho e no HoloLens como slates.

Uma tecla de uso de modos de exibição 2D é mostrar um formulário de entrada de texto que usa o teclado do sistema. Como o shell não pode renderizar sobre uma exibição imersiva, o aplicativo precisa alternar para um modo de exibição 2D para mostrar o teclado do sistema. Os aplicativos que desejam aceitar a entrada de texto precisam alternar para um modo de exibição 2D com uma caixa de texto. Embora essa caixa de texto tenha foco, o sistema mostrará o teclado do sistema, permitindo que o usuário insira texto.

Um aplicativo pode ter exibições 2D no monitor da área de trabalho e em um headset anexado em um computador desktop. Por exemplo, você pode navegar pelo Edge no monitor da área de trabalho usando seu modo de exibição 2D main para encontrar um vídeo de 360 graus. Quando você reproduzir esse vídeo, o Edge iniciará uma exibição imersiva secundária dentro do headset para exibir o conteúdo de vídeo imersivo.

Escolhendo um modo de exibição

Quando seu aplicativo é ativado, você pode escolher que tipo de exibição você gostaria de exibir. Para o CoreApplication de um aplicativo, há sempre uma exibição de aplicativo principal e qualquer número de exibições de aplicativo adicionais que você gostaria de criar. Na área de trabalho, você pode pensar em uma exibição de aplicativo como uma janela. Nossos modelos de aplicativo de realidade misturada criam um projeto do Unity em que a exibição do aplicativo principal é imersiva.

Seu aplicativo pode criar uma exibição de aplicativo 2D extra usando tecnologia como XAML, para usar recursos do Windows 10, como compra no aplicativo. Se seu aplicativo foi iniciado como um aplicativo UWP para outros dispositivos Windows 10, sua exibição principal será 2D. No entanto, você pode "iluminar" a realidade misturada adicionando outra exibição de aplicativo que é imersiva para mostrar uma experiência de forma volumétrica. Imagine a criação de um aplicativo de visualizador de fotos em XAML em que o botão de apresentação de slides mudou para uma exibição de aplicativo imersiva que voou fotos do aplicativo em todo o mundo e superfícies.

O aplicativo em execução pode ter uma exibição 2D ou uma exibição imersiva
O aplicativo em execução pode ter uma exibição 2D ou uma exibição imersiva

Criando uma exibição imersiva

Aplicativos de realidade misturada criam uma exibição imersiva, que é obtida com o tipo HolographicSpace .

Um aplicativo puramente imersivo deve sempre criar uma exibição imersiva na inicialização, mesmo se iniciado da área de trabalho. As exibições imersivas sempre aparecem no headset, independentemente de onde foram criadas. Ativar uma exibição imersiva exibirá o Portal do Realidade Misturada e orientará o usuário a colocar o headset.

Um aplicativo que começa com uma exibição 2D no monitor da área de trabalho pode criar uma exibição imersiva secundária para mostrar o conteúdo no headset. Um exemplo disso é uma janela do Edge 2D no monitor exibindo um vídeo de 360 graus no headset.

Os aplicativos em execução na exibição imersiva são os únicos visíveis
Um aplicativo em execução em uma exibição imersiva é o único visível

Exibição 2D na página inicial do Windows Mixed Reality

Qualquer coisa que não seja uma exibição imersiva é renderizada como uma exibição 2D em seu mundo.

Um aplicativo pode ter exibições 2D no monitor da área de trabalho e no headset. Uma nova exibição 2D será colocada no mesmo shell que a exibição que a criou, seja no monitor ou no headset. Atualmente, não é possível que um aplicativo ou um usuário mova uma exibição 2D entre o Realidade Misturada página inicial e o monitor.

Aplicativos em execução no modo de exibição 2D compartilham o espaço no mundo misto com outros aplicativos
Aplicativos em execução em uma exibição 2D compartilham o espaço com outros aplicativos

Posicionamento de blocos de aplicativo adicionais

Você pode colocar quantos aplicativos tiverem uma exibição 2D em seu mundo como desejar com as APIs de Bloco Secundário. Esses blocos "fixados" aparecerão como telas inseridas que os usuários devem colocar e, em seguida, poderão usar posteriormente para iniciar seu aplicativo. Windows Mixed Reality atualmente não dá suporte à renderização de nenhum conteúdo de bloco 2D como blocos dinâmicos.

Os aplicativos podem ter vários posicionamentos usando blocos secundários
Os aplicativos podem ter vários posicionamentos usando blocos secundários

Alternando modos de exibição

Alternando do modo de exibição XAML 2D para a exibição imersiva

Se o aplicativo usar XAML, o XAML IFrameworkViewSource controlará a primeira exibição do aplicativo. O aplicativo precisará alternar para a exibição imersiva antes de ativar o CoreWindow, para garantir que o aplicativo seja iniciado diretamente na experiência imersiva.

Use CoreApplication.CreateNewView e ApplicationViewSwitcher.SwitchAsync para torná-lo o modo de exibição ativo.

Observação

  • Não especifique o sinalizador ApplicationViewSwitchingOptions.ConsolidateViews para SwitchAsync ao alternar do modo de exibição XAML para a exibição imersiva ou o slate que iniciou o aplicativo será removido do mundo.
  • SwitchAsync deve ser chamado usando o Dispatcher associado à exibição em que você está alternando.
  • Você precisará alternarAsync de volta para o modo de exibição XAML se precisar iniciar um teclado virtual ou quiser ativar outro aplicativo.

Os aplicativos podem alternar entre exibições 2D e exibições imersivasQuando um aplicativo entra em uma exibição imersiva, o mundo misto e outros aplicativos desaparecem
Esquerda: os aplicativos podem alternar entre o modo de exibição 2D e a exibição imersiva. Certo: quando um aplicativo entra em uma exibição imersiva, o Windows Mixed Reality página inicial e outros aplicativos desaparecem.

Alternar do modo de exibição imersivo de volta para um modo de exibição XAML do teclado

Um motivo comum para alternar entre modos de exibição é exibir um teclado em um aplicativo de realidade misturada. O shell só poderá exibir o teclado do sistema se o aplicativo estiver mostrando um modo de exibição 2D. Se o aplicativo precisar obter entrada de texto, ele poderá fornecer uma exibição XAML personalizada com um campo de entrada de texto, alternar para ele e, em seguida, alternar de volta após a entrada ser concluída.

Assim como na seção anterior, você pode usar ApplicationViewSwitcher.SwitchAsync para fazer a transição de volta para uma exibição XAML do modo de exibição imersivo.

Tamanho do aplicativo

As exibições de aplicativo 2D sempre aparecem em um slate virtual fixo. Isso faz com que todos os modos de exibição 2D mostrem exatamente a mesma quantidade de conteúdo. Aqui estão alguns detalhes adicionais sobre o tamanho da exibição 2D do seu aplicativo:

  • A taxa de proporção do aplicativo é preservada durante o redimensionamento.
  • A resolução do aplicativo e o fator de escala não são alterados com o redimensionamento.
  • Os aplicativos não podem consultar seu tamanho real no mundo.

Aplicativos 2D aparecem com tamanhos de janela fixos
Aplicativos com um modo de exibição 2D aparecem com tamanhos de janela fixos

Blocos de aplicativo

O menu Iniciar usa o bloco pequeno padrão e o bloco médio para pinos e a lista Todos os Aplicativos em realidade misturada.

O menu Iniciar para Windows Mixed Reality
O menu Iniciar para Windows Mixed Reality

Interações de aplicativo para aplicativo

Ao criar aplicativos, você tem acesso ao aplicativo avançado para mecanismos de comunicação de aplicativos disponíveis no Windows 10. Muitas das novas APIs de protocolo e registros de arquivo funcionam perfeitamente no HoloLens para habilitar a inicialização e a comunicação do aplicativo.

Para headsets da área de trabalho, o aplicativo associado a uma determinada extensão de arquivo ou protocolo pode ser um aplicativo Win32 que só pode aparecer no monitor da área de trabalho ou no slate da área de trabalho.

Protocolos

O HoloLens dá suporte à inicialização de aplicativos para aplicativos por meio das APIs Windows.System.Launcher.

Há algumas coisas a considerar ao iniciar outro aplicativo:

  • Ao fazer uma inicialização não modal, como LaunchUriAsync, o usuário deve colocar o aplicativo antes de interagir com ele.

  • Ao fazer uma inicialização modal, como por meio de LaunchUriForResultsAsync, o aplicativo modal é colocado na parte superior da janela.

  • Windows Mixed Reality não pode sobrepor aplicativos sobre exibições exclusivas. Para mostrar o aplicativo iniciado, o Windows leva o usuário de volta ao mundo para exibir o aplicativo.

Seletores de arquivos

O HoloLens dá suporte aos contratos FileOpenPicker e FileSavePicker . No entanto, nenhum aplicativo vem pré-instalado que atenda aos contratos do seletor de arquivos. Esses aplicativos – OneDrive, por exemplo – podem ser instalados na Microsoft Store.

Se você tiver mais de um aplicativo seletor de arquivos instalado, não verá nenhuma interface do usuário de desambiguação para escolher qual aplicativo iniciar. Em vez disso, o primeiro seletor de arquivos instalado será escolhido. Ao salvar um arquivo, o nome do arquivo é gerado, o que inclui o carimbo de data/hora. Isso não pode ser alterado pelo usuário.

Por padrão, as seguintes extensões têm suporte localmente:

Aplicativo Extensões
Fotos bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

Contratos de aplicativo e extensões de Windows Mixed Reality

Os contratos de aplicativo e os pontos de extensão permitem que você registre seu aplicativo para aproveitar recursos mais profundos do sistema operacional, como lidar com uma extensão de arquivo ou usar tarefas em segundo plano. Esta é uma lista dos contratos e pontos de extensão com suporte e sem suporte no HoloLens.

Contrato ou extensão Com suporte?
Provedor de Imagem da Conta (extensão) Sem suporte
Alarme Sem suporte
Serviço de aplicativo Com suporte, mas não totalmente funcional
Provedor de compromissos Sem suporte
Reprodução automática (extensão) Sem suporte
Tarefas em segundo plano (extensão) Com suporte parcial (nem todos os gatilhos funcionam)
Tarefa de atualização (extensão) Com suporte
Contrato de atualizador de arquivo armazenado em cache Com suporte
Configurações da câmera (extensão) Sem suporte
Protocolo de discagem Sem suporte
Ativação de arquivo (extensão) Com suporte
Contrato do Seletor aberto de arquivos Com suporte
Contrato do Seletor de Salvamento de Arquivos Com suporte
Chamada de tela de bloqueio Sem suporte
Reprodução de mídia Sem suporte
Jogar para contrato Sem suporte
Tarefa de configuração pré-instalada Sem suporte
Imprimir fluxo de trabalho 3D Com suporte
Imprimir configurações de tarefa (extensão) Sem suporte
Ativação de URI (extensão) Com suporte
Inicialização restrita Sem suporte
Contrato de pesquisa Sem suporte
Contrato de configurações Sem suporte
Compartilhar contrato Sem suporte
SSL/certificados (extensão) Com suporte
Provedor de conta Web Com suporte

Armazenamento de arquivos de aplicativo

Todo o armazenamento é por meio do namespace Windows.Storage. O HoloLens não dá suporte à sincronização/roaming do armazenamento de aplicativos. Para obter mais informações, marcar a documentação abaixo:

Pastas conhecidas

Consulte KnownFolders para obter os detalhes completos dos aplicativos UWP.

Propriedade Com suporte no HoloLens Com suporte em headsets imersivos Descrição
AppCaptures✔️✔️Obtém a pasta Capturas de Aplicativo.
Cameraroll✔️✔️Obtém a pasta Rolo da Câmera.
DocumentsLibrary✔️✔️Obtém a biblioteca documentos. A biblioteca documentos não se destina ao uso geral.
MusicLibrary✔️✔️Obtém a biblioteca música.
Objects3D✔️✔️Obtém a pasta 3D Objetos.
PicturesLibrary✔️✔️Obtém a biblioteca Imagens.
Playlists✔️✔️Obtém a pasta listas de reprodução.
SavedPictures✔️✔️Obtém a pasta Imagens Salvas.
VideosLibrary✔️✔️Obtém a biblioteca Vídeos.
HomeGroup✔️Obtém a pasta HomeGroup.
MediaServerDevices✔️Obtém a pasta de dispositivos de servidor de mídia (DLNA (Digital Living Network Alliance).
RecordedCalls✔️Obtém a pasta de chamadas gravadas.
RemovableDevices✔️Obtém a pasta de dispositivos removíveis.

Pacote do Aplicativo

Com o Windows 10, você não tem mais como alvo um sistema operacional, mas, em vez disso, direciona seu aplicativo para uma ou mais famílias de dispositivos. Uma família de dispositivos identifica as APIs, as características do sistema e os comportamentos esperados entre dispositivos na família de dispositivos. Ele também determina o conjunto de dispositivos nos quais seu aplicativo pode ser instalado da Microsoft Store.

  • Para direcionar os headsets da área de trabalho e o HoloLens, direcione seu aplicativo para o Windows. Família de dispositivos universal.
  • Para direcionar apenas headsets da área de trabalho, direcione seu aplicativo para a família de dispositivos Windows.Desktop .
  • Para direcionar apenas o HoloLens, direcione seu aplicativo para a família de dispositivos Windows.Holographic .

Confira também