Introdução ao OpenXRGetting started with OpenXR

Você pode desenvolver usando OpenXR em um headset de imersão de realidade 2 ou Windows misto na área de trabalho.You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. Se você não tiver acesso a um headset, poderá usar o emulador do HoloLens 2 ou o simulador de realidade mista do Windows.If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

Introdução ao OpenXR para o HoloLens 2Getting started with OpenXR for HoloLens 2

Para começar a desenvolver aplicativos OpenXR para o HoloLens 2:To start developing OpenXR applications for HoloLens 2:

  1. Configure um HoloLens 2 ou siga as instruções para instalar uma versão recente do emulador do HoloLens 2.Set up a HoloLens 2 or follow the instructions to install a recent version of the HoloLens 2 emulator. Se o seu dispositivo atualizou seu sistema operacional recentemente ou se você estiver usando uma imagem de emulador recente, você já deve ter o OpenXR 1,0 pronto para começar.If your device has updated its OS recently or if you're using a recent emulator image, you should already have OpenXR 1.0 ready to go.
  2. Para verificar se você tem o tempo de execução OpenXR mais recente com todas as extensões presentes, inicie o aplicativo da loja de dentro do dispositivo ou emulador, abra o menu no canto superior direito, clique em downloads e atualizações e clique em obter atualizações.To make sure you've got the latest OpenXR runtime with all extensions present, launch the Store app from within the device or emulator, open the menu in the upper-right, click Downloads and updates and click Get updates. Isso garante que o tempo de execução do OpenXR em seu HoloLens esteja atualizado.This ensures that the OpenXR runtime on your HoloLens is up to date. Observe que, se você estiver usando o emulador, a imagem do emulador será redefinida sempre que você iniciá-la e, portanto, sua melhor aposta é apenas verificar se você tem a versão mais recente da imagem do emulador do HoloLens 2.Note that if you're using the emulator, the emulator image will reset each time you start it, and so your best bet is to just make sure that you have the latest version of the HoloLens 2 emulator image.

Introdução ao OpenXR for Windows Mixed realness headsetsGetting started with OpenXR for Windows Mixed Reality headsets

Para começar a desenvolver aplicativos OpenXR para headsets de imersão misturadas do Windows:To start developing OpenXR applications for immersive Windows Mixed Reality headsets:

  1. Verifique se você está executando pelo menos o Windows 10 pode 2019 atualização (1903), que é o requisito mínimo para que os usuários finais da realidade mista do Windows executem aplicativos OpenXR.Be sure you are running at least the Windows 10 May 2019 Update (1903), which is the minimum requirement for Windows Mixed Reality end users to run OpenXR applications. Se você estiver em uma versão anterior do Windows 10, poderá atualizar usando o assistente de atualização do Windows 10.If you're on an earlier version of Windows 10, you can upgrade by using the Windows 10 Update Assistant.
  2. Configure um headset de realidade mista do Windows ou siga as instruções para habilitar o simulador de realidade mista do Windows.Set up a Windows Mixed Reality headset or follow the instructions to enable the Windows Mixed Reality simulator.

É isso!That's it! O tempo de execução do Windows Mixed Reality OpenXR é instalado e torna-se ativo automaticamente para todos os usuários do Windows Mixed Reality.The Windows Mixed Reality OpenXR runtime is installed and made active automatically for all Windows Mixed Reality users. O Microsoft Store mantém o tempo de execução atualizado.The Microsoft Store then keeps the runtime up to date.

Se você precisar tornar o tempo de execução do Windows Mixed Reality OpenXR ativo novamente, inicie o portal de realidade misturada no menu Iniciar, clique no botão... no canto inferior esquerdo e selecione "configurar OpenXR".If you ever need to make the Windows Mixed Reality OpenXR Runtime active again, launch Mixed Reality Portal from the Start menu, click the ... menu in the lower-left and select "Set up OpenXR". Se esse item de menu estiver ausente, o tempo de execução do OpenXR já estará ativo.If that menu item is missing, the OpenXR runtime is already active.
Configurando o OpenXR no portal de realidade misturadaSetting up OpenXR in the Mixed Reality Portal

