←목차로 돌아가기
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과 함께 将
device~로서ConnectionStateChanged사건의 첫 번째 매개변수 전달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(기본값) 또는ContinuousdevicesInfoPollDelay최소 안전값: 신체 방향을 요청할 때는1sec,그렇지 않으면0.5sec。- 컴포넌트가 활성화된 경우에만 초기화됩니다.
- 필터링 조건이 적용된 장비 조회 방법:
GetInverse3Devices(handedness)지정된 손 사용 방향(handedness)에 따라 필터링된 ‘ Inverse3 ’ 기기를 가져옵니다.GetVerseGripDevices(handedness)지정된 손 사용 방향(handedness)과 일치하는 Inverse3 기기와 연동된 VerseGrip 기기를 가져옵니다.GetInverse3(handedness)지정된 손 사용 방향(handedness)과 일치하는 첫 번째 ‘ Inverse3 ’ 장치를 가져옵니다.GetInverse3(verseGrip)지정된 VerseGrip 장치와 연결된 Inverse3 장치를 가져옵니다.GetVerseGrip(inverse3)Inverse3 장치와 연결된 VerseGrip 장치를 가져오거나 지정합니다.
- VerseGripCursor 및 Inverse3Body 컴포넌트에 OrientationSettings가추가되었습니다.
VerseGrip.Orientation대체VerseGrip.LocalRotation。- Inverse3 캐시에 명시적인 Inverse3D데이터 유형:
- 캐시 상태 속성:
CursorPosition、JointsAngles、JointsAngularVelocity、Orientation, GravityCompensation、StatusPowerSupply、ConfigTorqueScaling- 캐시 제어 출력
속성:
ControlMode、CursorForceOutput、CursorPositionOutput、JointsTorqueOutput,JointsAnglesOutput。 coordinateConverter지정된 좌표계를 기준으로 수신 및 전송되는 데이터를 변환하는 데 사용됩니다.- 캐시 구독 클라이언트를 설정하여 자동으로 업데이트되도록 합니다.
- 캐시가 업데이트될 때 이벤트가 발생합니다.
- 캐시 상태 속성:
- 명시적인
Joint3세 개의 float 멤버를 포함하는 구조체j0、j1와j2(사용 목적:JointsSetTorque와JointsSetAngles). - VerseGrip 캐시에 명시적인 VerseGripData 유형:
- 캐시 상태 속성:
Orientation、IsAttached、ButtonCount。 - 버튼 상태 캐시.
- 캐시 구독 클라이언트를 설정하여 자동으로 업데이트되도록 합니다.
coordinateConverter수신된 데이터를 지정된 좌표계로 변환하는 데 사용됩니다.- 캐시가 업데이트될 때 이벤트가 발생합니다.
- 캐시 상태 속성:
- CoordinateConverter(대체)
UnityConvert), 이는 각각 장치 좌표계를 Unity 좌표계로 변환하는 방법을 정의하는 데 사용됩니다:Inverse3CoordinateConverter, 커서 좌표와 캐릭터의 방향을 변환하는 데 사용됩니다.VerseGripCoordinateConverter,VerseGrip의 방향을 변경하는 데 사용됩니다.Vector3Settings와QuaternionSettings좌표계 변환 설정을 저장하는 구조체입니다.- Inverse3 와 VerseGrip에 대한 기본 좌표 변환기 사전 설정을 ‘컴포넌트’ 또는 ‘Assets’ 메뉴를 통해 생성할 수 있습니다.
- Inverse3(팔을 앞으로 뻗은 자세) 변환기로, 팔이 사용자를 향하고 LED 아이콘이 측면에 위치한 기기에 적합하도록 설정되어 있습니다.
- Inverse3(아이콘 전방 방향) 변환기로, LED 아이콘이 사용자를 향하고 팔이 옆에 위치한 기기에 적합하도록 설정되어 있습니다.
- VerseGrip(기본값) 변환기. 화면이 정면을 향하고 사용자 입력 버튼이 상단에 위치한 기기에 적합합니다.
- 클라이언트 연결 장치가 켜졌을 때 가져오기
FirmwareVersion、GravityCompensation와TorqueScaling。 - 연결 모니터 표시
GravityCompensation、TorqueScaling와PowerSupply。
버그 수정
Inverse3.DeviceStateChanged호출 시에도 마찬가지로JointsSetTorque와JointsSetAngles때 발동됩니다.- 연결이 끊어지면 기기가 자동으로 다시 연결됩니다.
- 종료 시 클라이언트 폴링 스레드를 정리하도록 구현합니다.
- 몇 가지 버그를 수정하고 안정성을 개선했습니다.
- 씬 언로드/로드 후 발생하는 장치 매핑 문제 수정
사용 중단됨
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)대체하다
←목차로 돌아가기