본문으로 건너뛰기

← 목 차 페이지로 돌아가기

2.0.0 변경 내역

의존 관계​

  • Haply 인버스 런타임 SDK 버전 2.0.0
    • haply-inverse-service.exe: 버전 2.0.0 이상 (백그라운드에서 실행 중이어야 함)
    • haply-inverse-c.dll: 버전 2.0.0 (포함)
  • Haply.Inverse.dll: 버전 2.0.0 (포함)

파괴적인 변경​

  • HapticThread 와 HandleThread 를,Inverse3VerseGrip 으로 대체했습니다.
  • Run(callback) 메서드를, 구독용 고빈도 이벤트 DeviceStateChanged(device) 로 대체했습니다.
  • hapticThread.onInitialized 이벤트를 Inverse3.DeviceOpened 로 대체했습니다.
  • handleThread.onInitialized 이벤트를 VerseGrip.DeviceOpened 로 대체했습니다.
  • 커서의 position 그리고 velocity 는 더 이상 햅틱 콜백 매개변수를 통해 전달되지 않습니다.
  • 스레드 세이프한 관리 대상의 AdditionalData 을 삭제하고 사용자 정의 데이터 처리를 도입했습니다.

새로운 기능​

  • 연결된 장치의 상태를 한눈에 확인할 수 있는 모니터링 창(Window > Haply > Connection Monitor).
  • Haply 의 생성 메뉴(GameObject > Haply > Haptic Rig)를 사용하면 필요한 모든 GameObject를 포함하여 씬을 간편하게 설정할 수 있습니다.
  • Inverse3DeviceMapper는장치와 VerseGrip 장치 간의 자동 할당을 수행합니다.
  • 특정 연결 용도나, 목표 햅틱 루프 주파수 제어를 위한 Client Configuration 구성 요소.
  • Inverse3 구성 요소 (HapticThread 대체) 는 공간 내에 Inverse3 장치를 배치하고, 그 위치를 파악하여 고주파 스레드를 통해 힘을 제어합니다.
    • Inverse3.DeviceStateChanged 이벤트. 다른 햅틱스 스레드에서 높은 빈도로 실행되며, 이에 의해 트리거됩니다.
    • 장치의 로컬 공간에서 씬의 월드 공간으로의 자동 변환. 스레드 안전하게 캐시된 변환 행렬 LocalToWorldMatrix 그리고 WorldToLocalMatrix 를 사용합니다.
    • Inverse3.LocalPosition 그리고 Inverse3.LocalVelocity 는 장치의 로컬 공간에서 처리되지 않은 커서 좌표를 제공합니다.
    • Inverse3.Position 그리고 Inverse3.Velocity 는 월드 좌표계로 변환된 커서 좌표를 제공합니다.
    • Inverse3.SetLocalForce 그리고 Inverse3.SetLocalPosition 는 로컬 좌표를 사용하여 장치를 제어하기 위한 메서드입니다.
    • Inverse3.SetForce 그리고 Inverse3.SetPosition 는 월드 좌표를 사용하여 기기를 제어하는 메서드입니다.
    • Inverse3.JointsSetTorque 는 모터를 직접 제어하기 위한 것입니다.
    • Inverse3.JointsSetAngles 는 장치의 암 위치를 직접 제어하기 위한 것입니다.
    • Inverse3.WorkspaceCenter 는 주로 사용하는 손에 따라 작업 공간의 중심 좌표를 제공합니다.
  • VerseGrip 구성 요소 (HandleThread 대체) 는 고주파 스레드에서 VerseGrip의 방향을 가져옵니다. 버튼 상태와 부착 상태도 함께 가져옵니다.
    • VerseGrip.DeviceStateChanged 이벤트. 다른 햅틱스 스레드에서 높은 빈도로 실행되며, 이에 의해 트리거됩니다.
    • 햅틱스 스레드 내에서 사용하는 VerseGrip.GetButton、VerseGrip.GetButtonDown、VerseGrip.GetButtonUp 메서드. UnityEngine.Input 와 동일한 논리에 따릅니다.
    • 씬 및 UI 상호 작용을 위해 메인 스레드에서 트리거되는 Unity 이벤트: VerseGrip.ButtonDown、VerseGrip.ButtonUp、VerseGrip.Attached, 그리고 VerseGrip.Detached。
  • 씬 내 커서의 위치와 방향을 시각화하고 모델을 관리하기 위한 Inverse3Cursor 및 VerseGripCursor 컴포넌트.
  • 워크스페이스의 크기 조정 및 배치를 용이하게 하기 위한 HapticOrigin GameObject.
  • 기즈모를 사용하여 기기의 위치, 방향, 주로 사용하는 손을 시각화합니다.
  • 기즈모를 활용한 접근 가능한 작업 공간의 시각화.
  • 필터링된 로그 출력.
  • 튜토리얼 예제.
  • 실험용 샘플.

버그 수정 및 개선​

  • 이제 기기를 감지할 때 Inverse3 에서 사용자의 주손 정보를 제공하게 되었습니다. 주손 정보를 확인하기 위해 기기를 열 필요가 없어졌습니다.
  • 자동 장치 감지 (Haply , Inverse Service 및 DeviceMapper 사용)
  • 햅틱 루프의 주파수를 ~1000Hz에서 ~4000kHz로 높였습니다.

← 목 차 페이지로 돌아가기