Inverse3 및 VerseGrip 컨트롤러
Inverse3 , VerseGrip 컨트롤러는 각각의 물리적 장치를 Unity의 GameObject와 원활하게 연결하도록 설계되었습니다. 이는 Device Mapper를 통해 이루어집니다. 고주파 센서 데이터를 활용하여, 이 컴포넌트들은 가상 환경에서 정밀하고 반응성이 뛰어난 제어를 가능하게 합니다. 이들의 기능은 논리적 측면과 성능 측면 모두에서 조화롭게 통합되어 일관된 사용자 경험을 보장합니다.
이 컨트롤러들은 ‘ Haply Inverse Unity Package’의 기반을 형성하며, 개발자들이 ‘ Haply ’ 하드웨어의 향상된 기능을 활용하여 몰입감 넘치고 상호작용이 가능한 VR 애플리케이션을 제작할 수 있도록 지원합니다. 이 컨트롤러들은 기기의 로컬 좌표와 게임 세계의 공간 매개변수 간의 변환을 정밀하게 수행함으로써, 사실적이고 매력적인 상호작용을 보장합니다.
Inverse3-컨트롤러
Inverse3 컨트롤러 구성 요소는 Inverse3 기기를 해당 GameObject에 연결하는 데 핵심적인 역할을 합니다. 이 구성 요소는 고주파 센서 데이터를 활용하여 가상 공간 내에서 기기의 물리적 움직임을 정밀하게 재현합니다. 주요 기능은 다음과 같습니다:
의 주요 기능 및 API Inverse3
-
“장치 상태 변경” 이벤트: 이 이벤트는 Inverse3 컨트롤러의 핵심 기능으로, 각 햅틱 프레임마다 트리거되어 커서의 위치와 속도에 대한 실시간 업데이트를 제공합니다. 이 이벤트는 장치 상태를 지속적으로 추적해야 하는 애플리케이션이나 실시간 제어 명령을 구현하는 데 필수적입니다.
-
위치 및 속도 조회: 다음과 같은 기능을 제공합니다.
CursorPosition,CursorVelocity,CursorLocalPosition그리고CursorLocalVelocity장치의 현재 상태에 접근하기 위한 것입니다. 이는 물리적 움직임을 가상 공간에 정밀하게 반영하는 데 있어 결정적인 역할을 합니다. -
힘 및 위치 제어: 다음과 같은 방법을 제공합니다.
SetCursorForce그리고SetCursorPosition장치를 직접 제어하기 위한 것입니다. 개발자는 이를 통해 힘을 가하거나 위치를 지정함으로써 가상 상호작용을 향상시킬 수 있습니다.
[검사] 보기 Inverse3

- 장치: 특정 장치를 선택합니다. 다음을 클릭하면
<refresh device list>디바이스 매퍼를 사용하여 편집 모드에서 장치를 불러오고, 모든 장치-드롭다운 메뉴- - 손 선호도: 기기의 손 선호도 설정에 따라 기기를 필터링합니다.
- 커서: Inverse3Cursor 객체와 연결되어 있으며, 이 객체는 기기의 위치 업데이트와 동기화되어 이동합니다.
- 본문: 공간 내에서 기기의 물리적 방향을 나타내는 Inverse3Body와 연결합니다.
- 좌표 변환: 커서 위치와 기기의 방향이 게임 세계로 어떻게 변환될지 설정합니다. 이를 통해 정밀하고 사용자 정의 가능한 매핑이 보장됩니다.
- 커서 데이터: 게임 세계 내 커서의 위치를 표시합니다.
- 장치 데이터: 장치의 입출력 데이터를 실시간으로 표시합니다.
- 이벤트: Unity 이벤트는 메인 스레드에서 발생하며, 씬 상호작용이나 UI 업데이트를 지원합니다.
- 준비됨: 기기가 사용 준비가 되었음을 나타냅니다.
- ControlModeChanged: 장치의 제어 모드 변경 사항(예: 힘 제어 또는 위치 제어)을 표시합니다.
- PowerSupplyStatusChanged: 장치의 전원 공급 상태 변경을 알립니다.

Gizmos von Inverse3
장치의 위치와 커서가 도달할 수 있는 최대 거리를 시각적으로 표시합니다. 색상 구분은 손의 사용 습관에 따라 달라집니다.
- 파란색은 왼손용 기기를 나타냅니다.
- 'Rot'는 오른손용 기기를 나타냅니다.
- 손잡이 방향이 지정되지 않은 기기의 경우, 실행 시점에 손잡이 방향이 결정될 때까지 두 가지 색상이 모두 표시됩니다.

VerseGrip-컨트롤러
Inverse3 컨트롤러와 마찬가지로, VerseGrip 컨트롤러는 VerseGrip 장치를 연결된 GameObject에 할당합니다. 이 컴포넌트는 VerseGrip의 고유한 입력 기능을 활용하기 위해 필수적입니다.
VerseGrip의 주요 기능 및 API
-
“기기 상태 변경” 이벤트: 기기의 방향 및 버튼 상태 변경을 알립니다. 이를 통해 사용자 입력과 기기 방향에 대한 즉각적인 피드백을 제공함으로써 대화형 애플리케이션을 지원합니다.
-
키보드 상호작용: 키 입력 상호작용을 감지하는 방법을 제공합니다 (
GetButton,GetButtonDown,GetButtonUp) 이를 통해 햅틱 스레드 내에서 입력 메커니즘을 구현할 수 있게 합니다. -
연결 상태: 다른 기기와의 연결 상태를 모니터링하고 이벤트를 통해 이를 알립니다.
Attached그리고Detached. 이는 장치의 물리적 구성에 따라 달라지는 애플리케이션에 유용합니다.
VerseGrip의 검사 화면

- 장치: 특정 장치를 선택합니다. 다음을 클릭하면
<refresh device list>클라이언트를 편집 모드로 전환하고 모든 항목을 새로 고침합니다. 장치-드롭다운 메뉴- - 커서: 기기의 방향 업데이트에 따라 회전하는 VerseGripCursor 객체와 연결되어 있습니다.
- 좌표 변환: 기기의 방향을 게임 세계로 어떻게 변환할지 설정합니다. 이를 통해 정확하고 사용자 정의가 가능한 매핑이 보장됩니다.
- 커서 데이터: 게임 세계 내에서 커서의 회전 각도를 표시합니다.
- 기기 정보: 기기의 로컬 회전 각도, 버튼 상태 및 연결 상태를 표시합니다.
- 이벤트: 메인 스레드에서 Unity 이벤트를 트리거하여 씬 또는 UI 상호작용을 지원합니다.
- 준비됨: 기기가 사용 준비가 되었음을 나타냅니다.
- 키 누름: 키가 눌리면 트리거됩니다.
- 키를 놓음: 키를 놓을 때 발생합니다.
- 연결됨: 기기가 Inverse3 에 연결된 상태를 표시합니다.
- 분리: 기기가 Inverse3 에서 분리되는 시점을 표시합니다.
