Unity에서 Vuforia 엔진 사용Using Vuforia Engine with Unity

Vuforia 엔진은 환경에서 특정 이미지 및 개체에 AR 환경을 연결 하는 기능을 제공 하는 중요 한 기능을 제공 합니다.Vuforia Engine brings an important capability to HoloLens – the power to connect AR experiences to specific images and objects in the environment. 이 기능을 사용 하 여 산업 기업의 기계에 대 한 단계별 단계별 지침을 오버레이 하거나 실제 제품 또는 게임에 디지털 기능 및 환경을 추가할 수 있습니다.You can use this capability to overlay guided step-by-step instructions on top of machinery for the industrial enterprise or add digital features and experiences to a physical product or game.

Vuforia 엔진은 다양 한 기능과 목표를 제공 하 여 AR 개발 프로세스를 보다 유연 하 게 만듭니다.Vuforia Engine offers a broad range of features and targets to make your AR development process more flexible. Vuforia 모델 대상의 최신 기능 중 하나는 상용 및 산업용에서 사용 하는 주요 기능입니다.One of our newest features, Vuforia Model Targets, is a key capability for both commercial and industrial uses. 모델 대상을 사용 하면 응용 프로그램에서 컴퓨터, 자동차 또는 장난감과 같은 물리적 개체를 인식 하 고 CAD 또는 디지털 3D 모델에 따라 추적할 수 있습니다.Model Targets allow applications to recognize physical objects like machines, automobiles, or toys and track them based on a CAD or digital 3D model. 산업에서 사용 하는 경우이 기능을 통해 어셈블리 작업자 및 서비스 기술자에 게 공장 또는 현장에서 제공 되는 동안 AR 작업 지침과 절차 지침을 제공할 수 있습니다.For industrial uses, this feature can provide assembly workers and service technicians with AR work instructions and procedural guidance while in the factory or out in the field.

휴대폰 및 태블릿 용으로 빌드된 기존 Vuforia 엔진 앱은 HoloLens에서 실행 되도록 Unity에서 쉽게 구성할 수 있습니다.Existing Vuforia Engine apps that were built for phones and tablets can easily be configured in Unity to run on HoloLens. Vuforia 엔진을 사용 하 여 새 HoloLens 앱을 Surface Pro 및 Surface 서적 같은 Windows 10 태블릿으로 가져올 수도 있습니다.You can even use Vuforia Engine to take your new HoloLens app to Windows 10 tablets such as the Surface Pro and Surface Book.

도구 얻기Get the tools

권장 되는 버전 의 visual Studio 및 Unity를 설치한 다음 visual studio 및 선호 하는 IDE 및 컴파일러를 사용 하도록 unity를 구성 합니다.Install the recommended versions of Visual Studio and Unity and then configure Unity to use Visual Studio and the preferred IDE and compiler.

Unity를 설치 하는 경우 "Windows Store IL2CPP Scripting 백 엔드"를 설치 해야 합니다.When installing Unity, be sure to install the “Windows Store IL2CPP Scripting Backend”.

여기에 설명 된 대로 Vuforia 엔진 패키지를 추가 합니다 .Add the Vuforia Engine package as described here..

Vuforia 엔진 시작Getting started with Vuforia Engine

Vuforia 엔진 및 HoloLens에 대해 배우는 가장 좋은 출발점은 Vuforia 엔진 hololens 샘플 (Unity Asset Store에서 사용 가능)입니다.The best starting point for learning about Vuforia Engine and HoloLens is the Vuforia Engine HoloLens sample (available in the Unity Asset Store). 이 샘플에서는 HoloLens에 배포할 수 있는 미리 구성 된 장면을 비롯 한 전체 HoloLens 프로젝트를 제공 합니다.The sample provides a complete HoloLens project including pre-configured scenes that can be deployed to a HoloLens.