Obtendo o OpenXR da realidade mista do Windows Ferramentas para DesenvolvedoresGetting the Windows Mixed Reality OpenXR Developer Tools

Para experimentar o tempo de execução do Windows Mixed Reality OpenXR, você pode instalar o aplicativo OpenXR ferramentas para desenvolvedores de realidade misturada.To try out the Windows Mixed Reality OpenXR Runtime, you can install the Mixed Reality OpenXR Developer Tools app. Esse aplicativo fornece uma cena de demonstração que exercita vários recursos do OpenXR, juntamente com uma página de status do sistema que fornece informações importantes sobre o tempo de execução ativo e o headset atual.This app provides a demo scene that exercises various features of OpenXR, along with a System Status page that provides key information about the active runtime and the current headset.

Se estiver usando o emulador do HoloLens 2, a maneira mais fácil de instalar a realidade misturada OpenXR Ferramentas para Desenvolvedores está usando o portal de dispositivo do Windows, navegando até a página "OpenXR" e clicando no botão "instalar" em "recursos do desenvolvedor".If using the HoloLens 2 emulator, the easiest way to install the Mixed Reality OpenXR Developer Tools is using Windows Device Portal, by navigating to the "OpenXR" page and then clicking the "Install" button under "Developer Features". (isso funciona em um dispositivo físico do HoloLens 2 também)(this works on a physical HoloLens 2 device as well)

Aplicativo OpenXR Ferramentas para Desenvolvedores de realidade misturada

Criando um aplicativo OpenXR de exemploBuilding a sample OpenXR app

Certifique-se de instalar as ferramentas necessárias para o desenvolvimento do OpenXR, caso ainda não tenha feito isso.Be sure to install the tools you'll need for OpenXR development if you haven't already.

O projeto BasicXrApp demonstra um exemplo de OpenXR simples com dois arquivos de projeto do Visual Studio, um para um aplicativo da área de trabalho Win32 e outro para um aplicativo HoloLens 2 da UWP.The BasicXrApp project demonstrates a simple OpenXR sample with two Visual Studio project files, one for both a Win32 desktop app and one for a UWP HoloLens 2 app. Como a solução contém um projeto UWP do HoloLens, você precisará do plataforma universal do Windows carga de trabalho de desenvolvimento instalada no Visual Studio para abri-lo totalmente.Because the solution contains a HoloLens UWP project, you'll need the Universal Windows Platform development workload installed in Visual Studio to fully open it.

Observe que, embora os arquivos de projeto Win32 e UWP sejam separados devido a diferenças no empacotamento e na implantação, o código do aplicativo dentro de cada projeto é quase exatamente o mesmo!Note that while the Win32 and UWP project files are separate due to differences in packaging and deployment, the app code inside each project is almost exactly the same!

Depois de criar uma área de trabalho do Win32 do OpenXR. EXE, você pode usá-lo com um headset de VR em qualquer plataforma de VR de área de trabalho que dê suporte a OpenXR, seja um headset de realidade mista do Windows ou qualquer outro headset.After building an OpenXR Win32 desktop .EXE, you can use it with a VR headset on any desktop VR platform that supports OpenXR, whether it's a Windows Mixed Reality headset or any other headset.

Depois de criar um pacote de aplicativo OpenXR UWP, você pode implantar esse pacote em um dispositivo do hololens 2 ou no emulador do hololens 2.After building an OpenXR UWP app package, you can deploy that package to either a HoloLens 2 device or the HoloLens 2 Emulator.

Integrar o carregador do OpenXR a um projetoIntegrate the OpenXR loader into a project

Para começar a usar o OpenXR em um projeto existente, você incluirá o carregador do OpenXR.To get started with OpenXR in an existing project, you'll include the OpenXR loader. O carregador descobre o tempo de execução do OpenXR ativo no dispositivo e fornece acesso às funções principais e às funções de extensão que ele implementa.The loader discovers the active OpenXR runtime on the device and provides access to the core functions and extension functions that it implements.

