Unity의 카메라 설정

혼합 현실 헤드셋을 착용하면 홀로그램 세계의 중심이 됩니다. Unity 카메라 구성 요소는 자동으로 스테레오스코픽 렌더링을 처리하고 헤드 이동 및 회전을 따릅니다. 그러나 시각적 품질 및 홀로그램 안정성을 완전히 최적화하려면 아래에 설명된 카메라 설정을 지정해야 합니다.

HoloLens vs VR 몰입형 헤드셋

Unity 카메라 구성 요소의 기본 설정은 실제 환경이 없으므로 스카이박스와 유사한 배경이 필요한 기존 3D 애플리케이션을 위한 것입니다.

  • 몰입형 헤드셋에서 실행하는 경우 사용자가 보는 모든 것을 렌더링하므로 skybox를 유지할 수 있습니다.
  • 그러나 HoloLens 같은 홀로그램 헤드셋에서 실행할 때 실제 세계는 카메라가 렌더링하는 모든 것 뒤에 나타나야 합니다. 카메라 배경을 Skybox 텍스처 대신 투명하게 설정(HoloLens 검은색 렌더링을 투명으로 표시)합니다.
    1. 계층 구조 패널에서 주 카메라 선택
    2. [검사기] 패널에서 [카메라] 구성 요소를 찾아 [플래그 지우기] 드롭다운을 Skybox에서 단색으로 변경합니다.
    3. 배경색 선택기를 선택하고 RGBA 값을 (0, 0, 0, 0)으로 변경합니다.
      1. 코드에서 이 값을 설정하는 경우 Unity를 사용할 수 있습니다. Color.clear

MRTK는 카메라 시스템 프로필의 구성에 따라 특정 카메라 설정을 자동으로 처리합니다.

네임스페이스:Microsoft.MixedReality.Toolkit. CameraSystem
형식:MixedRealityCameraSystem

카메라의 불투명도를 확인하기 위해 MixedRealityCamera 시스템에는 속성이 있습니다IsOpaque.

CoreServices.CameraSystem.IsOpaque;

카메라 설정

개발 중인 환경이 무엇이든, 기본 카메라는 항상 장치의 헤드 탑재 디스플레이에 연결된 기본 스테레오 렌더링 구성 요소입니다. 사용자의 시작 위치를 (X: 0, Y: 0, Z: 0)으로 상상하는 경우 앱을 더 쉽게 배치할 수 있습니다. 주 카메라는 사용자 머리의 움직임을 추적하므로 주 카메라의 시작 위치를 설정하여 사용자의 시작 위치를 설정할 수 있습니다.

HoloLens 또는 VR 몰입형 헤드셋을 개발하든 간에 선택해야 합니다. 설정 섹션이 적용되면 건너뜁니다.

카메라 설정 HoloLens

HoloLens 앱의 경우 장면 환경에 잠그려는 모든 개체에 앵커를 사용해야 합니다. 바인딩되지 않은 공간을 사용하여 안정성을 최대화하고 여러 방에 앵커를 만드는 것이 좋습니다.

단계별 자습서에 따라 Unity 프로젝트에서 Mixed Reality Toolkit 추가하고 자동으로 구성합니다. Unity용 MRTK에서 MixedRealityPlayspace 클래스로 직접 작업하고 대상 배율을 World로 설정할 수도 있습니다.

MRTK settings window

MRTK는 플레이스페이스와 카메라의 위치를 자동으로 처리해야 하지만 다음을 다시 확인하는 것이 좋습니다.

MRTK playspace

  1. 계층 구조 패널에서 MixedRealityPlayspace GameObject를 확장하고 Main Camera 자식 개체를 찾습니다.
  2. 검사기 패널에서 변환 구성 요소를 찾아 위치를 변경합니다(X: 0, Y: 0, Z: 0).

VR 카메라 설정

Windows Mixed Reality 방향 전용 및 좌석 크기 조정 앱에서 회의실 크기 조정 앱을 통해 다양한 환경 규모에서 앱을 지원합니다. HoloLens 더 나아가 사용자가 5미터를 넘어 건물 전체 층을 탐색할 수 있는 세계적 규모의 앱을 빌드할 수 있습니다.

Unity에서 혼합 현실 환경을 빌드하는 첫 번째 단계는 앱이 대상으로 지정할 환경 크기를 결정하는 것입니다.

룸 스케일 또는 스탠딩 환경

참고

HL2용으로 빌드하는 경우 눈 수준의 환경을 만들거나 장면 이해를 사용하여 장면의 바닥에 대해 추론하는 것이 좋습니다.

UNITY용 MRTK의 MixedRealityPlayspace 클래스를 사용하고 대상 배율을 또는 스탠딩으로 설정합니다.

MRTK settings window

MRTK는 플레이스페이스와 카메라의 위치를 자동으로 처리해야 하지만 다음을 다시 확인하는 것이 좋습니다.

MRTK playspace

  1. 계층 구조 패널에서 MixedRealityPlayspace GameObject를 확장하고 Main Camera 자식 개체를 찾습니다.
  2. 검사기 패널에서 변환 구성 요소를 찾아 위치를 변경합니다(X: 0, Y: 0, Z: 0).

앉은 환경

Unity용 MRTK의 MixedRealityPlayspace 클래스를 사용하고 대상 배율을Seated로 설정합니다.

