Compartilhar via


Modos de exibição do aplicativo

Os aplicativos do Windows podem conter dois tipos de modos de exibição: modos de exibição imersivos e modos de exibição 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 fone de ouvido como uma lousa. 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

Visualizaçõ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 no modo de exibição imersivo, 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 o 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 os arredores do mundo 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 página inicial do Windows Mixed Reality (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, às quais o usuário pode responder com entrada de voz.

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

Visualizações 2D

Várias exibições 2D dispostas na página inicial do Windows Mixed Reality
Vários aplicativos com uma exibição 2D colocados na página inicial do Windows Mixed Reality

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

Em um fone de ouvido de desktop, você pode executar qualquer aplicativo UWP (Plataforma Universal do Windows) executado no monitor da área de trabalho hoje. Esses aplicativos já estão renderizando visualizações 2D hoje e seu conteúdo aparecerá automaticamente em uma lousa no mundo do usuário quando iniciados. Os aplicativos UWP 2D podem ter como destino a família de dispositivos Windows.Universal para serem executados em headsets de desktop e no HoloLens como slates.

Um dos principais usos das exibições 2D é mostrar um formulário de entrada de texto que usa o teclado do sistema. Como o shell não pode ser renderizado sobre uma exibição imersiva, o aplicativo precisa alternar para uma exibição 2D para mostrar o teclado do sistema. Os aplicativos que desejam aceitar a entrada de texto precisam alternar para uma exibição 2D com uma caixa de texto. Enquanto essa caixa de texto estiver em 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 fone de ouvido conectado em um computador desktop. Por exemplo, você pode navegar pelo Edge no monitor da área de trabalho usando sua visualização 2D principal para encontrar um vídeo em 360 graus. Quando você reproduzir esse vídeo, o Edge iniciará uma exibição imersiva secundária dentro do fone de ouvido para exibir o conteúdo de vídeo imersivo.

Escolhendo uma exibição

Quando seu aplicativo é ativado, você pode escolher o tipo de exibição que deseja exibir. Para o CoreApplication de um aplicativo, sempre há uma exibição de aplicativo principal e qualquer número de outras exibições de aplicativo que você gostaria de criar. No desktop, você pode pensar em uma visualização de aplicativo como uma janela. Nossos modelos de aplicativo de realidade misturada criam um projeto do Unity em que a exibição principal do aplicativo é 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 "acender" na realidade misturada adicionando outra exibição de aplicativo imersiva para mostrar uma experiência volumetricamente. Imagine criar um aplicativo visualizador de fotos em XAML em que o botão de apresentação de slides alternava para um modo de exibição de aplicativo imersivo que voava fotos do aplicativo pelo 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

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

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

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 fone de ouvido. Um exemplo disso é uma janela 2D Edge no monitor exibindo um vídeo de 360 graus no fone de ouvido.

Os aplicativos executados 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 fone de ouvido. Uma nova visualização 2D será colocada no mesmo shell que a visualização que a criou, seja no monitor ou no fone de ouvido. No momento, não é possível que um aplicativo ou um usuário mova uma exibição 2D entre a página inicial do Realidade Misturada e o monitor.

Os aplicativos executados na visualização 2D compartilham o espaço no mundo misto com outros aplicativos
Os aplicativos executados em uma visualização 2D compartilham o espaço com outros aplicativos

Posicionamento de blocos de aplicativos adicionais

Você pode colocar quantos aplicativos com uma exibição 2D quiser em seu mundo com as APIs de Bloco Secundário. Esses blocos "fixados" aparecerão como telas iniciais que os usuários devem colocar e depois podem usar 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 exibições

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

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 como SwitchAsync ao alternar do modo de exibição XAML para o modo de exibição imersivo, ou a faixa que iniciou o aplicativo será removida do mundo.
  • SwitchAsync deve ser chamado usando o Dispatcher associado à exibição para a qual você está alternando.
  • Você precisará SwitchAsync 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 imersivas Quando um aplicativo entra em uma exibição imersiva, o mundo misto e outros aplicativos desaparecem
Esquerda: os aplicativos podem alternar entre a visualização 2D e a visualização imersiva. Direita: quando um aplicativo entra em uma exibição imersiva, a página inicial do Windows Mixed Reality e outros aplicativos desaparecem.

Alternando da exibição imersiva de volta para uma exibição XAML do teclado

Um motivo comum para alternar entre exibições é exibir um teclado em um aplicativo de realidade misturada. O shell só é capaz de exibir o teclado do sistema se o aplicativo estiver mostrando uma 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 voltar depois que a entrada for concluída.

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

Tamanho do aplicativo

As exibições de aplicativos 2D sempre aparecem em uma faixa virtual fixa. Isso faz com que todas as visualizações 2D mostrem exatamente a mesma quantidade de conteúdo. Veja mais alguns detalhes sobre o tamanho da visualização 2D do seu aplicativo:

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

Aplicativos 2D aparecem com tamanhos de janela fixos
Aplicativos com uma visualizaçã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 do Windows Mixed Reality
O menu Iniciar do Windows Mixed Reality

Interações de aplicativo para aplicativo

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

Para headsets de desktop, 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 na faixa da área de trabalho.

Protocolos

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

Há algumas coisas a serem consideradas 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 a 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, incluindo 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
Photos bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

Contratos de aplicativo e extensões do Windows Mixed Reality

Os contratos de aplicativo e os pontos de extensão permitem que você registre seu aplicativo para aproveitar os 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 com e sem suporte e pontos de extensão 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) Parcialmente suportado (nem todos os gatilhos funcionam)
Tarefa de atualização (extensão) Com suporte
Contrato do atualizador de arquivos 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 de Abertura 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
Contrato Play To Sem suporte
Tarefa de configuração pré-instalada Sem suporte
Imprimir fluxo de trabalho 3D Com suporte
Configurações da tarefa de impressão (extensão) Sem suporte
Ativação de URI (extensão) Com suporte
Lançamento restrito Sem suporte
Contrato de pesquisa Sem suporte
Contrato de configurações Sem suporte
Contrato de ações Sem suporte
SSL/certificados (extensão) Com suporte
Provedor de conta da Web Com suporte

