Como atualizar aplicativos UWP 2D para o Windows Mixed Reality

Windows Mixed Reality permite que os usuários vejam hologramas como se estivessem ao redor deles no mundo físico e digital. Em sua essência, tanto o HoloLens quanto os computadores desktop aos quais você anexa acessórios imersivos de headset são Windows 10 dispositivos. Você pode executar quase todos os aplicativos de Plataforma Universal do Windows (UWP) na Store como aplicativos 2D.

Criando um aplicativo UWP 2D para realidade misturada

A primeira etapa para trazer um aplicativo 2D para headsets de realidade misturada é fazer com que seu aplicativo seja executado como um aplicativo 2D padrão no monitor da área de trabalho.

Criando um novo aplicativo UWP 2D

Para criar um novo aplicativo 2D para realidade misturada, você cria um aplicativo UWP (standard 2D Plataforma Universal do Windows). Nenhuma outra alteração de aplicativo é necessária para que esse aplicativo seja executado como uma lousa em realidade misturada.

Para começar a criar um aplicativo UWP 2D, marcar o artigo Criar seu primeiro aplicativo.

Trazendo um aplicativo existente da 2D Store para a UWP

Se você já tiver um aplicativo 2D do Windows na Store, verifique se ele está direcionando o Windows 10 Plataforma Universal do Windows (UWP). Aqui estão todos os pontos de partida potenciais que você pode ter com seu aplicativo da Store hoje:

Ponto inicial Destino da Plataforma de Manifesto do AppX Como tornar isso Universal?
Windows Phone (Silverlight) Manifesto do Aplicativo Silverlight Migrar para o WinRT
Windows Phone Universal 8.1 8.1 Manifesto do AppX que não inclui o destino da plataforma Migrar seu aplicativo para o Plataforma Universal do Windows
Windows Store 8 8 Manifesto AppX que não inclui o destino da plataforma Migrar seu aplicativo para o Plataforma Universal do Windows
Windows Store 8.1 Universal 8.1 Manifesto do AppX que não inclui o destino da plataforma Migrar seu aplicativo para o Plataforma Universal do Windows

Se você tiver um aplicativo do Unity 2D criado hoje como um aplicativo Win32 no computador, mac & destino de build autônomo do Linux, alterne para o destino de build Plataforma Universal do Windows para realidade misturada.

Falaremos sobre maneiras de restringir seu aplicativo especificamente ao HoloLens usando a família de dispositivos Windows.Holographic abaixo.

Executar seu aplicativo 2D em um headset imersivo Windows Mixed Reality

Se você implantou seu aplicativo 2D em um computador da área de trabalho e experimentou no monitor, está pronto para experimentá-lo em um headset de área de trabalho imersivo!

Basta acessar o menu Iniciar dentro do fone de ouvido de realidade misturada e iniciar o aplicativo a partir daí. O shell da área de trabalho e o shell holográfico compartilham o mesmo conjunto de aplicativos UWP e, portanto, o aplicativo já deve estar presente após a implantação do Visual Studio.

Direcionando headsets imersivos e HoloLens

Parabéns! Seu aplicativo agora está usando o Windows 10 Plataforma Universal do Windows (UWP).

Seu aplicativo agora é capaz de ser executado em dispositivos Windows atuais, como Desktop, Mobile, Xbox, Windows Mixed Reality headsets imersivos, HoloLens e futuros dispositivos Windows. No entanto, para realmente direcionar todos esses dispositivos, você precisará garantir que seu aplicativo esteja direcionando o Windows. Família de dispositivos universal.

Alterar sua família de dispositivos para Windows.Universal

Agora vamos entrar no manifesto do AppX para garantir que seu aplicativo UWP Windows 10 possa ser executado no HoloLens:

  • Abra o arquivo de solução do aplicativo com o Visual Studio e navegue até o manifesto do pacote do aplicativo
  • Clique com o botão direito do mouse no arquivo Package.appxmanifest em sua Solução e vá para Exibir Código
    package.appxmanifest no Gerenciador de Soluções
  • Verifique se a Plataforma de Destino é o Windows. Universal na seção dependências
    <Dependencies>
      <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
    </Dependencies>
    
  • Salvar!

Se você não usar o Visual Studio para seu ambiente de desenvolvimento, poderá abrir AppXManifest.xml no editor de texto de sua escolha para garantir que você esteja direcionando o Windows.UniversalTargetDeviceFamily.

Executar no Emulador do HoloLens