Você pode fazer referência ao pacote OpenXR do NuGet oficial do seu projeto do Visual Studio ou incluir a origem do carregador OpenXR oficial do repositório GitHub do Khronos.You can either reference the official OpenXR NuGet package from your Visual Studio project or include the official OpenXR loader source from the Khronos GitHub repo. Qualquer uma das abordagens fornecerá acesso aos recursos principais do OpenXR 1,0, mais publicados KHR EXT e MSFT extensões.Either approach will give you access to OpenXR 1.0 core features, plus published KHR, EXT and MSFT extensions.

Se você estiver interessado em experimentar MSFT_preview extensões também, poderá copiar os cabeçalhos de OpenXR de visualização do repositório GitHub de realidade misturada.If you're interested to experiment with MSFT_preview extensions as well, you can copy in preview OpenXR headers from the Mixed Reality GitHub repo.

OpenXR pacote NuGet oficial de referênciaReference official OpenXR NuGet package

O pacote NuGet OpenXR. Loader é a maneira mais fácil de fazer referência a um carregador OpenXR pré-criado. DLL em sua solução do Visual Studio C++.The OpenXR.Loader NuGet package is the easiest way to reference a prebuilt OpenXR loader .DLL in your Visual Studio C++ solution. Isso dará acesso aos recursos principais do OpenXR 1,0, mais publicados KHR EXT e MSFT extensões.This will give you access to OpenXR 1.0 core features, plus published KHR, EXT and MSFT extensions.

Para adicionar uma referência de pacote NuGet OpenXR. Loader à sua solução do Visual Studio C++:To add an OpenXR.Loader NuGet package reference to your Visual Studio C++ solution:

  1. Em Gerenciador de soluções, clique com o botão direito do mouse no projeto que usará OpenXR e selecione gerenciar pacotes NuGet....In Solution Explorer, right-click the project that will use OpenXR and select Manage NuGet Packages....
  2. Alterne para a guia procurar e procure OpenXR. Loader.Switch to the Browse tab and search for OpenXR.Loader.
  3. Selecione o pacote OpenXR. Loader e clique em instalar no painel de detalhes à direita.Select the OpenXR.Loader package and click Install in the details pane to the right.
  4. Clique em OK para aceitar as alterações em seu projeto.Click OK to accept the changes to your project.
  5. Adicione #include <openxr/openxr.h> a um arquivo de origem para começar a usar a API OpenXR.Add #include <openxr/openxr.h> to a source file to start using the OpenXR API.

Para ver um exemplo da API OpenXR em ação, confira o aplicativo de exemplo BasicXrApp .To see an example of the OpenXR API in action, check out the BasicXrApp sample app.

Incluir origem do carregador de OpenXR oficialInclude official OpenXR loader source

Se você quiser criar o carregador por conta própria, por exemplo, para evitar o carregador extra. DLL, você pode extrair as fontes oficiais do Khronos OpenXR Loader para seu projeto.If you want to build the loader yourself, for example to avoid the extra loader .DLL, you can pull the official Khronos OpenXR loader sources into your project. Isso dará acesso aos recursos principais do OpenXR 1,0, mais publicados KHR EXT e MSFT extensões.This will give you access to OpenXR 1.0 core features, plus published KHR, EXT and MSFT extensions.

Para começar aqui, siga as instruções no repositório Khronos OpenXR-SDK no GitHub.To get started here, follow the instructions in the Khronos OpenXR-SDK repo on GitHub. O projeto é configurado para compilar com CMake-se você estiver usando o MSBuild, será necessário copiar para o código em seu próprio projeto.The project is set up to build with CMake - if you are using MSBuild, you will need to copy to the code into your own project.

Usando extensões de visualizaçãoUsing preview extensions

As MSFT_preview extensões listadas no roteiro de extensão são extensões experimentais do fornecedor sendo visualizadas para coletar comentários.The MSFT_preview extensions listed in the extension roadmap are experimental vendor extensions being previewed to gather feedback. Essas extensões são apenas para dispositivos de desenvolvedor e serão removidas quando a extensão real for entregue.These extensions are for developer devices only and will be removed when the real extension ships.

