혼합 현실 기능 샘플 및 앱

HoloLens를 착용하고 손 움직임으로 홀로그램을 조작하는 사용자의 사진

모든 개발 과정은 다른 개발자가 성공적으로 빌드한 것을 기반으로 하며, 혼합 현실도 다르지 않습니다. 현재 모든 자습서와 샘플 앱은 Unity 또는 Unreal에서 빌드되었습니다. 다른 엔진 및 플랫폼용 콘텐츠를 개발하는 경우 해당 콘텐츠는 목차의 관련 제목 아래에서 찾을 수 있습니다.

샘플 애플리케이션 사례 연구

오픈 소스 샘플 앱은 Mixed Reality 개발을 직접 처리할 수 있도록 하기 위해 우리 팀에서 만들었습니다. 학습 참고 자료로 프로젝트와 전체 소스 코드를 제공했습니다.

HoloLens 2 오픈 소스 샘플 앱

이 샘플 앱은 Unity용 Mixed Reality Toolkit으로 만들어집니다.

HoloLens(1세대) 오픈 소스 샘플 앱

기능 샘플

아래 나열된 각 개발자 시나리오에서는 설명서에서 다루는 특정 구현에 해당하며 다양한 개발 플랫폼 및 하드웨어 디바이스를 포함하는 기능 샘플이 있습니다.

시나리오 기능 샘플 엔진 설명
기본 Unity 혼합 현실 시나리오 Unity를 사용한 OpenXR 샘플 Unity C# 최신 Unity 2020.LTS 및 OpenXR 플러그 인을 사용하여 플랫폼 간 개발자 도구를 시작하세요.
고정 전략 로컬 앵커 애플리케이션 세션 간 및 디바이스 간에 공간 앵커를 유지 및 공유합니다. 공간 앵커 문서를 참조하세요.
Azure Spatial Anchors 샘플 Azure Spatial Anchors의 필수 기능으로 공간 인식 혼합 현실 애플리케이션을 빌드합니다.
QR 코드 Unity C# 환경에서 QR 코드를 검색합니다.
혼합 현실에서 협업 사용자 ID Unity C# AAD(Azure Active Directory) 자격 증명을 사용하여 HoloLens 2 디바이스를 설정합니다.
WebRTC 샘플 Unity C# 피어 투 피어 오디오, 비디오 및 데이터 실시간 통신을 혼합 현실 애플리케이션에 통합합니다.
Azure Spatial Anchors 샘플 Azure Spatial Anchors의 필수 기능으로 공간 인식 혼합 현실 애플리케이션을 빌드합니다.
공간 상호 작용 기본 홀로그램 샘플 Windows 10 C++ Windows Mixed Reality에서 회전하는 큐브를 렌더링합니다.
장면/개체 이해 장면 이해 샘플 Unity C# 환경 인식 혼합 현실 애플리케이션 디자인을 지원합니다.
Azure Object Anchors 샘플 Unity C# 3D 모델을 사용하여 실제 세계에서 개체를 검색하고 Azure Object Anchors를 사용하여 해당 개체의 6DoF 포즈를 추정합니다.
상황별 데이터 오버레이 QR 코드 Unity C# 환경에서 QR 코드를 검색합니다.
포스터 추적기 샘플 Unity C# 홀로그램을 실제 세계 개체에 맞춥니다.
혼합 현실 디지털 트윈 빌드 Unity C# 실시간 3D 플랫폼인 Azure Digital Twins 및 Unity를 사용하여 혼합 현실 애플리케이션을 만드는 방법을 알아봅니다.
카메라 데이터 캡처 혼합 현실 캡처 샘플 Windows 10 C++ 혼합 현실과 디지털 세계의 1인칭 경험을 사진이나 비디오로 캡처합니다.
관람자 보기 샘플 Unity C# 올바른 크기와 방향으로 홀로그램을 캡처하고 렌더링합니다.
연구 모드 샘플 Windows 10 C++ 연구 애플리케이션에 대한 HoloLens 디바이스의 주요 센서에 액세스합니다.
홀로그램 원격 접속 홀로그램 원격 플레이어 Windows 10 C++ Wi-Fi 연결을 사용하여 실시간으로 PC에서 Microsoft HoloLens로 홀로그램 콘텐츠를 스트리밍합니다.
Azure Remote Rendering 샘플 Unity C# 여기에 나열된 샘플 데이터에 대한 리소스를 사용하여 Azure Remote Rendering 서비스를 테스트합니다.
작업 관리 및 지침 Dynamics 365 Remote Assist HoloLens, HoloLens 2, Android 또는 iOS 디바이스에서 Dynamics 365 Remote Assist를 통해 다양한 위치에서 함께 작업하여 더욱 효율적으로 협업합니다.
Dynamics 365 Guides 필요할 때 언제 어디서나 홀로그램 지침을 제공하여 작업자가 작업 흐름 중에 학습할 수 있도록 지원합니다.
World Locking 홀로그램 세계 고정 물리학 샘플 Unity C# World Locking Tools의 세계 고정 좌표계에 의해 활성화되는 몇 가지 가상 물리학적 경험을 살펴보세요.
Space Pin 샘플 Unity C# 큰 개체 또는 개체를 현실 세계 기능과 정렬해야 하는 현실 세계 애플리케이션의 내부 작업으로 더 가까이 이동합니다. Space Pin 샘플은 Space Pin 기능에 대한 단순화되고 집중된 보기를 제공합니다.
광선 핀 예 Unity C# MRTK 어포던스를 사용하여 마커 개체를 위치에 수동으로 조작하여 Space Pin을 설정하는 방법을 보여줍니다.
Azure Spatial Anchors를 사용한 World Locking Tools 샘플 Unity C# 세션 내내 지속되고 애플리케이션의 여러 디바이스에서 공유될 수 있는 안정적인 좌표계를 제공합니다. 이는 WLT(World Locking Tools for Unity)와 ASA(Azure Spatial Anchors)를 결합할 때 가능합니다.

