주요 콘텐츠로 건너뛰기
버전: 2.1.1

Haply::Inverse::Unity::DeviceBehaviour

일반적인 기능과 상태 관리를 제공하는 역방향 디바이스의 기본 클래스를 나타냅니다.

모노비헤이비어에서 상속합니다.

Haply.Inverse.Unity.Inverse3, Haply.Inverse.Unity.VerseGrip에서 상속됨

공개 이벤트

이름
Action< DeviceBehaviour, Ret >오류 이벤트()
연결 상태 델리게이트ConnectionStateChanged()
디바이스 연결 상태가 변경되면 트리거되는 이벤트입니다.
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState >연결 상태 변경 비동기(
) 장치 연결 상태가 변경된 직후 트리거되는 이벤트입니다.

공공 기능

이름
위임 무효연결 상태 델리게이트(DeviceBehaviour 장치, DeviceConnectionState 상태, DeviceConnectionState 이전 상태)
장치의 연결 상태 변경 처리를 위한 델리게이트입니다.
voidSetSetupToPerform(
) 다음 프레임에서 설정을 수행하도록 지정합니다.
문자열 재정의ToString(
) 개체의 이름, 클래스 유형, 디바이스 ID를 포함하는 사람이 읽을 수 있는 설명을 제공하는 개체의 문자열 표현을 반환합니다.

보호되는 기능