Se você estiver interessado em experimentar as extensões disponíveis MSFT_preview , siga as etapas a seguir para atualizar seu projeto:If you're interested to try out the available MSFT_preview extensions, go through the following steps to update your project:

  1. Siga uma das abordagens acima para integrar um carregador de OpenXR ao seu projeto.Follow either of the approaches above to integrate an OpenXR loader into your project.
  2. Substitua os cabeçalhos OpenXR padrão em seu projeto pelos cabeçalhos de visualização do repositório OpenXR da realidade misturada no GitHub.Replace the standard OpenXR headers in your project with the preview headers from the Mixed Reality OpenXR repo on GitHub.

Para ativar o suporte de extensão de visualização no seu PC de destino 2 ou computador desktop:To then activate preview extension support on your target HoloLens 2 or desktop PC:

  1. Para verificar se você tem o tempo de execução OpenXR mais recente com todas as extensões presentes, inicie o aplicativo da loja de dentro do dispositivo ou emulador de destino, abra o menu no canto superior direito, clique em downloads e atualizações e clique em obter atualizações.To make sure you've got the latest OpenXR runtime with all extensions present, launch the Store app from within the target device or emulator, open the menu in the upper-right, click Downloads and updates and click Get updates.
  2. Habilitar o portal de dispositivos do Windows no dispositivo de destino:Enable Windows Device Portal on the target device:
    • Se o dispositivo de destino for um dispositivo de HoloLens 2, siga estas instruções no dispositivo de destino.If your target device is a HoloLens 2 device, follow these instructions on the target device. Observe que isso requer um headset físico, uma vez que um problema conhecido no emulador do HoloLens 2 impedirá que a interface do usuário na próxima etapa apareça no emulador.Note that this requires a physical headset, as a known issue in the HoloLens 2 emulator will prevent the UI in the next step from appearing in the emulator.
    • Se o seu dispositivo de destino for um PC desktop com um fone de ouvido de imersão anexado, siga estas instruções no computador desktop de destino.If your target device is a desktop PC with an immersive headset peripheral attached, follow these instructions on the target desktop PC.
  3. Navegue até a guia OpenXR no painel esquerdo e habilite usar o tempo de execução do OpenXR de visualização mais recente.Navigate to the OpenXR tab in the left pane and enable Use latest preview OpenXR runtime. Isso habilita o tempo de execução de visualização em seu dispositivo, que tem extensões de visualização ativadas.This enables the preview runtime on your device, which has preview extensions activated. Caixa de seleção tempo de execução do portal do dispositivo OpenXR PreviewDevice Portal OpenXR preview runtime checkbox
  4. Confirme se a versão de tempo de execução mostrada na guia status do sistema do Windows Mixed Reality OpenXR ferramentas para desenvolvedores agora corresponde à versão necessária das extensões de visualização que você planeja experimentar.Confirm that the Runtime version shown on the System Status tab of the Windows Mixed Reality OpenXR Developer Tools now matches the required version of the preview extensions you plan to try. Nesse caso, você deve ver a extensão na lista de extensões .If so, you should see the extension in the Extensions list. Observe que, uma vez que uma extensão estável está disponível, sua extensão de visualização será removida.Note that once a stable extension is available, its preview extension will be removed.
    OpenXR de realidade misturada Ferramentas para Desenvolvedores guia status do sistema de aplicativoMixed Reality OpenXR Developer Tools app System Status tab

Consulte o repositório OpenXR de realidade misturada para obter a documentação dessas extensões de visualização e exemplos de como usá-las.See the Mixed Reality OpenXR repo for documentation of these preview extensions and samples of how to use them.

Solução de problemasTroubleshooting

Se você tiver problemas para entrar em funcionamento com o desenvolvimento do OpenXR, confira nossas dicas de solução de problemas.If you have trouble getting up and running with OpenXR development, check out our troubleshooting tips.