본문으로 건너뛰기

← 목 차 페이지로 돌아가기

3.1.0 변경 내역

의존 관계​

  • Haply Inverse SDK 버전 3.1.0:
    • Inverse SDK 3.x.x 통신 프로토콜을 지원하도록 업데이트되었습니다.
    • Inverse SDK 3.1.0 해당 페이로드 형식에 맞춰 JSON 직렬화 기능을 강화했습니다.

파괴적인 변경​

  • 라이브러리 삭제 및 리팩토링:

    • Haply.Inverse 2.x.x 라이브러리를 삭제했습니다.
    • 일관성을 높이기 위해 네임스페이스를 리팩토링했습니다:
      • Haply.Inverse.Unity → Haply.Inverse。
      • Haply.Inverse.Unity.Internal → Haply.Inverse。
  • 컴포넌트 이름 업데이트:

    • DeviceBehaviour → DeviceControllerBase。
    • CursorBehaviour → CursorBase。
    • 에디터 클래스 업데이트:
      • DeviceBehaviourEditor → DeviceControllerBaseEditor。
  • 컨트롤러 리팩토링:

    • Inverse3 → Inverse3Controller。
    • VerseGrip → VerseGripController。
    • Inverse3Controller 속성명 및 메서드명 업데이트:
      • Joint3 → Angle3。
      • JointsAngles → AngularPosition。
      • JointsAngularVelocity → AngularVelocity。
      • JointsAnglesOutput → AngularPositionOutput。
      • JointsSetAngles → SetAngularPosition。
      • JointsSetTorques → SetAngularTorque。
  • 좌표 변환 시스템:

    • 기본 장치 컨트롤러의 회전(90° 및 -90°)을 보정하기 위해,Icon Forward Pose 프리셋을 업데이트했습니다.
    • 변환 로직을 축 교체 → 스케일 → 오프셋 순서를 업데이트하여 Unity의 내장 로직에 맞췄습니다.

      이전에는 축 교체 → 평행 이동 → 오프셋(스케일 적용) 의 순서였지만, 이는 직관적이지 않았을 뿐만 아니라 최적화된 내장 메서드와의 호환성도 낮았습니다.

    • Vector3Settings 를 PositionConverter 에,QuaternionSettings 를 RotationConverter 로 명칭을 변경했습니다.
  • 이벤트 시스템 변경 사항:

    • Inverse3Controller 의 DeviceStateChanged 이벤트는,Inverse3EventArgs ~을 수반하는 EventHandler 사용하게 되었습니다.
    • VerseGripController 의 DeviceStateChanged 이벤트는,VerseGripEventArgs ~을 수반하는 EventHandler 사용하게 되었습니다.

제공되지 않거나 삭제된 기능​

  • 추후 제공될 기능:

    • ConnectionMonitorWindow,ClientConfiguration,PerformanceData가 일시적으로 삭제되었습니다. 이 기능들은 향후 업데이트를 통해 복원될 예정입니다.
  • API 변경 사항:

    • Inverse3Controller.RequestOrientation() 메서드를 삭제했습니다.
    • OrientationChangedAsync 이벤트를 삭제했습니다.

새로운 기능​

  • 무선 장치 지원:

  • 프로토콜 업그레이드:

    • ClientConnection 하지만 Inverse SDK 3.x.x 통신 프로토콜을 지원하도록 업그레이드되었습니다.
  • 장치 매핑:

    • 런타임의 장치 설정에서 자동 매핑 및 자동 연결을 활성화하거나 비활성화하는 옵션을 추가했습니다.
    • 장치 관리를 개선하기 위한 새로운 방법을 추가했습니다:
      • 장치 목록 가져오기 FetchDeviceListOnce 그리고 StartFetchingDeviceListWithRetry。
      • 연결된 기기 목록 가져오기 GetInverse3Devices 그리고 GetVerseGripDevices。
      • 주 손이나 기기 유형 등으로 필터링한 장면 컨트롤러를 가져온다 GetInverse3Controllers 그리고 GetVerseGripControllers。
      • 장치를 특정 컨트롤러에 매핑하기 MapDevices。
      • 장치 매핑 해제하기 UnmapDevices。
      • 컨트롤러 간에 장치 교체하기 SwapInverse3 그리고 SwapVerseGrip。
  • 프로빙 기능 강화:

    • Inverse3Controller 에 ProbeCursorPosition 메서드를 추가했습니다. 제어 명령을 전송하지 않고도 커서 위치를 확인할 수 있습니다.
    • Inverse3Controller 에 ProbeAngularPosition 메서드를 추가했습니다. 제어 명령을 전송하지 않고도 각도 위치를 확인할 수 있습니다.
  • Inverse3Gizmos:

    • 기즈모가 런타임 모드와 에디터 모드 모두에서 좌표 변환, 손 선호도, 씬 변환을 올바르게 반영하게 되었습니다.
    • 작업 공간 중앙에 장치의 3축 핸들을 표시하도록 했습니다(실제 장치 축을 반영).

수정 및 개선​

  • 퍼포먼스:
    • 성능과 안정성을 향상시키기 위해 좌표 변환기를 최적화했습니다.
  • 커서 반경 계산:
    • CursorBase 이제 모든 프리미티브 메시에 대해 스케일링 후의 반지름을 계산하게 되었습니다.
  • 안전성 점검:
    • 제어 모드 간에 안전하지 않은 전환이 발생하지 않도록 방지했습니다.

← 목 차 페이지로 돌아가기