Version: Unity 6.0 (6000.0)
언어 : 한국어
Unity의 AR 개발
XR 아키텍처

Unity에서 VR 개발

VR 개발은 공통된 워크플로와 디자인 고려 사항을 Unity의 모든 실시간 3D 개발과 공유합니다. 그러나 다음과 같은 차별화 요소가 있습니다.

  • 더 많은 사용자 입력: VR 기기는 ‘기존’ 버튼과 조이스틱 컨트롤러 외에도 공간 헤드, 컨트롤러, 손 및 손가락 추적(경우에 따라)을 제공합니다.
  • 환경과 더욱 ‘밀접한’ 상호 작용: 더 많은 입력 가능성과 함께 VR은 일반적인 3D 게임 및 애플리케이션보다 환경과 훨씬 더 밀접하고 ‘물리적인’ 상호 작용에 대한 기대치를 높입니다. 사용자는 환경에서 사물을 집어 들고 오브젝트와 상호 작용하기를 기대합니다. 머리 추적을 사용하면 카메라가 벽과 환경의 다른 경계에 훨씬 더 가까워지거나 벽을 지나갈 수도 있습니다.
  • 사용자 편의 문제: 카메라 움직임이 머리의 움직임과 일치하지 않을 때 많은 사람들이 VR에서 멀미를 경험합니다. 높은 프레임 속도를 유지하고, 사용자가 편안한 모드를 선택할 수 있도록 다양한 로코모션 옵션을 제공하며, 사용자의 머리 추적과 독립적으로 카메라가 움직이지 않도록 하여 멀미의 원인을 완화할 수 있습니다.

VR 개발을 시작하려면 XR 플러그인 관리 시스템을 사용하여 지원하려는 기기에 XR 공급자 플러그인을 설치하고 활성화하십시오. 자세한 내용은 XR 프로젝트 설정을 참조하십시오.

기본 VR 씬 요소

기본__ VR__ 씬에는 추적 데이터를 위한 3D 원점을 정의하는 XR Origin이 포함되어야 합니다. 이 게임 오브젝트 및 컴포넌트 컬렉션에는 메인 씬 카메라와 사용자의 컨트롤러를 나타내는 게임 오브젝트도 포함되어 있습니다. 기본 VR 씬 설정에 대한 지침은 XR 씬 설정을 참조하십시오.

기본 사항 외에도 일반적으로 사용자가 이동하고 생성한 3D 월드와 상호 작용할 수 있는 방법이 필요합니다. XR Interaction Toolkit은 오브젝트 선택 및 잡기와 같은 상호 작용을 생성하는 컴포넌트를 제공합니다. 커스터마이즈 가능한 로코모션 시스템도 제공합니다. Input System__ XR__XR은 VR(가상 현실), AR(증강 현실)과 MR(혼합 현실) 애플리케이션을 모두 포함하는 포괄적인 용어입니다. 이러한 형태의 인터랙티브 애플리케이션을 지원하는 기기를 XR 기기라고 합니다. 자세한 정보
See in Glossary
Interaction Toolkit과 함께 사용하거나 대신 사용할 수 있습니다.

VR 패키지

Unity에서 VR을 개발하는 데 사용되는 대부분의 기능 및 API는 패키지를 통해 제공됩니다. 이러한 패키지에는 다음이 포함됩니다.

VR 공급자 플러그인

Unity에서 VR 앱을 빌드하려면 XR Plug-in Management 시스템을 사용하여 지원하려는 기기에 대한 공급자 플러그인을 추가하고 활성화하십시오. 지침은 XR 프로젝트 설정을 참조하십시오.

Unity에서 지원하는 VR 공급자 플러그인에는 다음이 포함됩니다.

  • Apple Vision Pro용 Apple visionOS XR 플러그인
  • Oculus Rift, Meta Quest 2, Quest Pro용 Oculus
  • Meta 헤드셋, VIVE 헤드셋, Valve SteamVR, HoloLens, Windows Mixed Reality 등을 비롯하여 OpenXR 런타임을 사용하는 모든 기기용 OpenXR
  • Sony PS VR 및 PS VR2 기기용 PlayStation VR(등록된 PlayStation 개발자에게만 제공). 자세한 내용은 PlayStation 파트너를 참조하십시오.
  • Unity 에디터 플레이 모드 뷰에서의 VR 헤드셋 시뮬레이션을 위한 Mock HMD

참고: 많은 헤드셋 제조업체가 OpenXR 런타임을 표준으로 사용하기 위해 노력하고 있습니다. 그러나 이 프로세스는 완료되지 않았으며 OpenXR과 헤드셋 제조업체의 자체 공급자 플러그인 또는 SDK 간에 기능 차이가 있을 수 있습니다.

XR Interaction Toolkit

XR Interaction Toolkit을 사용하면 VR 애플리케이션을 더 쉽고 빠르게 개발할 수 있습니다. XR Interaction Toolkit은 다음을 제공합니다.

XR Core Utilities

XR Core Utilities 패키지에는 다른 Unity XR 플러그인 및 패키지에서 사용되는 소프트웨어 유틸리티가 포함되어 있습니다. 일반적으로 이 패키지는 프로젝트에 다른 XR 패키지의 종속성으로 설치됩니다.

Input System

Unity Input System 패키지는 VR 컨트롤러 버튼과 조이스틱에서의 사용자 입력 액세스를 지원할 뿐만 아니라 XR 추적 데이터 및 햅틱스에 대한 액세스를 제공합니다. XR Interaction Toolkit 또는 OpenXR 공급자 플러그인을 사용하는 경우에는 Input System 패키지가 필요합니다.

손 추적

손 추적은 사용자가 손으로 VR 애플리케이션과 상호 작용할 수 있는 기능입니다. 손 추적은 XR Hands 패키지에서 지원됩니다.

Hands 패키지는 다음을 제공합니다.

  • 표준 손 데이터 모델
  • 손 추적 데이터에 액세스하기 위한 API
  • 트랜스폼 세트를 해당 손 조인트에 매핑하고 추적 데이터가 수신되면 해당 트랜스폼을 업데이트하는 XR Hand Skeleton Driver 컴포넌트
  • 손 추적이 감지되거나 감지되지 않을 때 메시를 활성화하거나 비활성화하는 XR Hand Mesh Controller
  • 손 추적 API 사용 방법을 보여 주는 HandVisualizer 샘플
Unity의 AR 개발
XR 아키텍처