이름
가상 무효Setup(
이 메서드는 _performSetup 플래그가 매 프레임마다 호출하기에는 너무 무거운 계산을 처리하도록 설정되면 자동으로 호출됩니다.
가상 무효Awake()
voidOnEnable()
voidOnDisable()
voidOnDestroy()
가상 무효고정 업데이트()

공용 속성

이름
디바이스 유형디바이스 유형
디바이스의 유형을 가져옵니다.
intSelectedDeviceId
uintDeviceId
디바이스 ID를 가져옵니다.
커서 동작커서
디바이스와 연결된 커서 동작을 가져오거나 설정합니다.
장치 연결 상태연결 상태
디바이스의 현재 연결 상태를 가져오거나 설정합니다.
boolIsConnected
디바이스가 연결되었는지 여부를 가져옵니다.
boolIsOpened
디바이스가 열려 있는지 여부를 가져옵니다.
boolIsReady

보호된 속성

이름
베이스 좌표 변환기CoordinateConverter
boolIsCursorSet
커서가 설정되었는지 여부를 나타냅니다.

공개 속성

이름
const intANY_ID
UnityEvent< DeviceBehaviour >DeviceOpened
연결 상태가 DeviceConnectionState.Opened 상태로 전환될 때 트리거되는 이벤트입니다.
UnityEvent< DeviceBehaviour >DeviceClosed
연결 상태가 DeviceConnectionState.Connected 상태로 전환될 때 트리거되는 이벤트입니다.

보호되는 속성

이름
문자열_객체이름

공개 이벤트 문서

이벤트 오류 이벤트

Action< DeviceBehaviour, Ret > ErrorEvent()

이벤트 연결 상태 변경

ConnectionStateDelegate ConnectionStateChanged()

디바이스 연결 상태가 변경되면 트리거되는 이벤트입니다.

이벤트 연결 상태 변경 비동기

Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState > ConnectionStateChangedAsync()

디바이스 연결 상태가 변경된 직후 트리거되는 이벤트입니다.

참조: 연결 상태 변경

이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.

공용 함수 문서

함수 연결 상태 델리게이트

delegate void ConnectionStateDelegate(
DeviceBehaviour device,
DeviceConnectionState state,
DeviceConnectionState prevState
)

디바이스의 연결 상태 변경 처리를 위한 위임.

매개변수:

  • 상태 디바이스의 새 상태입니다.
  • 이전 상태 디바이스의 이전 상태입니다.
  • device 이벤트를 발생시키는 디바이스 인스턴스입니다.

함수 SetSetupToPerform

void SetSetupToPerform()

다음 프레임에서 설정을 수행하도록 표시합니다.

참조: 설정

함수 ToString

override string ToString()

객체의 이름, 클래스 유형, 디바이스 ID를 포함하는 사람이 읽을 수 있는 설명을 제공하는 객체의 문자열 표현을 반환합니다.

반환합니다: 반환: 이름, 클래스 유형, 디바이스 ID를 포함하여 현재 개체를 나타내는 문자열입니다.

The returned string follows the format: "name <Class>(#id)", where:

  • "이름"은 오브젝트의 _objectName 필드에 입력합니다.
  • "클래스"는 객체의 클래스 유형 이름입니다.
  • "id"는 4자 16진수 문자열 형식의 장치 ID 또는 장치 ID가 다음과 같은 경우 "*"입니다. ANY_ID. 만약 DeviceIdANY_ID의 값은 SelectedDeviceId 가 사용됩니다.

이 방법은 객체에 대한 간결하고 유익한 설명을 제공하여 디버깅 및 로깅에 도움이 됩니다.

보호된 기능 문서

함수 설정

virtual void Setup()

이 메서드는 매 프레임마다 호출하기에는 너무 무거운 계산을 처리하도록 _performSetup 플래그가 설정되면 자동으로 호출됩니다.

에 의해 재구현되었습니다: Haply::Inverse::Unity::Inverse3::설정

이 메서드는 기본 호출을 유지하도록 주의하면서 재정의할 수 있습니다. SetSetupToPerform을 사용하여 설정 호출을 트리거합니다.

함수 Awake

virtual void Awake()

함수 OnEnable

void OnEnable()

함수 OnDisable

void OnDisable()

함수 OnDestroy

void OnDestroy()

함수 고정 업데이트

virtual void FixedUpdate()

에 의해 재구현되었습니다: Haply::Inverse::Unity::Inverse3::FixedUpdate

공공 자산 문서

속성 DeviceType

DeviceType DeviceType;

디바이스 유형을 가져옵니다.

디바이스맵퍼가 아직 설정하지 않은 경우 Inverse.DeviceType.Inverse3, Inverse.DeviceType.VerseGrip 또는 Inverse.DeviceType.Nil일 수 있습니다.

속성 SelectedDeviceId

int SelectedDeviceId;

속성 DeviceId

uint DeviceId;

디바이스 ID를 가져옵니다.

속성 커서

CursorBehaviour Cursor;

디바이스와 연결된 커서 동작을 가져오거나 설정합니다.

속성 연결 상태

DeviceConnectionState ConnectionState;

디바이스의 현재 연결 상태를 가져오거나 설정합니다.

디바이스는 DeviceConnectionState.Disconnected, DeviceConnectionState.Connected 또는 DeviceConnectionState.Opened 상태 중 하나에 있을 수 있습니다. 상태를 변경하면 해당 이벤트와 상태 변경 알림이 트리거됩니다.

속성 IsConnected

bool IsConnected;

디바이스가 연결되어 있는지 여부를 가져옵니다.

속성 IsOpened

bool IsOpened;

디바이스가 열려 있는지 여부를 가져옵니다.

속성 IsReady

bool IsReady;

보호 대상 자산 문서

속성 코디네이트 컨버터

BaseCoordinateConverter CoordinateConverter;

속성 IsCursorSet

bool IsCursorSet;

커서가 설정되었는지 여부를 나타냅니다.

이 프로퍼티는 커서의 존재 확인을 최적화하는 데 도움이 되는데, Unity에서는 null과 직접 비교하는 데 비용이 많이 들 수 있기 때문입니다.

공개 속성 문서

변수 ANY_ID

static const int ANY_ID = 0;

변수 DeviceOpened

UnityEvent< DeviceBehaviour > DeviceOpened;

ConnectionState가 DeviceConnectionState.Opened 상태로 전환될 때 트리거되는 이벤트입니다.

참조: 연결 상태 변경

이는 디바이스가 사용할 준비가 되었음을 나타내며, DeviceIdInverse3.Handedness와 같은 모든 필수 데이터가 올바르게 초기화되었음을 의미합니다. DeviceType에 따라 첫 번째 인수로 전달된 DeviceBehaviour 인스턴스는 해당 유형( Inverse3 또는 VerseGrip)으로 형변환될 수 있습니다.

이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.

변수 DeviceClosed

UnityEvent< DeviceBehaviour > DeviceClosed;

ConnectionState가 DeviceConnectionState.Connected 상태로 전환될 때 트리거되는 이벤트입니다.

참조: 연결 상태 변경

이는 디바이스를 더 이상 사용할 준비가 되지 않았음을 나타냅니다. DeviceType에 따라 첫 번째 인수로 전달된 DeviceBehaviour 인스턴스는 해당 유형( Inverse3 또는 VerseGrip)으로 형변환될 수 있습니다.

이 이벤트는 메인 스레드에서 디스패치되므로 Unity 씬 오브젝트 및 UI 요소와 안전하게 상호 작용할 수 있습니다. 장치 상태는 별도의 고빈도 스레드에서 업데이트되므로 이벤트 처리 시점의 상태가 현재 상태와 약간 다를 수 있습니다. 보다 정밀한 정보가 필요한 경우 ConnectionStateChanged 이벤트를 사용하세요.

보호된 속성 문서

변수 _객체이름

string _objectName;