기본 OpenXR 시나리오 빌드

기본 혼합 현실 시나리오를 처음 빌드하는 경우 이 샘플이 시작하는 데 도움이 됩니다.

HoloLens 2 또는 혼합 현실 애플리케이션을 빌드하기 위해 Unity 2020을 사용하는 개발자의 경우 Windows XR 플러그 인 대신 OpenXR 플러그 인을 사용하여 플랫폼 간 호환성을 높일 수 있습니다. Mixed Reality OpenXR 플러그 인은 최신 버전의 Mixed Reality Toolkit(2.7.x)에서도 잘 작동합니다.

샘플 참조 문서 플랫폼 설명
Mixed Reality OpenXR과 Unity 샘플 OpenXR 플러그 인 사용 Unity C# 이 샘플 프로젝트는 Mixed Reality OpenXR 플러그 인을 사용하여 HoloLens 2 또는 Mixed Reality 헤드셋용 Unity 애플리케이션을 빌드하는 방법을 보여줍니다.

다음 샘플 시나리오를 다룹니다.
OpenXR MRTK Base Unity 프로젝트 샘플 추가 정보 참조 Unity C# 이 리포지토리에는 Microsoft Mixed Reality Toolkit Foundations과 Standard Assets 패키지 및 Microsoft OpenXR 플러그 인 패키지로 설정된 Unity 프로젝트가 포함되어 있습니다.
Unity 2020.3 및 MRTK 2.7.2 사용 MRTK란? Unity C# MRTK-Unity는 Unity에서 플랫폼 간 MR 앱 개발을 가속화하는 데 사용되는 구성 요소 및 기능 집합을 제공하는 Microsoft 기반 프로젝트입니다.
OpenXR 탐색기 샘플 추가 정보 참조 C++, Windows, Linux, OpenXR OpenXR 탐색기는 OpenXR 개발자를 위한 편리한 디버그 도구입니다. OpenXR 런타임 사이를 쉽게 전환할 수 있고, 런타임에서 지원되는 확장 목록을 표시하고, OpenXR 사양의 관련 부분에 대한 직접 링크를 통해 공통 속성 및 열거를 검사할 수 있습니다!
Mixed Reality 개발자를 위한 OpenXR 샘플 OpenXR이란? C++ 이 OpenXR 샘플은 C++17 및 Direct3D 11을 사용합니다. HoloLens 2에서 실행되는 UWP 애플리케이션과 Windows Mixed Reality 몰입형 헤드셋이 있는 Windows Desktop에서 실행되는 Win32 애플리케이션에서 동일한 소스 코드가 작동합니다.

혼합 현실에서 협업

혼합 현실에서는 사람들이 가상으로 모여 경험을 공유하고 협업합니다. 여기에 나열된 샘플은 이러한 협업을 가능하게 하는 몇 가지 기능을 보여줍니다.

사용자 ID

이 샘플은 AAD(Azure Active Directory) 자격 증명을 사용하여 HoloLens 2 디바이스를 설정한 다음, 홍채 로그인을 사용하도록 디바이스를 구성합니다.

샘플 참조 문서
HoloLens 2에서 AAD 로그인 Microsoft ID 플랫폼 개요

WebRTC

MixedReality-WebRTC 프로젝트는 혼합 현실 앱 개발자가 피어 투 피어 오디오, 비디오 및 데이터 실시간 통신을 애플리케이션에 통합하는 데 도움이 되는 구성 요소 모음입니다. WebRTC 구성 요소는 대부분의 최신 웹 브라우저에서 지원되는 RTC(실시간 통신)용 WebRTC 프로토콜을 기반으로 합니다.

샘플 참조 문서
WebRTC 샘플 앱 WebRTC

공간 상호 작용 - 기본 홀로그램 샘플

이 샘플은 Windows Mixed Reality에서 실행되고 회전하는 큐브를 렌더링합니다. 큐브를 새로운 위치에 배치하여 상호 작용할 수 있으며, 다양한 입력 방법이 허용됩니다. 이 샘플은 헤드셋 디바이스가 연결된 PC와 Microsoft HoloLens에서도 작동합니다.

