Códigos QR no UnrealQR codes in Unreal

Visão geralOverview

O HoloLens 2 pode ver códigos QR no espaço de mundo usando a webcam, que os renderiza como hologramas usando um sistema de coordenadas na posição de cada código no mundo real.The HoloLens 2 can see QR codes in world space using the webcam, which renders them as holograms using a coordinate system at each code's real-world position. Além de códigos QR individuais, o HoloLens 2 também pode renderizar hologramas em vários dispositivos no mesmo local para criar uma experiência compartilhada.In addition to single QR codes, HoloLens 2 can also render holograms in the same location on multiple devices to create a shared experience. Verifique se você está seguindo as melhores práticas para adicionar códigos QR aos aplicativos:Make sure you're following the best practices for adding QR codes to your applications:

  • Zonas silenciosasQuiet zones
  • Iluminação e pano de fundoLighting and backdrop
  • Tamanho, distância e posição angularSize, distance, and angular position

Preste atenção especial às considerações sobre o ambiente quando os códigos QR estiverem sendo posicionados em seu aplicativo.Pay special attention to the environment considerations when QR codes are being placed in your app. Você pode encontrar mais informações sobre cada um desses tópicos e instruções sobre como baixar o pacote NuGet necessário no documento principal rastreamento de código QR.You can find more information on each of these topics and instructions on how to download the required NuGet package in the main QR code tracking document.

Como habilitar a detecção de QREnabling QR detection

Como o HoloLens 2 precisa usar a webcam para ver os códigos QR, você precisará habilitá-la nas configurações do projeto:Since the HoloLens 2 needs to use the webcam to see QR codes, you'll need to enable it in the project settings:

  • Abra Editar > Configurações do Projeto, role até a seção Plataformas e clique em HoloLens.Open Edit > Project Settings, scroll to the Platforms section and click HoloLens.
    • Expanda a seção Funcionalidades e marque Webcam.Expand the Capabilities section and check Webcam.  

Você também precisará aceitar o controle de código QR adicionando um ativo ARSessionConfig.You'll also need to opt into QR code tracking by adding an ARSessionConfig asset.

Logo antes do uso, habilite manualmente o rastreamento chamando UHoloLensARFunctionLibrary::StartQRCodeCapture().Right before the usage, you should manually enable the tracking by calling UHoloLensARFunctionLibrary::StartQRCodeCapture(). Depois de encerrar o rastreamento do código QR, desabilite-o com UHoloLensARFunctionLibrary::StopCameraCapture() para salvar os recursos do dispositivo.After ending the QR code tracking, you should disable it by UHoloLensARFunctionLibrary::StopCameraCapture() to save the device resources.

Configurar uma imagem rastreadaSetting up a tracked image

Os códigos QR são exibidos por meio do sistema de geometria controlado pelo RA do Unreal como uma imagem rastreada.QR codes are surfaced through Unreal’s AR tracked geometry system as a tracked image. Para fazer isso funcionar, você precisará:To get this working, you'll need to:

  1. Criar um Blueprint e adicionar um componente ARTrackableNotify a ele.Create a Blueprint and add an ARTrackableNotify component.

AR Trackable Notify de QR

  1. Selecione ARTrackableNotify e expanda a seção Eventos no painel Detalhes.Select ARTrackableNotify and expand the Events section in the Details panel.

Eventos de QR

  1. Clique em + ao lado de Ao Adicionar Geometria Rastreada para adicionar o nó ao Grafo de Eventos.Click + next to On Add Tracked Geometry to add the node to the Event Graph.

Exemplo de renderização de QR

Como usar uma imagem rastreadaUsing a tracked image

O Grafo de Eventos na imagem a seguir mostra o evento OnUpdateTrackedImage que está sendo usado para processar um ponto no centro de um código QR e imprimir os dados desse código.The Event Graph in the following image shows the OnUpdateTrackedImage event being used to render a point in the center of a QR code and print out its data.

Exemplo de renderização de QR

Isto é o que está acontecendo:Here's what's going on:

  1. Primeiro, a imagem rastreada é convertida em um ARTrackedQRCode para verificar se a imagem atualizada atual é um código QR.First, the tracked image is cast to an ARTrackedQRCode to check that the current updated image is a QR code.
  2. Os dados codificados são recuperados da variável QRCode.The encoded data is retrieved from the QRCode variable. Com o local de GetLocalToWorldTransform, é possível obter as coordenadas do canto superior esquerdo do código QR; já com GetEstimateSize, é possível obter as dimensões desse código.You can get the top-left of the QR code from the location of GetLocalToWorldTransform and the dimensions with GetEstimateSize.

Você também pode obter o sistema de coordenadas de um código QR no código.You can also get the coordinate system for a QR code in code.

Como localizar a ID exclusivaFinding the unique ID

Todo código QR tem uma ID GUID exclusiva, que pode ser encontrada:Every QR code has a unique guid ID, which you can find by:

  • Arrastando e soltando o marcador Como QRCode ARTracked e pesquisando por Obter ID Exclusiva.Dragging and dropping the As ARTracked QRCode pin and searching for Get Unique ID.

GUID de QR

Há muita coisa acontecendo nos bastidores envolvendo códigos QR, portanto, esse não é o fim da linha.There's a lot going on behind the scenes with QR codes, so this isn't the end of the road. Não deixe de conferir os links a seguir para obter mais detalhes sobre o que está acontecendo nos bastidores.Be sure to check out the following links for more details on what's under the hood.

Veja tambémSee also