Unreal의 QR 코드QR codes in Unreal

개요Overview

HoloLens 2는 웹캠을 사용하여 세계 공간에서 QR 코드를 볼 수 있습니다. 즉, 각 코드의 실세계 위치에서 좌표계를 사용하여 스스로를 홀로그램으로 렌더링합니다.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. HoloLens 2는 단일 QR 코드 외에도, 공유 경험을 만들기 위해 여러 디바이스에서 동일한 위치에 홀로그램을 렌더링할 수 있습니다.In addition to single QR codes, HoloLens 2 can also render holograms in the same location on multiple devices to create a shared experience. 애플리케이션에 QR 코드를 추가하기 위한 모범 사례를 따라야 합니다.Make sure you're following the best practices for adding QR codes to your applications:

  • 자동 영역Quiet zones
  • 조명 및 배경Lighting and backdrop
  • 크기, 거리 및 각도 위치Size, distance, and angular position

QR 코드가 앱에 배치될 때 환경 고려 사항에 특히 주의해야 합니다.Pay special attention to the environment considerations when QR codes are being placed in your app. 이러한 각각의 토픽에 대한 자세한 정보와 필요한 NuGet 패키지를 다운로드하는 방법에 대한 지침은 주 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.

QR 검색 사용Enabling QR detection

HoloLens 2는 웹캠을 사용하여 QR 코드를 확인해야 하므로 프로젝트 설정에서 사용하도록 설정해야 합니다.Since the HoloLens 2 needs to use the webcam to see QR codes, you'll need to enable it in the project settings:

  • 편집 > 프로젝트 설정을 열고 플랫폼 섹션까지 아래로 스크롤한 다음, HoloLens를 클릭합니다.Open Edit > Project Settings, scroll to the Platforms section and click HoloLens.
    • 기능 섹션을 확장하고 웹캠을 선택합니다.Expand the Capabilities section and check Webcam.  

또한 ARSessionConfig 자산을 추가하여 QR 코드 추적을 옵트인해야 합니다.You'll also need to opt into QR code tracking by adding an ARSessionConfig asset.

사용 직전에 UHoloLensARFunctionLibrary::StartCameraCapture()를 호출하여 추적을 수동으로 사용하도록 설정해야 합니다.Right before the usage, you should manually enable the tracking by calling UHoloLensARFunctionLibrary::StartCameraCapture(). QR 코드 추적을 종료한 후에는 UHoloLensARFunctionLibrary::StopCameraCapture()를 통해 QR 코드 추적을 사용하지 않도록 설정하고 디바이스 리소스를 저장해야 합니다.After ending the QR code tracking, you should disable it by UHoloLensARFunctionLibrary::StopCameraCapture() to save the device resources.

추적 이미지 설정Setting up a tracked image

QR 코드는 Unreal의 AR 추적 기하 도형 시스템을 통해 추적 이미지로 표시됩니다.QR codes are surfaced through Unreal’s AR tracked geometry system as a tracked image. 이 작업을 수행하려면 다음을 수행해야 합니다.To get this working, you'll need to:

  1. 청사진을 만들고 ARTrackableNotify 구성 요소를 추가합니다.Create a Blueprint and add an ARTrackableNotify component.

QR AR 추적 가능 알림

  1. ARTrackableNotify를 선택하고 세부 정보 패널에서 이벤트 섹션을 확장합니다.Select ARTrackableNotify and expand the Events section in the Details panel.

QR 이벤트

  1. 추적 기하 도형 추가 옆의 + 를 클릭하여 이벤트 그래프에 추가합니다.Click + next to On Add Tracked Geometry to add the node to the Event Graph.

추적된 기하 도형 추가 시 노드 추가

추적 이미지 사용Using a tracked image

다음 이미지의 이벤트 그래프는 QR 코드의 가운데에 점을 렌더링하고 그 데이터를 출력하는 데 사용되는 OnUpdateTrackedImage 이벤트를 보여 줍니다.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.

QR 렌더링 예제

진행 상황은 다음과 같습니다.Here's what's going on:

  1. 먼저 추적 이미지를 ARTrackedQRCode에 캐스트하여 현재 업데이트된 이미지가 QR 코드인지 확인합니다.First, the tracked image is cast to an ARTrackedQRCode to check that the current updated image is a QR code.
  2. 인코딩된 데이터는 QRCode 변수에서 검색합니다.The encoded data is retrieved from the QRCode variable. GetLocalToWorldTransform 위치에서 QR 코드의 왼쪽 위를, GetEstimateSize로 크기를 가져올 수 있습니다.You can get the top-left of the QR code from the location of GetLocalToWorldTransform and the dimensions with GetEstimateSize.

코드에서 QR 코드 좌표계를 가져올 수도 있습니다.You can also get the coordinate system for a QR code in code.

고유 ID 찾기Finding the unique ID

모든 QR 코드에는 다음을 통해 찾을 수 있는 고유한 guid ID가 있습니다.Every QR code has a unique guid ID, which you can find by:

  • As ARTracked QRCode 핀을 끌어서 놓고 검색하여 고유 ID 가져오기Dragging and dropping the As ARTracked QRCode pin and searching for Get Unique ID.

QR Guid

QR 코드를 사용하기 위해서는 뒤에서 많은 작업이 필요하므로 이것이 전부는 아닙니다.There's a lot going on behind the scenes with QR codes, so this isn't the end of the road. 내부 작업을 더 상세히 설명하는 다음 링크를 확인해 보세요.Be sure to check out the following links for more details on what's under the hood.

다음 개발 검사점Next Development Checkpoint

앞에서 설명한 Unreal 개발 검사점 경험을 수행하는 경우 Mixed Reality 플랫폼 기능과 API를 탐색하는 것이 좋습니다.If you're following the Unreal development checkpoint journey we've laid out, you're in the midst of exploring the Mixed Reality platform capabilities and APIs. 여기에서 다음 항목을 진행할 수 있습니다.From here, you can proceed to the next topic:

또는 디바이스나 에뮬레이터에서 앱 배포로 직접 이동합니다.Or jump directly to deploying your app on a device or emulator:

언제든지 Unreal 개발 검사점으로 돌아갈 수 있습니다.You can always go back to the Unreal development checkpoints at any time.

참고 항목See also