Agora que seu aplicativo UWP tem como destino "Windows.Universal", vamos compilar seu aplicativo e executá-lo no Emulador do HoloLens.

  • Verifique se você está instalado no Emulador do HoloLens.

  • No Visual Studio, selecione a configuração de build x86 para seu aplicativo

    Configuração de build x86 no Visual Studio

  • Selecione Emulador do HoloLens no menu suspenso do destino de implantação

    Emulador do HoloLens na lista de destino de implantação

  • Selecione Depurar > Iniciar Depuração para implantar seu aplicativo e iniciar a depuração.

  • O emulador iniciará e executará seu aplicativo.

  • Com um teclado, mouse e um controlador Xbox, coloque seu aplicativo no mundo para iniciá-lo.

    Emulador do HoloLens carregado com um exemplo de UWP

Próximas etapas

Neste ponto, uma das duas coisas pode acontecer:

  1. Seu aplicativo mostrará seu splash e começará a ser executado depois que ele for colocado no Emulador! Maravilha!
  2. Ou depois de ver uma animação de carregamento para um holograma 2D, o carregamento será interrompido e você verá seu aplicativo na tela inicial. Isso significa que algo deu errado e será preciso mais investigação para entender como dar vida ao seu aplicativo em Realidade Misturada.

Você precisará depurar para acessar a raiz de possíveis problemas que estão impedindo o aplicativo UWP de iniciar no HoloLens.

Executando seu aplicativo UWP no depurador

Essas etapas orientarão você na depuração do aplicativo UWP usando o depurador do Visual Studio.

  • Se você ainda não fez isso, abra sua solução no Visual Studio. Altere o destino para o Emulador do HoloLens e a configuração de build para x86.
  • Selecione Depurar > Iniciar Depuração para implantar seu aplicativo e iniciar a depuração.
  • Coloque o aplicativo no mundo com o mouse, o teclado ou o controlador do Xbox.
  • Agora, o Visual Studio deve interromper em algum lugar no código do aplicativo.
    • Se o aplicativo não falhar imediatamente ou invadir o depurador devido a um erro sem tratamento, passe por uma passagem de teste dos principais recursos do aplicativo para garantir que tudo esteja em execução e funcional. Você pode ver erros como na foto abaixo (exceções internas que estão sendo tratadas). Para garantir que você não perca erros internos que afetam a experiência do aplicativo, execute seus testes automatizados e testes de unidade para garantir que tudo se comporte conforme o esperado.

Emulador do HoloLens carregado com um exemplo UWP mostrando uma exceção do sistema

Atualizar sua interface do usuário

Agora que seu aplicativo UWP está sendo executado em headsets imersivos e HoloLens como um holograma 2D, em seguida, garantiremos que ele fique bonito. Estas são algumas coisas que você deve considerar:

  • Windows Mixed Reality executará todos os aplicativos 2D em uma resolução fixa e DPI que equivale a 853 x 480 pixels efetivos. Considere se seu design precisa de refinamento nessa escala e examine as diretrizes de design abaixo para melhorar sua experiência no HoloLens e headsets imersivos.
  • Windows Mixed Reality não dá suporte a blocos dinâmicos 2D. Se sua funcionalidade principal estiver mostrando informações sobre um bloco dinâmico, considere mover essas informações de volta para seu aplicativo ou explorar inicializadores de aplicativos 3D.

Fator de escala e resolução de exibição de aplicativo 2D

Do design responsivo

Windows 10 move todo o design visual de pixels de tela reais para pixels eficazes. Isso significa que os desenvolvedores projetam sua interface do usuário seguindo as diretrizes de interface humana Windows 10 para pixels eficazes e o dimensionamento do Windows garante que esses pixels eficazes sejam do tamanho certo para usabilidade entre dispositivos, resoluções, DPI e assim por diante. Confira esta ótima leitura sobre o MSDN e esta apresentação build para obter mais informações.

Mesmo com a capacidade exclusiva de colocar aplicativos em seu mundo a uma variedade de distâncias, distâncias de exibição semelhantes à TV são recomendadas para produzir a melhor legibilidade e interação com foco/gesto. Por isso, uma lousa virtual na Página Inicial do Realidade Misturada exibirá sua exibição UWP simples em:

1280x720, 150%DPI (853x480 pixels efetivos)

Essa resolução tem várias vantagens:

  • Esse layout de pixel efetivo terá a mesma densidade de informações que um tablet ou área de trabalho pequena.
  • Ele corresponde ao DPI fixo e pixels eficazes para aplicativos UWP em execução no Xbox One, permitindo experiências perfeitas entre dispositivos.
  • Esse tamanho fica bom quando dimensionado em nosso intervalo de distâncias operacionais para aplicativos no mundo.