이 장면에서는 Vuforia 이미지 대상을 사용 하 여 이미지를 인식 하 고 HoloLens 환경에서 디지털 콘텐츠로 확장 하는 방법을 보여 줍니다.The scenes show how to use Vuforia Image Targets to recognize an image and augment it with digital content in a HoloLens experience. Vuforia 엔진 HoloLens 샘플에는 HoloLens의 모델 대상 및 VuMarks의 사용을 보여 주는 장면이 포함 되어 있습니다.The Vuforia Engine HoloLens Sample also includes a scene showing the usage of Model Targets and VuMarks on HoloLens. 사용자 고유의 콘텐츠를 백그라운드에서 쉽게 대체 하 여 Vuforia 엔진을 사용 하는 HoloLens 앱을 만들 수 있습니다.You can easily substitute your own content in the scenes to experiment with the creation of HoloLens apps that use Vuforia Engine.

HoloLens 용 Vuforia 앱 구성Configuring a Vuforia App for HoloLens

HoloLens 용 Vuforia 엔진 앱을 개발 하는 것은 기본적으로 다른 장치용 Vuforia 엔진 앱을 개발 하는 것과 같습니다.Developing a Vuforia Engine app for HoloLens is fundamentally the same as developing Vuforia Engine apps for other devices. 그런 다음 아래 섹션에서 설명 하는 빌드 설정 및 구성을 적용할 수 있습니다.You can then apply the build settings and configurations described in the section below. 이러한 모든 작업은 Vuforia 엔진이 HoloLens 공간 매핑 및 위치 추적 시스템을 사용 하도록 설정 하는 데 필요 합니다.That’s all that’s needed to enable Vuforia Engine to work with the HoloLens spatial mapping and positional tracking systems.

HoloLens 용 Vuforia 엔진 샘플 빌드 및 실행Build and Run the Vuforia Engine Sample for HoloLens

  1. Unity Asset Store에서 HoloLens 용 Vuforia 엔진 샘플 다운로드Download the Vuforia Engine Sample for HoloLens from the Unity Asset Store
  2. 전원 및 성능을 위해 권장 Unity 엔진 옵션 을 적용 합니다.Apply the recommended Unity engine options for power and performance
  3. 빌드에서 장면 에 샘플 장면을 추가 합니다.Add the sample scenes to Scenes in Build.
  4. 빌드 설정 에서 열려 있는 장면 추가 단추를 클릭 하 여 빌드 플랫폼을 UWP 로 전환 합니다.In Build Settings, switch build platform to UWP by clicking the Add Open Scenes button. imageimage
  5. 플레이어 설정 단추를 선택 합니다.Select the Player Settings button.
  • UWP 아이콘을 선택 하 고 XR 설정 섹션을 확장 합니다.Select the UWP icon and expand the XR Settings section.
  • 가상 현실 지원 여부를 확인 합니다.Ensure that Virtual Reality Supported is enabled.
  • 가상 현실 sdk 에서 다음을 확인 합니다.Under Virtual Reality SDKs ensure that:
    • 창 혼합 현실 은 목록에 포함 되어 있으며, 깊이 버퍼 공유를 사용 하도록 설정 되어 있습니다.Window Mixed Reality is included in the list and that Enable Depth Buffer Sharing is enabled.
    • 깊이 형식은 16 비트 깊이 로 설정 됩니다.The Depth Format is set to 16-bit depth.
  • 스테레오 렌더링 모드가 단일 Pass로 설정 되었는지 확인 합니다.Ensure that the Stereo Rendering Mode is set to Single Pass Instanced.
  1. 게시 설정 섹션을 확장 합니다.Expand the Publishing Settings section.
  • 기능 아래에서 인터넷 클라이언트, 웹캠, 마이크SpatialPerception 이 선택 되어 있는지 확인 합니다.Under Capabilities ensure that Internet Client, WebCam, Microphone, and SpatialPerception are selected.
  • 참고: SURFACE 관찰자 API를 사용 하려는 경우에만 SpatialPerception를 선택 해야 합니다.NOTE: SpatialPerception should only be selected if you intend to use the Surface Observer API.
  • 지원 되는 장치 제품군 에서 Holographic 이 선택 되어 있는지 확인 합니다.Under Supported Device Families, ensure that Holographic is selected.
  1. 해상도 및 프레젠테이션 섹션을 확장 합니다.Expand the Resolution and Presentation section.
  • 백그라운드 에서 실행 을 사용 하지 않도록 설정 하 여 앱이 백그라운드에 배치 될 때 Vuforia 엔진이 일시 중지 하 고 앱이 다시 시작 될 때 카메라에 다시 액세스할 수 있습니다.Disable Run in Background so that Vuforia Engine pauses when the app is put into the background and can access the camera again when the app is resumed.
  • 기본 방향 드롭다운에서 가로 왼쪽 이 선택 되어 있는지 확인 합니다.In the Default Orientation dropdown, ensure that Landscape Left is selected.
  1. 빌드 설정 창으로 돌아가서 빌드 를 선택 하 여 Visual Studio 프로젝트를 생성 합니다.Return to the Build Settings window and select Build to generate a Visual Studio project.
  2. Visual Studio에서 실행 파일을 빌드하고 HoloLens에 설치 합니다.Build the executable from Visual Studio and install it on your HoloLens.

