주요 콘텐츠로 건너뛰기
버전: 2.1.1

디바이스맵퍼 컴포넌트

Haply Inverse Unity 플러그인의 DeviceMapper 컴포넌트는 씬의 게임 오브젝트 및 디바이스 컨트롤러를 사용하여 Inverse3 및 VerseGrip과 같은 Haply 디바이스의 검색, 열기 및 매핑을 관리하도록 설계되었습니다. 이러한 디바이스와 상호 작용할 수 있는 통합 인터페이스를 제공하여 런타임 조건에 따라 동적으로 제어하고 구성할 수 있습니다.

개요​

디바이스맵퍼의 주요 기능은 소프트웨어와 연결된 Haply 하드웨어 간의 통신을 원활하게 하는 것입니다.

디바이스가 올바르게 초기화되고 매핑되도록 하며, 각 디바이스의 상태를 유지하여 Unity 애플리케이션에서 반응형 인터랙티브 경험을 구현합니다.

디바이스맵퍼 컴포넌트

장치 정보 투표​

성능과 실시간 데이터 정확도의 균형을 맞추기 위해 디바이스맵퍼는 폴링 메커니즘을 사용하여 전원 공급 상태, 본체 방향과 같은 특정 디바이스 정보를 업데이트합니다. 본체 방향. 폴링 동작은 다음 모드로 제어됩니다:

  • 투표 모드:

    • 수동: 이 모드에서는 사용자 또는 개발자가 명시적으로 요청하는 경우에만 디바이스 정보가 업데이트됩니다. 이 모드는 성능 친화적이며 실시간 업데이트가 중요하지 않은 시나리오에 적합합니다.
    • 한 번: 이 모드는 디바이스를 연 직후 디바이스 정보를 한 번만 업데이트합니다. 초기화 시 디바이스 상태의 스냅샷을 제공하므로 초기 조건을 설정하는 데 유용합니다.
    • 연속: 이 모드에서는 컴포넌트가 지정된 간격으로 장치 정보를 지속적으로 업데이트합니다. devicesInfoPollDelay 설정으로 변경합니다. 이 모드는 최신 정보를 보장하지만 설정 또는 디버깅 단계에서만 사용하는 것이 좋습니다.
  • 투표 지연: : The devicesInfoPollDelay 설정은 연속 모드에서 적용할 수 있으며, 디바이스 정보의 자동 업데이트 간격을 초 단위로 정의합니다. 허용되는 최소 지연 시간은 0.5초이며, 햅틱 떨림의 위험을 최소화하기 위해 최소 1초를 권장합니다. 개발자는 이 설정을 신중하게 관리하여 적시 데이터의 필요성과 잠재적인 성능 영향 간의 균형을 맞춰야 합니다.

경고

지속적인 폴링은 잦은 업데이트로 인해 햅틱 피드백 시스템의 성능과 반응성을 방해할 수 있는 햅틱 떨림을 유발할 수 있습니다.

준비 이벤트​

그리고 DeviceMapper 컴포넌트가 트리거되면 Ready 이벤트가 발생하면 연결된 모든 장치가 열리고 매핑됩니다. 이 이벤트는 다음과 같은 장치 가져오기 메서드 사용을 시작해도 안전하다는 신호를 보냅니다. GetInverse3 또는 GetVerseGrip를 사용하여 장면의 디바이스 컨트롤러를 검색하여 추가 상호 작용을 할 수 있습니다.

장치 목록​

Unity 에디터에서 DeviceMapper 는 플레이 모드에서 인스펙터에 표시되는 연결된 디바이스의 동적 목록을 제공합니다. 이 목록에는 장치 유형, ID, 연결 상태 등의 세부 정보가 포함되어 있어 개발자가 장치를 모니터링 및 관리하고 개발 중 문제를 쉽게 해결할 수 있도록 도와줍니다.

디바이스맵퍼