MRTK settings window

MRTK는 플레이스페이스와 카메라의 위치를 자동으로 처리해야 하지만 다음을 다시 확인하는 것이 좋습니다.

MRTK playspace

  1. 계층 구조 패널에서 MixedRealityPlayspace GameObject를 확장하고 Main Camera 자식 개체를 찾습니다.
  2. 검사기 패널에서 변환 구성 요소를 찾아 위치를 변경합니다(X: 0, Y: 0, Z: 0)

카메라 배경 설정

MRTK를 사용하는 경우 카메라의 배경이 자동으로 구성되고 관리됩니다. XR SDK 또는 레거시 WSA 프로젝트의 경우 카메라 배경을 HoloLens 검은색으로 설정하고 VR용 스카이박스를 유지하는 것이 좋습니다.

여러 카메라 사용

장면에 카메라 구성 요소가 여러 개 있는 경우 Unity는 MainCamera 태그가 있는 GameObject를 기반으로 스테레오스코픽 렌더링에 사용할 카메라를 알고 있습니다. 레거시 XR에서는 이 태그를 사용하여 헤드 추적을 동기화합니다. XR SDK에서 헤드 추적은 카메라에 연결된 TrackedPoseDriver 스크립트에 의해 구동됩니다.

깊이 버퍼 공유

각 프레임을 Windows 데 앱의 깊이 버퍼를 공유하면 렌더링하는 헤드셋 유형에 따라 홀로그램 안정성이 크게 향상되는 두 가지 기능 중 하나가 앱에 제공됩니다.

  • VR 몰입형 헤드셋은 깊이 버퍼가 제공될 때 위치 재프로젝션을 처리하여 위치와 방향 모두에서 잘못된 표현을 위해 홀로그램을 조정할 수 있습니다.
  • HoloLens 헤드셋에는 몇 가지 다른 방법이 있습니다. HoloLens 1은 깊이 버퍼가 제공되면 자동으로 포커스 지점을 선택하여 가장 많은 콘텐츠와 교차하는 평면을 따라 홀로그램 안정성을 최적화합니다. HoloLens 2 깊이 LSR을 사용하여 콘텐츠를 안정화합니다(설명 참조).

MRTK의 구성 대화 상자 는 XR SDK와 레거시 WSA 모두에 대한 깊이 버퍼 설정을 시도하지만 해당 탭을 확인하고 Unity에서 설정을 확인하는 것이 좋습니다.

클리핑 평면 사용

혼합 현실에서는 사용자에게 너무 가까운 콘텐츠를 렌더링하는 것이 불편할 수 있습니다. 카메라 구성 요소에서 근거리 및 원거리 클립 평면 을 조정할 수 있습니다.

  1. 계층 구조 패널에서 주 카메라 선택
  2. 검사기 패널에서 카메라 구성 요소 클리핑 평면을 찾아 인접 텍스트 상자를 0.3에서 0.85로 변경합니다. 콘텐츠가 더 가깝게 렌더링되면 사용자 불편이 발생할 수 있으며 렌더링 거리 지침에 따라 피해야 합니다.

카메라 최근 설정

앉은 규모 환경을 빌드하는 경우 XR을 호출하여 사용자의 현재 헤드 포지션에서 Unity의 세계적 출처를 확인할 수 있습니다. XR SDK의 레거시 XR 또는 XRInputSubsystem.TryRecenter 메서드의 InputTracking.Recenter 메서드입니다.

순간 이동

이 기능은 일반적으로 VR 환경을 위해 예약되어 있습니다.

MRTK는 굴절식 손 및 컨트롤러에서 자동으로 작동하는 박스 내 텔레포트 시스템을 제공합니다.

다시 프로젝션 모드

HoloLens 헤드셋과 몰입형 헤드셋은 모두 광자를 내보낸 경우 사용자의 실제 헤드 위치를 잘못 예측하기 위해 앱이 렌더링하는 각 프레임을 다시 보호합니다.

기본적으로 다음과 같습니다.

  • VR 몰입형 헤드셋은 앱이 지정된 프레임에 대한 깊이 버퍼를 제공하는 경우 위치 재프로젝션을 처리합니다. 몰입형 헤드셋은 또한 위치와 방향 모두에서 잘못된 표현을 위해 홀로그램을 조정합니다. 깊이 버퍼가 제공되지 않으면 시스템은 방향에서 잘못된 표현만 수정합니다.
  • HoloLens 2 같은 홀로그램 헤드셋은 앱이 깊이 버퍼를 제공하는지 여부에 관계없이 위치 다시 보호를 처리합니다. 렌더링이 실제 환경에서 제공하는 안정적인 배경으로 스파스되는 경우가 많기 때문에 위치 재프로젝션은 HoloLens 깊이 버퍼 없이도 가능합니다.

MRTK에는 현재 다시 보호 모드에 대한 도우미가 없습니다. 자세한 내용은 다른 탭 중 하나를 참조하세요.

다음 개발 검사점

배치한 Unity 개발 과정을 따라가는 경우 MRTK 핵심 구성 요소를 탐색하는 중입니다. 여기에서 다음 구성 요소로 진행할 수 있습니다.

또는 Mixed Reality 플랫폼 기능 및 API로 이동합니다.

언제든지 Unity 개발 검사점으로 돌아갈 수 있습니다.

참고 항목