다음을 통해 공유


Unity의 카메라 설정

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

HoloLens vs VR 몰입형 헤드셋

Unity 카메라 구성 요소의 기본 설정은 실제 환경이 없으므로 skybox와 같은 배경이 필요한 기존 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 클래스와 직접 작업하고 대상 규모를 월드로 설정할 수도 있습니다.

MRTK 설정 창

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

MRTK 플레이스페이스

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

VR 카메라 설정

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

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

룸 스케일 또는 스탠딩 환경

참고 항목

HL2를 위해 빌드하는 경우 눈 수준의 환경을 만들거나 장면의 바닥을 추론하기 위해 Scene Understanding을 사용하는 것이 좋습니다.

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

MRTK 설정 창

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

MRTK 플레이스페이스

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

앉은 환경

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

MRTK 설정 창

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

MRTK 플레이스페이스

  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의 InputTracking.Recenter 메서드 또는 XR SDK의 XRInputSubsystem.TryRecenter 메서드.

이라니

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

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

다시 프로젝션 모드

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

기본적으로:

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

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

다음 개발 검사점

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

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

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

참고 항목