Inverse3 및 VerseGrip 커서
하플리 인버스 유니티 패키지는 인버스3 및 버즈그립 디바이스를 위한 특수 커서 컴포넌트를 도입하여 유니티 환경 내에서 정밀한 제어와 상호 작용을 가능하게 합니다. 이러한 컴포넌트인 Inverse3 커서 및 VerseGrip 커서는 해당 디바이스 컨트롤러의 데이터를 기반으로 게임 오브젝트의 위치와 회전을 동적으로 조정하도록 설계되었습니다.
개요
커서 컴포넌트는 실제 Haply 디바이스와 Unity의 가상 게임 오브젝트 사이의 다리 역할을 하며, 디바이스의 위치 및 회전 데이터를 게임 오브젝트의 움직임과 방향으로 변환합니다. 이러한 변환을 통해 사용자는 가상 환경과 직관적인 방식으로 상호 작용할 수 있으며, 물리적 움직임을 가상의 반응으로 반영할 수 있습니다.
커서 동작 기본 클래스
커서 구성 요소의 핵심은 CursorBehaviour
클래스에서 공유되는 기본 기능을 제공합니다. Inverse3Cursor
그리고 VerseGripCursor
.
여기에는 디바이스 연결, 모델 인스턴스화 및 가시성 제어 관리가 포함됩니다.
주요 속성 및 메서드
- 장치: 커서를 제어 장치에 연결하며, 런타임에 자동으로 설정됩니다.
- 모델 프리팹: 의 자식으로 자동 인스턴스화되는 커서 모델에 대한 프리팹을 지정합니다.
ModelParent
. - ModelParent: 인스턴스화된 모델 프리팹의 부모 트랜스폼을 정의합니다. 설정하지 않으면 기본적으로 커서의 트랜스폼이 사용됩니다.
- 모델: 씬의 기존 커서 모델을 직접 참조합니다. 설정하면 다음과 같은 인스턴스화를 우회합니다.
ModelPrefab
. - HideControllerModel: 커서 모델의 가시성을 제어하여 게임플레이 요구 사항에 따라 동적으로 표시/숨길 수 있도록 합니다.
- 반지름: 반경: 커서 모델이 구인 경우 모델의 메시 바운드에서 계산된 커서 모델의 반경을 나타냅니다.
참고: 예상치 못한 동작을 방지하려면 커서 컴포넌트에서 커서 모델을 올바르게 참조하는 것이 중요합니다.
햅틱 릭으로 생성된 기본 커서 모델에는 세 축을 나타내는 컬러 점이 있습니다: 앞으로 (파란색), 위로 (녹색), 오른쪽 (빨간색). 이 디자인은 가상 환경 내에서 디바이스의 방향을 시각화하는 데 도움이 됩니다. 보정된 버즈그립의 경우 앞으로는 포 인팅 방향과 정렬되어야 하고 위쪽은 위쪽 면과 정렬되어야 합니다.
Inverse3 커서 컴포넌트
Inverse3Cursor
는 특히 Inverse3 디바이스를 지원하며, 커서의 로컬 위치가 디바이스의 물리적 위치를 반영하도록 Unity에서 커서의 로컬 위치를 업데이트합니다.
VerseGrip 커서 컴포넌트
VerseGripCursor
는 VerseGrip 디바이스로 기능을 확장하여 디바이스의 물리적 회전을 반영하도록 Unity에서 커서의 회전을 업데이트합니다.
그리고 useDeviceLocalSpace
설정을 사용하면 월드 또는 부모 오브젝트 방향 사이에서 커서 정렬을 선택할 수 있어 디자인 유연성이 향상됩니다.
구현 세부 정보
초기화 시 커서 컴포넌트는 지정된 커서 컴포넌트를 인스턴스화합니다. ModelPrefab
의 자녀로서 ModelParent
만약 Model
가 할당되지 않아 씬의 시각적 표현을 보장합니다.
이러한 컴포넌트는 관련 컴포넌트와 동기화됩니다. 디바이스 컨트롤러를 클릭해 커서의 위치와 회전을 실제 기기의 움직임에 따라 실시간으로 조정합니다.
두 컴포넌트를 동일한 게임 오브젝트에 부착하여 위치와 회전을 제어하거나 별개의 사용 사례에 맞게 분리할 수 있어 개발자는 Unity에서 몰입형 햅틱 경험을 제작할 수 있는 다양한 툴셋을 사용할 수 있습니다.