- Comprehensive Interaction Rig란?
- 1. 모듈화(Modularity)
- 2. 간소화된 계층구조(Smaller Hierarchy)
- 3. 필요 없는 요소는 삭제 가능(Delete what you don’t need)
- 4. 상호작용 미러링(Interactions Mirroring)
- 5. 로코모션 완벽 지원(Full Locomotion)
- Comprehensive Interaction Rig 구성요소
- ✅ Data Sources (입력 데이터 소스)
- ✅ Interactions (상호작용)
- ✅ Visuals (시각적 요소)
- 인터랙터 활성 상태(Active State)의 구조
- Comprehensive Interaction Rig 추가하는 방법
Interaction SDK를 사용할 때는 기본적으로 추천하는 'Rig(리그)' 구조를 사용하면 편리합니다.
이번 포스팅에서는 Comprehensive Interaction Rig에 대한 특징과 장점, 그리고 설정 방법에 대해 알아보겠습니다.
Comprehensive Interaction Rig란?
Comprehensive Interaction Rig는 이전 버전들의 Rig 구조보다 더 발전된 형태로, 다음과 같은 장점이 있습니다.

1. 모듈화(Modularity)
Rig가 3가지 주요 부분으로 나누어져 있습니다.
- Data Sources (입력 소스)
- Interactions (상호작용 처리)
- Visuals (시각적 요소)
각 모듈은 서로 독립적으로 교체할 수 있어서, 다른 플랫폼에도 쉽게 재사용할 수 있습니다.
2. 간소화된 계층구조(Smaller Hierarchy)
기존 Rig와 달리 GameObject 수를 줄였습니다. 예를 들어 여러 입력(Input) 타입마다 시각 요소를 중복해서 만들 필요가 없습니다.
3. 필요 없는 요소는 삭제 가능(Delete what you don’t need)
Unity 2022 이상에서는 불필요한 인터랙터(Interactor)를 삭제해도 나중에 간단하게 복구할 수 있습니다.
4. 상호작용 미러링(Interactions Mirroring)
왼손과 오른손 상호작용 구조가 동일하기 때문에, 한 손에서의 변경사항을 쉽게 다른 손으로 복사할 수 있습니다.
5. 로코모션 완벽 지원(Full Locomotion)
기본적으로 텔레포트와 부드러운 이동(Smooth Locomotion)이 지원되며, 편의성 옵션과 물리 옵션을 제공합니다.
Comprehensive Interaction Rig 구성요소
Comprehensive Interaction Rig는 크게 Data Sources, Interactions, Visuals 세 가지로 구성됩니다.
✅ Data Sources (입력 데이터 소스)
데이터 소스는 사용자의 입력 데이터를 가져오는 부분입니다. 예를 들면, HMD(헤드셋), 손, 컨트롤러에서 입력된 데이터를 표준화된 형식으로 변환하여 상호작용 부분으로 전달합니다.
- 장점: 다양한 플랫폼 간 쉽게 교체 가능합니다.
예) Oculus Rig → Unity XR Rig 간 전환 가능
✅ Interactions (상호작용)
상호작용은 사용자가 가상 환경에서 어떻게 오브젝트와 상호작용할지를 정의하는 핵심 부분입니다.
- Interactor(인터랙터)는 사용자의 입력을 받아 처리하고 오브젝트를 선택하거나 조작하는 역할을 합니다.
- 필요 시, 인터랙터 우선순위를 조정하려면 Interactor Group에 인터랙터를 추가합니다.
✅ Visuals (시각적 요소)
시각 요소는 사용자의 입력 데이터를 눈에 보이게 표현하는 부분입니다. 예를 들어, 손 모델이나 컨트롤러 모델을 화면에 보여주는 역할입니다.
인터랙터 활성 상태(Active State)의 구조
인터랙터는 입력 방식(손, 컨트롤러 등)에 따라 자동으로 활성화 또는 비활성화될 수 있습니다.
입력 환경에 따라 최적화된 인터랙터를 활성화할 수 있습니다.
- Hand (손)
Hand가 사용 가능한 상태이며, 손 자체의 형태는 특별히 신경 쓰지 않아도 되는 경우입니다. 이 상태는 특히 Poke(누르기) 동작에서 유용한데, 보통 가능한 경우에는 검지손가락(Index finger)을 사용하는 것을 선호하기 때문입니다. - Controller (컨트롤러)
컨트롤러가 사용 가능한 상태이며, 손의 형태는 특별히 신경 쓰지 않아도 되는 경우입니다. 이 상태는 특히 레이(Ray)나 로코모션(Locomotion, 이동) 동작에서 유용한데, 보통 가능한 경우에는 손보다는 컨트롤러를 사용하는 것을 선호하기 때문입니다. - Hand and no controller (손만 있고 컨트롤러가 없는 상태)
순수하게 손 추적(hand tracking)을 사용하는 상호작용에 활용됩니다. 예를 들어, Hand Teleport 또는 TouchGrab과 같은 동작이 여기에 해당합니다. - Controller and no hand (컨트롤러만 있고 손이 없는 상태)
순수하게 컨트롤러만을 사용하는 상호작용에 활용됩니다. 예를 들면, 손 형태의 시각적 표현 없이 컨트롤러만으로 오브젝트를 잡는 동작(Grab)이 있습니다. - Controller and Hand (컨트롤러와 손이 모두 있는 상태)
컨트롤러와 손을 모두 활용하는 하이브리드 형태의 상호작용으로, 대표적으로 Controller+Hand Grab이 있습니다. 이 경우, 컨트롤러의 트리거(Triggers)를 사용하여 오브젝트를 선택(잡기)하지만, 시각적으로는 손의 실제 형태를 표현하는 것을 중요하게 생각하는 상호작용입니다.
Comprehensive Interaction Rig 추가하는 방법

하이러키창에 우클릭 - Interaction SDK - Add OVR Interaction Rig를 선택하면 Comprehensive Interaction Rig Wizard창이 뜹니다. 이것을 통해 생성할 수 있습니다.