Vuforia 개발자 포털The Vuforia Developer Portal

Vuforia 엔진 및 HoloLens를 사용 하 여 자체 AR 환경을 만들려는 개발자는 developer.vuforia.com에서 Vuforia 개발자 포털에 등록 해야 합니다.Developers looking to create their own AR experiences with Vuforia Engine and HoloLens should sign up on our Vuforia Developer Portal at developer.vuforia.com. 포털에서 개발자는 커뮤니티 토론, 모든 Vuforia 엔진 기능에 대 한 심층적인 설명서를 포함 하는 라이브러리 및 사용자가 자신의 사용자 지정 대상을 만들 수 있는 Vuforia 대상 관리자 에 연결할 수 있는 Vuforia 엔진 포럼 에 액세스할 수 있습니다.In the portal, developers have access to the Vuforia Engine Forums where they can join community discussions, a library with in-depth documentation on all the Vuforia Engine Features, and the Vuforia Target Manager where users can create their own custom Targets. 또한 개발자는 Vuforia 라이선스 관리자를 사용 하 여 무료 개발자 라이선스에 등록할 수 있습니다.Developers can also sign up for a free Developer License using the Vuforia License Manager.

Vuforia를 사용 하 여 장치 추적Device Tracking with Vuforia

장치 추적은 대상이 더 이상 표시 되지 않는 경우에도 추적을 유지 합니다.Device Tracking maintains tracking even when a target is no longer in view. 위치 장치 추적기를 사용 하는 경우 모든 대상에 대해 자동으로 사용 하도록 설정 됩니다.It's automatically enabled for all targets when the Positional Device Tracker is enabled. HoloLens 응용 프로그램의 경우 위치 장치 추적기는 Unity에서 자동으로 시작 됩니다.For HoloLens applications, the Positional Device Tracker is started automatically in Unity.

Vuforia 엔진은 카메라 추적 및 HoloLens의 공간 추적에서 포즈를 자동으로 결합 하 여 대상이 카메라에 표시 되는지 여부와 관계 없이 안정적인 대상 포즈를 제공 합니다.Vuforia Engine automatically fuses the poses from camera tracking and HoloLens's spatial tracking to provide stable target poses independent of whether the target is seen by the camera or not.

프로세스는 자동으로 처리 되므로 개발자의 프로그래밍이 필요 하지 않습니다.Since the process is handled automatically, it doesn't require any programming by the developer.

