Haply::Inverse::Unity::VerseGrip
상태와 상호작용을 처리하는 VerseGrip 디바이스를 나타냅니다.
DeviceBehaviour에서 상속
공개 이벤트
이름 | |
---|---|
디바이스 델리게이트 | DeviceStateChanged( ) 버즈그립 디바이스의 상태가 변경될 때 트리거되는 이벤트입니다. |
공공 기능
이름 | |
---|---|
위임 무효 | DeviceDelegate(버즈그립 디바이스) 버즈그립 상태 변경 처리를 위한 델리게이트입니다. |
bool | GetButton(VerseGripButton 버튼=VerseGripButton.Button0) 사용자가 버튼을 누르고 있는 동안 참을 반환합니다. |
bool | GetButtonDown(버즈그립버튼 버튼 =버즈그립버튼.버튼0) 사용자가 지정된 버튼을 누르기 시작하는 프레임 동안 참을 반환합니다. |
bool | GetButtonUp(버즈그립버튼 버튼 =버즈그립버튼.버튼0) 사용자가 지정된 버튼에서 손을 떼기 시작하는 프레임 동안 참을 반환합니다. |
보호되는 기능
이름 | |
---|---|
오버라이드 무효 | 클라이언트 리스너 추가(내부.클라이언트커넥션 클라이언트커넥션) |
오버라이드 무효 | 클라이언트 리스너 제거(내부.클라이언트커넥션 클라이언트커넥션) |
공용 속성
이름 | |
---|---|
재정의 장치 유형 | 디바이스 유형 |
커서 동작 재정의 | 커서 |
쿼터니언 | 로컬 회전 부모 트랜스폼을 기준으로 한VerseGrip 방향입니다. |
bool | IsAttached 버즈그립이 Inverse3에 부착되어 있는지 여부를 나타냅니다. |
int | 버튼 수 |
공개 속성
이름 | |
---|---|
UnityEvent< VerseGrip > | Attached 버즈그립이 디바이스에 부착되면 트리거되는 이벤트입니다. |
UnityEvent< VerseGrip > | Detached 버즈그립이 디바이스에서 분리될 때 트리거되는 이벤트입니다. |
UnityEvent< VerseGrip, VerseGripButton > | ButtonDown 버즈그립 버튼을 눌렀을 때 트리거되는 이벤트입니다. |
UnityEvent< VerseGrip, VerseGripButton > | ButtonUp 버즈그립 버튼이 해제되면 트리거되는 이벤트입니다. |
공개 이벤트 문서
이벤트 장치 상태 변경
DeviceDelegate DeviceStateChanged()
VerseGrip 디바이스의 상태가 변경될 때 트리거되는 이벤트입니다.
이 이벤트는 디바이스의 방향 변경이나 버튼 누름에 실시간으로 대응하는 데 유용합니다. 이 이벤트 중에는 LocalRotation, GetButton 또는 IsAttached와 같은 속성을 사용할 수 있습니다.
이 이벤트가 트리거되는 빈도는 햅틱 루프 주파수에 의해 결정되며, ClientConfiguration.HapticFrequencyHz를 통해 구성할 수 있습니다.
공용 함수 문서
함수 디바이스 델리게이트
delegate void DeviceDelegate(
VerseGrip device
)
버즈그립 상태 변경 처리를 위한 델리게이트.
매개변수:
- device 이벤트를 트리거한 VerseGrip 디바이스입니다.
함수 GetButton
bool GetButton(
VerseGripButton button =VerseGripButton.Button0
)
사용자가 버튼을 누르고 있는 동안 참을 반환합니다.
매개변수:
- 버튼 확인 버튼입니다.
반환합니다: 반환: 버튼을 누르면 참, 그렇지 않으면 거짓입니다.
함수 GetButtonDown
bool GetButtonDown(
VerseGripButton button =VerseGripButton.Button0
)
프레임 중에 사용자가 지정된 버튼을 누르기 시작하면 참을 반환합니다.
매개변수:
- 버튼 확인 버튼입니다.
참조: 버튼다운, 버튼업, 디바이스 상태 변경, 버튼 가져오기, 버튼업 가져오기
반환합니다: 이 프레임에 버튼을 누르면 참, 그렇지 않으면 거짓입니다.
이 메서드가 올바르게 작동하려면 DeviceStateChanged 이벤트 콜백 내에서 호출해야 합니다. 메인 스레드에서 호출하면 버튼 상태가 변경될 때 프레임을 놓칠 수 있습니다. 메인 스레드에서 사용하려면 ButtonDown 이벤트를 사용하는 것이 좋습니다.
함수 GetButtonUp
bool GetButtonUp(
VerseGripButton button =VerseGripButton.Button0
)
사용자가 지정된 버튼에서 손을 떼기 시작하는 프레임 동안 true를 반환합니다.
매개변수:
- 버튼 확인 버튼입니다.
참조: 버튼다운, 버튼업, 디바이스 상태 변경, 버튼 가져오기, 버튼 내리기, 버튼 내리기
반환합니다: 이 프레임에서 버튼을 눌렀으면 참, 그렇지 않으면 거짓입니다.
이 메서드가 올바르게 작동하려면 DeviceStateChanged 이벤트 콜백 내에서 호출해야 합니다. 메인 스레드에서 호출하면 버튼 상태가 변경될 때 프레임을 놓칠 수 있습니다. 메인 스레드에서 사용하려면 ButtonUp 이벤트를 사용하는 것이 좋습니다.
보호된 기능 문서
함수 추가 클라이언트 리스너
override void AddClientListeners(
Internal.ClientConnection clientConnection
)
함수 제거 클라이언트 리스너
override void RemoveClientListeners(
Internal.ClientConnection clientConnection
)
공공 자산 문서
속성 DeviceType
override DeviceType DeviceType;
속성 커서
override CursorBehaviour Cursor;
이 프로퍼티는 기본 DeviceBehaviour.Cursor 프로퍼티를 재정의하며 VerseGripCursor로 안전하게 캐스팅할 수 있습니다. 이 프로퍼티를 설정하면 DeviceBehaviour._performSetup 플래그도 업데이트됩니다.
속성 LocalRotation
Quaternion LocalRotation;
부모 트랜스폼을 기준으로 한 VerseGrip 방향입니다.
일관된 값을 얻으려면 장치 DeviceBehaviour.ConnectionState가 먼저 DeviceConnectionState.Opened여야 합니다.
속성 IsAttached
bool IsAttached;
버즈그립이 Inverse3에 부착되어 있는지 여부를 나타냅니다.
속성 ButtonCount
static int ButtonCount;
공개 속성 문서
변수 첨부
UnityEvent< VerseGrip > Attached;
버즈그립이 디바이스에 연결되면 트리거되는 이벤트입니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고주파 스레드에서 업데이트되므로 이벤트 발생 시점의 상태와 이벤트 처리 시점의 상태가 약간 다를 수 있습니다.
변수 분리됨
UnityEvent< VerseGrip > Detached;
버즈그립이 디바이스에서 분리될 때 트리거되는 이벤트입니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고주파 스레드에서 업데이트되므로 이벤트 발생 시점의 상태와 이벤트 처리 시점의 상태가 약간 다를 수 있습니다.
변수 ButtonDown
UnityEvent< VerseGrip, VerseGripButton > ButtonDown;
버즈그립 버튼을 눌렀을 때 트리거되는 이벤트입니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고주파 스레드에서 업데이트되므로 이벤트 발생 시점의 상태와 이벤트 처리 시점의 상태가 약간 다를 수 있습니다.
변수 ButtonUp
UnityEvent< VerseGrip, VerseGripButton > ButtonUp;
버즈그립 버튼에서 손을 떼면 이벤트가 트리거됩니다.
이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고주파 스레드에서 업데이트되므로 이벤트 발생 시점의 상태와 이벤트 처리 시점의 상태가 약간 다를 수 있습니다.