← 색인 페이지로 돌아가기
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 이벤트는 전원 공급 상태가 변경될 때마다 발생합니다.Orientation은 Inverse3 디바이스의 현재 방향을 가져옵니다.OrientationChangedAsync이벤트는 본체 방향이 변경될 때마다 발생합니다.RequestOrientation()은 본체 방향을 수동으로 요청합니다.ControlMode는 현재 제어 모드(CursorForce, CursorPosition, JointsTorques, JointsAngles)를 가져옵니다.ControlModeChangedUnity 이벤트는 제어 모드가 변경될 때마다 발생합니다.ForceOutput,PositionOutput,JointsTorqueOutput및JointsAnglesOutput은 현재 출력값을 가져옵니다.Release()는 null 힘을 전송하여 디바이스 제어를 재설정합니다(TryResetForce()를 대체함).CoordinateConverter는 프리셋 파일 또는 직접 입력한 값으로 좌표 변환 설정을 정의합니다.ErrorEvent는 매핑된 디바이스와 관련된 ClientConnection 오류 이벤트가 추가되면 (메인 스레드에서) 발생합니다.
- 디바이스 데이터(인스펙터)는
- VerseGrip:
CoordinateConverter는 프리셋 파일 또는 직접 입력한 값으로 좌표 변환 설정을 정의합니다.ErrorEvent는 매핑된 디바이스와 관련된 ClientConnection 오류 이벤트가 추가되면 (메인 스레드에서) 발생합니다.
- DeviceMapper:
- 런타임에 연결된 디바이스를 매핑합니다.
- 각 Inverse3 디바이스의 Inverse3 Power Supply 및 Body Orientation을 가져옵니다.
DeviceInfoPollingMode모드는Manual,Once(기본값) 또는Continuous입니다.devicesInfoPollDelay의 안전 최솟값은 본체 방향을 요청하는 경우1sec, 그렇지 않은 경우0.5sec입니다.- 컴포넌트가 활성화된 경우에만 초기화됩니다.
- 필터링된 디바이스 getter:
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 캐시를 위한 명시적 Inverse3Data 타입:
- 캐시된 상태 속성:
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는 커서 좌표와 본체 방향을 변환합니다.VerseGripCoordinateConverter는 VerseGrip 방향을 변환합니다.Vector3Settings및QuaternionSettings구조체는 좌표계 변환 설정을 저장하는 데 사용됩니다.- 컴포넌트 또는 Assets 메뉴에서 Inverse3 및 VerseGrip용 기본 좌표 변환기 프리셋을 생성합니다.
- Inverse3 (Arm Forward Pose) 변환기: 팔이 사용자를 향하고 LED 아이콘이 측면에 있는 디바이스용 설정입니다.
- Inverse3 (Icon Forward Pose) 변환기: LED 아이콘이 사용자를 향하고 팔이 측면에 있는 디바이스용 설정입니다.
- VerseGrip (기본값) 변환기: 화면을 향하고 사용자 입력 버튼이 위쪽에 있는 디바이스용입니다.
- 디바이스가 열리면 ClientConnection이
FirmwareVersion,GravityCompensation,TorqueScaling을 가져옵니다. - ConnectionMonitor는
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)으로 대체됩니다
← 목차 페이지로 돌아가기