다음은 프로세스에 대 한 개략적인 설명입니다.The following is a high-level description of the process:

  1. Vuforia의 대상 추적기는 대상을 인식 합니다.Vuforia’s target Tracker recognizes the target
  2. 그러면 대상 추적이 초기화 됩니다.Target tracking is then initialized
  3. 대상의 위치 및 회전이 분석 되어 HoloLens에 대 한 강력한 포즈 예측을 제공 합니다.The position and rotation of the target are analyzed to provide a robust pose estimate for the HoloLens
  4. Vuforia 엔진은 대상의 포즈를 HoloLens 공간 매핑 좌표 공간으로 변환 합니다.Vuforia Engine transforms the target's pose into the HoloLens spatial mapping coordinate space
  5. 대상이 더 이상 보기 상태가 아닌 경우 HoloLens에서 추적을 수행 합니다.HoloLens takes over tracking if the target is no longer in view. 대상에서 다시 확인할 때마다 Vuforia는 이미지 및 개체를 정확 하 게 계속 추적 합니다.Whenever you look again at the target, Vuforia will continue to track the images and objects accurately.

검색 되었지만 더 이상 표시 되지 않는 대상은 EXTENDED_TRACKED로 보고 됩니다.Targets that are detected, but no longer in view, are reported as EXTENDED_TRACKED. 이러한 경우 모든 대상에 사용 되는 DefaultTrackableEventHandler 스크립트는 계속 해 서 확대 콘텐츠를 렌더링 합니다.In these cases, the DefaultTrackableEventHandler script that is used on all targets continues to render augmentation content. 개발자는 사용자 지정 추적 가능 이벤트 처리기 스크립트를 구현 하 여이 동작을 제어할 수 있습니다.The developer can control this behavior by implementing a custom trackable event handler script.

Vuforia 엔진을 사용 하는 성능 모드Performance Mode with Vuforia Engine

Vuforia 엔진을 통해 HoloLens의 성능을 관리 하 고 CPU에 대 한 워크 로드를 줄일 수 있습니다.It's possible through the Vuforia Engine to manage the performance on the HoloLens to extent AR experiences and reduce the workload on the CPU. Vuforia 엔진은 선택할 수 있는 세 가지 모드 (기본값, 속도 최적화 및 품질 최적화)를 제공 합니다.The Vuforia Engine offers three modes that can be selected: default, for optimizing speed, and for optimizing quality.

  • MODE_OPTIMIZE_SPEED를 사용 하 여 HoloLens 장치에서 워크 로드를 최소화할 수 있으며 AR 경험을 확장 하는 데 유용 합니다.MODE_OPTIMIZE_SPEED lets you minimize the workload on the HoloLens device and is great for extending AR experiences. 앱에서 정적 개체/대상을 추적 하는 경우에 권장 됩니다.We recommended for situations where the app is tracking static objects/targets.
  • MODE_DEFAULT은 대부분의 시나리오에서 사용할 수 있는 표준 모드입니다.MODE_DEFAULT is the normal mode, which can be used in most scenarios.
  • 선택 해야 하는 이동 가능한 대상 또는 모델 대상을 추적 하는 것이 MODE_OPTIMIZE_QUALITY.MODE_OPTIMIZE_QUALITY is better for tracking movable targets or model targets you expect to be picked up.

모드 설정Setting the mode

Unity에서 성능 모드를 변경 하려면 ARCamera GameObject의 구성 요소로 있는 Vuforia 구성 (Ctrl + Shift + V/Cmd + Shift + V)으로 이동 합니다.To change the performance mode in Unity, navigate to Vuforia Configuration (Ctrl+Shift+V / Cmd+Shift+V) that is located as a component in the ARCamera GameObject.

  • 카메라 장치 모드의 드롭다운 메뉴를 선택 하 고 세 가지 옵션 중 하나를 선택 합니다.Select the dropdown menu for Camera Device Mode and select one of the three options.

참고 항목See also