Práticas recomendadas de design da interface de exibição de aplicativo 2D

O que fazer:

  • Siga as diretrizes de interface humana do Windows 10 (HIG) para estilos, tamanhos de fonte e tamanhos de botão. O HoloLens fará o trabalho para garantir que seu aplicativo tenha padrões de aplicativo compatíveis, tamanhos de texto legíveis e dimensionamento de destino de ocorrência apropriado.
  • Verifique se a interface do usuário segue as melhores práticas de design responsivo para ter a melhor aparência da resolução exclusiva e do DPI do HoloLens.
  • Use as recomendações de tema de cores "claras" do Windows.

O que não fazer:

  • Altere sua interface do usuário muito drasticamente quando estiver em realidade misturada, para garantir que os usuários tenham uma experiência familiar dentro e fora do fone de ouvido.

Entender o modelo de aplicativo

O modelo de aplicativo para realidade misturada foi projetado para usar o Realidade Misturada Home, em que muitos aplicativos vivem juntos. Pense nisso como o equivalente de realidade misturada da área de trabalho, em que você executa muitos aplicativos 2D ao mesmo tempo. Isso tem implicações no ciclo de vida do aplicativo, blocos e outros recursos principais do seu aplicativo.

Barra de aplicativos e botão Voltar

As exibições 2D são decoradas com uma barra de aplicativos acima do conteúdo. A barra de aplicativos tem dois pontos de personalização específica do aplicativo:

Título: exibe o nome de exibição do bloco associado à instância do aplicativo

Botão Voltar: aciona o evento BackRequested quando pressionado. A visibilidade do Botão Voltar é controlada por SystemNavigationManager.AppViewBackButtonVisibility.

Interface do usuário da barra de aplicativos na exibição de aplicativo 2D
Interface do usuário da barra de aplicativos na exibição de aplicativo 2D

Testar o design do aplicativo 2D

É importante testar seu aplicativo para garantir que o texto seja legível, que os botões sejam direcionados e que o aplicativo geral pareça correto. Você pode testar em um headset da área de trabalho, um HoloLens, um emulador ou um dispositivo touch com resolução definida como 1280x720 @150%.

Novas possibilidades de entrada

O HoloLens usa sensores de profundidade avançados para ver o mundo e ver os usuários. Isso permite gestos avançados de mão, como bloom e air-tap. Microfones poderosos também permitem experiências de voz.

Com os headsets da área de trabalho, os usuários podem usar controladores de movimento para apontar para aplicativos e tomar medidas. Eles também podem usar um gamepad, direcionando objetos com seu olhar.

O Windows cuida de toda essa complexidade para aplicativos UWP, traduzindo seu foco, gestos, voz e entrada do controlador de movimento para eventos de ponteiro que abstraem o mecanismo de entrada. Por exemplo, um usuário pode ter feito um toque de ar com a mão ou puxado o gatilho Select em um controlador de movimento, mas os aplicativos 2D não precisam saber de onde a entrada veio - eles apenas vêem uma tecla de toque 2D, como se estivesse em uma tela touch.

Aqui estão os conceitos/cenários de alto nível que você deve entender para entrada ao trazer seu aplicativo UWP para o HoloLens:

  • O foco se transforma em eventos de foco, que podem disparar inesperadamente menus, submenus ou outros elementos da interface do usuário para aparecer apenas olhando ao redor do aplicativo.
  • O foco não é tão preciso quanto a entrada do mouse. Use destinos de ocorrência dimensionados adequadamente para o HoloLens, semelhante a aplicativos móveis sensíveis ao toque. Elementos pequenos próximos às bordas do aplicativo são especialmente difíceis de interagir.
  • Os usuários devem alternar os modos de entrada para passar da rolagem para a arrastar para o movimento panorâmico de dois dedos. Se seu aplicativo foi projetado para entrada por toque, considere garantir que nenhuma funcionalidade principal esteja bloqueada atrás do movimento panorâmico de dois dedos. Nesse caso, considere ter mecanismos de entrada alternativos, como botões, que podem iniciar o movimento panorâmico de dois dedos. Por exemplo, o aplicativo Mapas pode aplicar zoom com movimento panorâmico de dois dedos, mas tem um botão de adição, menos e girar para simular as mesmas interações de zoom com cliques únicos.

A entrada de voz é uma parte crítica da experiência de realidade misturada. Habilitamos todas as APIs de fala que estão em Windows 10 ligar a Cortana ao usar um headset.

Publicar e manter seu aplicativo Universal

Depois que o aplicativo estiver em execução, empacote seu aplicativo para enviá-lo à Microsoft Store.

Confira também