← 색인 페이지로돌아가기
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는 기기의 현재 전원 공급 상태를 나타냅니다.PowerSupplyStatusChangedUnity 이벤트는 전원 공급 상태가 변경될 때마다 발생합니다.OrientationInverse3 의 현재 방향을 가져옵니다.OrientationChangedAsync이 이벤트는 본체의 방향이 바뀔 때마다 발생합니다.RequestOrientation()은 본체의 방향을 수동으로 요청합니다.ControlMode는 현재 제어 모드(CursorForce, CursorPosition, JointsTorques, JointsAngles)를 가져옵니다.ControlModeChangedUnity 이벤트는 제어 모드가 변경될 때마다 발생합니다.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)로 대체됩니다
← 목차 페이지로돌아가기