본문으로 바로 가기

← 색인 페이지로돌아가기

2.1.1 변경 로그

종속성​

  • haply- inverse-c.dll을버전 2.1.1로 업데이트 (필수 조건: Inverse SDK >= 2.1)
  • Haply.Inverse.dll을버전 2.1.1로 업데이트
  • com.unity.xr.core-utils 버전 2.3.0 추가
경고

Unity 2022.1.0f1 이전 버전과의 호환성이 깨졌습니다. 호환성 문제가 발생하면 최신 버전으로 업데이트하십시오.

호환성을 저해하는 변경 사항​

  • Inverse3 및 VerseGrip는 ConnectionStateChanged 이벤트의 첫 번째 인수로 device를 전달합니다.
    • ConnectionStateChanged(state, prevState) > ConnectionStateChanged(device, state, prevState)
    • ConnectionStateChangedAsync(state, prevState) > ConnectionStateChangedAsync(device, state, prevState)
  • DeviceMapper의 State 속성이 읽기 전용으로 변경되었습니다.

새로운 기능​

  • Inverse3Body 컴포넌트는 ‘ Inverse3 ’ 디바이스의 본체 방향을 지정된 GameObject에 적용합니다.
  • Inverse3:
    • 디바이스 데이터(인스펙터)는 ControlMode와 기기로 전송된 마지막 Force, Position 또는 Angles를 표시합니다.
    • JointsAngles 및 JointsAngularVelocity.
    • Powered는 기기의 현재 전원 공급 상태를 나타냅니다.
    • PowerSupplyStatusChanged Unity 이벤트는 전원 공급 상태가 변경될 때마다 발생합니다.
    • OrientationInverse3 의 현재 방향을 가져옵니다.
    • OrientationChangedAsync 이 이벤트는 본체의 방향이 바뀔 때마다 발생합니다.
    • RequestOrientation()은 본체의 방향을 수동으로 요청합니다.
    • ControlMode는 현재 제어 모드(CursorForce, CursorPosition, JointsTorques, JointsAngles)를 가져옵니다.
    • ControlModeChanged Unity 이벤트는 제어 모드가 변경될 때마다 발생합니다.
    • ForceOutput, PositionOutput, JointsTorqueOutput 및 JointsAnglesOutput은 현재 출력값을 가져옵니다.
    • Release()null 힘을 전송하여 장치 제어를 재설정합니다(TryResetForce()(를 대체함).
    • CoordinateConverter프리셋 파일이나 직접 입력한 값을 사용하여 좌표 변환 설정을 정의합니다.
    • ErrorEvent매핑된 장치와 관련된 ClientConnection 오류 이벤트가 추가되면 (메인 스레드에서) 발생합니다.
  • VerseGrip:
    • CoordinateConverter프리셋 파일이나 직접 입력한 값을 사용하여 좌표 변환 설정을 정의합니다.
    • ErrorEvent매핑된 장치와 관련된 ClientConnection 오류 이벤트가 추가되면 (메인 스레드에서) 발생합니다.
  • 디바이스맵퍼:
    • 런타임에 연결된 장치를 매핑합니다.
    • 각 Inverse3 디바이스의 Inverse3 전원 공급 장치 및 본체 방향을가져옵니다.
    • DeviceInfoPollingMode 모드는 Manual, Once(기본값) 또는 Continuous입니다.
    • devicesInfoPollDelay의 안전 하한값은 본체의 방향을 요청하는 경우 1sec, 그렇지 않은 경우 0.5sec입니다.
    • 컴포넌트가 활성화된 경우에만 초기화됩니다.
    • 필터링된 디바이스 게터:
      • GetInverse3Devices(handedness)지정된 손 방향(handedness)으로 필터링된 Inverse3 장치를 가져옵니다.
      • GetVerseGripDevices(handedness)지정된 손 방향과 일치하는 Inverse3 장치와 연결된 VerseGrip 장치를 가져옵니다.
      • GetInverse3(handedness)지정된 손 방향과 일치하는 첫 번째 Inverse3 장치를 가져옵니다.
      • GetInverse3(verseGrip)는 주어진 VerseGrip 장치와 연결된 Inverse3 장치를 가져옵니다.
      • GetVerseGrip(inverse3)는 지정된 Inverse3 장치에 연결된 VerseGrip 장치를 가져옵니다.
  • OrientationSettings가VerseGripCursor 및 Inverse3Body 컴포넌트에 추가되었습니다.
  • VerseGrip.Orientation이 VerseGrip.LocalRotation을 대체합니다.
  • Inverse3 캐시를 위한 명시적 Inverse3D데이터 유형:
    • 캐시된 상태 속성: CursorPosition, JointsAngles, JointsAngularVelocity, Orientation,
    • GravityCompensation, StatusPowerSupply, ConfigTorqueScaling
    • 캐시된 제어 출력 속성: ControlMode, CursorForceOutput, CursorPositionOutput, JointsTorqueOutput, JointsAnglesOutput.
    • coordinateConverter는 지정된 좌표계로 수신 및 전송된 데이터를 변환하는 데 사용됩니다.
    • 캐시는 클라이언트를 구독하여 자동으로 업데이트됩니다.
    • 캐시가 업데이트되면 이벤트가 발생합니다.
  • 세 개의 float 멤버 j0, j1, j2를 가진 명시적 Joint3 구조체(JointsSetTorque 및 JointsSetAngles(에서 사용됨).
  • VerseGrip 캐시를 위한 명시적 VerseGripData 유형:
    • 캐시된 상태 속성: Orientation, IsAttached, ButtonCount.
    • 캐시된 버튼 상태.
    • 캐시는 클라이언트를 구독하여 자동으로 업데이트됩니다.
    • coordinateConverter는 수신된 데이터를 지정된 좌표계로 변환하는 데 사용됩니다.
    • 캐시가 업데이트되면 이벤트가 발생합니다.
  • CoordinateConverter(UnityConvert (대체)는 디바이스 좌표계를 Unity 좌표계로 변환하는 방법을 개별적으로 정의합니다:
    • Inverse3CoordinateConverter는 커서 좌표와 본체의 방향을 변환합니다.
    • VerseGripCoordinateConverterVerseGrip의 방향을 전환합니다.
    • Vector3Settings 및 QuaternionSettings 구조체는 좌표계 변환 설정을 저장하는 데 사용됩니다.
    • ‘컴포넌트’ 또는 ‘Assets’ 메뉴에서 ‘ Inverse3 ’ 및 ‘VerseGrip’용 기본 좌표 변환기 프리셋을 생성합니다.
      • Inverse3 (팔을 앞으로 뻗은 자세) 변환기: 팔이 사용자를 향하고 LED 아이콘이 측면에 있는 기기를 위한 설정입니다.
      • Inverse3 (아이콘 전방 자세) 변환기: LED 아이콘이 사용자를 향하고 팔이 몸 옆에 있는 기기를 위한 설정입니다.
      • VerseGrip(기본값) 변환기: 화면이 사용자를 향하고 사용자 입력 버튼이 상단에 위치한 기기용입니다.
  • 장치가 열리면 클라이언트 연결이 FirmwareVersion, GravityCompensation, TorqueScaling을 가져옵니다.
  • 연결 모니터는 GravityCompensation, TorqueScaling, PowerSupply를 표시합니다.

버그 수정​

  • JointsSetTorque 및 JointsSetAngles 사용할 때도 Inverse3.DeviceStateChanged이 현상이 발생하는 문제 수정
  • 연결 해제 후 기기 자동 재연결
  • 빌드 종료 시 클라이언트 폴링 스레드 정리
  • 버그 수정 및 안정성 개선.
  • 씬 언로드/로드 후 디바이스 매핑 수정

지원 중단​

  • ClientConnection.Configuration.HapticFrequencyHz는 HapticPollFrequency로 대체됩니다
  • ClientConnection.Configuration.PollDelayNs는 HapticPollDelayNs로 대체됩니다
  • DeviceBehaviour.ConnectionStateChangedAsync는 다음 주요 릴리스에서 제거될 예정입니다
  • Inverse3.Position은 Inverse3.CursorPosition로 대체됩니다
  • Inverse3.LocalPosition은 Inverse3.CursorLocalPosition로 대체됩니다
  • Inverse3.TryResetForce()는 Release()로 대체됩니다
  • VerseGrip.LocalRotation은 VerseGrip.Orientation로 대체됩니다
  • JointsSetTorque(Vector3)는 JointsSetTorques(Joint3)로 대체됩니다
  • JointsSetTorque(float, float, float)는 JointsSetTorques(float, float, float)로 대체됩니다
  • JointsSetAngles(Vector3)는 JointsSetAngles(Joint3)로 대체됩니다

← 목차 페이지로돌아가기