샘플 참조 문서
Windows 유니버설 샘플 - 기본 홀로그램 샘플 추가 정보 참조

장면 이해

장면 이해는 Mixed Reality 개발자에게 구조화된 높은 수준의 환경 표현을 제공합니다. 장면 이해는 기존 혼합 현실 런타임의 기능을 결합하여 직관적이고 환경을 인식하는 애플리케이션을 개발하도록 설계되었습니다. 이러한 런타임은 매우 정확하지만 덜 구조화된 공간 매핑 및 새로운 AI 기반 런타임입니다.

샘플 참조 문서 플랫폼 설명
Mixed Reality 장면 이해 샘플(SU SDK) 장면 이해 Unity C# 및 SU SDK HoloLens 2 장면 이해를 소개하는 Unity 기반 샘플 애플리케이션입니다.
장면 이해 샘플(MRTK + SU SDK) 장면 이해 관찰자(MRTK) Unity C#, MRTK + SU SDK MRTK + 장면 이해 SDK 샘플.

상황별 데이터 오버레이

상황별 데이터는 이벤트, 사람 또는 항목에 대한 광범위한 이해를 제공하는 배경 정보입니다. AR(증강 현실)을 사용하면 이 정보를 표시하고 실제 개체와 정확하게 정렬하여 인사이트, 지침, 서비스 레코드 및 기타 중요한 데이터를 제공할 수 있습니다.

QR 코드

HoloLens 2는 헤드셋 주변 환경의 QR 코드를 감지하여 각 코드의 현실 위치에 좌표계를 설정할 수 있습니다.

샘플 참조 문서
Unity에서 QR 코드 추적 QR 코드

포스터 추적기 샘플

홀로그램을 현실 개체에 맞추거나 여러 HoloLens 디바이스를 공통 세계 좌표 집합에 정렬하여 모든 사람이 동일한 위치에 동일한 홀로그램을 볼 수 있도록 하는 것이 유용한 경우가 많습니다. 예를 들어 Unity 장면에서 장면(게임 보드)을 고정하려는 "포스터"를 추가한 다음, 홀로그램을 추가하거나 그 주위에 추가할 수 있습니다. 그런 다음, 포스터를 인쇄하고 테이블 위에 놓고 보정/정렬 도구를 실행하면 포스터의 홀로그램 버전이 포스터의 실제 버전에 맞게 이동됩니다. 이렇게 하면 연결된 모든 홀로그램이 올바른 맞춤으로 이동합니다.

샘플 참조 문서
포스터 보정 샘플 샘플 추가 정보 참조

혼합 현실 디지털 트윈 빌드

이 샘플에서는 실시간 3D 플랫폼인 Azure Digital Twins 및 Unity를 사용하여 혼합 현실 HoloLens 2 애플리케이션을 만드는 방법을 알아봅니다.

샘플 참조 문서
Azure Digital Twins 및 Unity로 혼합 현실 디지털 트윈 빌드 전체 학습 경로

카메라 캡처

Mixed Reality 디바이스가 캡처하는 구조화되지 않은 환경 센서 데이터는 우리 주변의 실제 세계에 대한 강력한 추상 또는 홀로그램 표현으로 변환됩니다.

홀로그램 혼합 현실 캡처

MRC(혼합 현실 캡처)는 현실 세계와 디지털 세계를 결합한 1인칭 경험을 사진이나 비디오로 캡처하여 다른 사람과 실시간으로 공유합니다.

샘플 참조 문서
혼합 현실 캡처 샘플 혼합 현실 캡처

관람자 보기

관람자 보기는 Unity의 홀로그램을 캡처 카드의 색 프레임 위에 렌더링합니다. 이 샘플은 보정 앱의 보정 데이터를 사용하여 홀로그램을 올바른 크기와 방향으로 렌더링합니다.

애플리케이션 예제 참조 문서
관람자 보기 모바일 설정 샘플 설정 참조

연구 모드

연구 모드는 1세대 HoloLens에 도입되어 특히 배포용이 아닌 연구용 디바이스의 주요 센서에 대한 액세스 권한을 부여합니다. 아래의 샘플 애플리케이션은 연구 모드 스트림을 액세스 및 기록하고 내재 및 외재적 기능을 사용하는 예입니다.

애플리케이션 예제 참조 문서
HoloLens(1세대) 연구 모드
HoloLens 2 연구 모드

홀로그램 원격 접속

홀로그램 원격 플레이어는 홀로그램 원격 접속을 지원하는 PC 앱 및 게임에 연결하는 도우미 앱입니다. 홀로그램 원격 접속은 Wi-Fi 연결을 통해 PC에서 Microsoft HoloLens로 홀로그램 콘텐츠를 실시간으로 스트리밍하며, HoloLens(1세대)와 HoloLens 2에서 지원됩니다.

샘플 참조 문서
홀로그램 원격 접속 샘플 홀로그램 원격 접속