Armazenamento de arquivos de aplicativos

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

Pastas conhecidas

Consulte KnownFolders para obter todos os detalhes dos aplicativos UWP.

Propriedade Com suporte no HoloLens Compatível com headsets imersivos Descrição
AppCaptures✔️✔️Obtém a pasta Capturas de Aplicativo.
Rolo de câmera✔️✔️Obtém a pasta Rolo da Câmera.
Biblioteca de Documentos✔️✔️Obtém a biblioteca de documentos. A biblioteca de documentos não se destina ao uso geral.
Biblioteca de Música✔️✔️Obtém a biblioteca de músicas.
Objetos3D✔️✔️Obtém a pasta Objetos 3D.
Biblioteca de Imagens✔️✔️Obtém a biblioteca de imagens.
Listas de reprodução✔️✔️Obtém a pasta de listas de reprodução.
Imagens salvas✔️✔️Obtém a pasta Imagens salvas.
VídeosBiblioteca✔️✔️Obtém a biblioteca de vídeos.
Grupo Doméstico✔️Obtém a pasta Grupo Doméstico.
Dispositivos de servidor de mídia✔️Obtém a pasta de dispositivos do servidor de mídia (Digital Living Network Alliance (DLNA)).
Chamadas gravadas✔️Obtém a pasta de chamadas gravadas.
Dispositivos removíveis✔️Obtém a pasta de dispositivos removíveis.

Pacote do Aplicativo

Com o Windows 10, você não direciona mais um sistema operacional, mas 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 que você pode esperar em todos os dispositivos dentro da 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 fones de ouvido para desktop, 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