本文へスキップ
バージョン: 2.1.1

Haply::Inverse::Unity::Inverse3

Inverse3のデバイスコントローラーを表し、デバイスのデータと状態の更新を管理します。 詳細...

Haply.Inverse.Unity.DeviceBehaviour、MonoBehaviourを継承しています。

イベント

名称
デバイスデリゲートデバイス状態変更()
各ハプティックフレームでトリガーされるイベント。
Action< Inverse3 >OrientationChangedAsync()
Inverse3デバイスのボディの向きが変わるたびにトリガーされる。

公共機能

名称
デリゲート・ボイドデバイスデリゲート(Inverse3inverse3)
Inverse 3デバイスのInverse3.DeviceStateChangedイベントを処理するメソッドを表します。
ボイドRequestPowerSupplyStatus()
現在の電源状態(Powered)の更新を要求し、完了時にPowerSupplyStatusChangedイベントをトリガする。
ボイドリクエストオリエンテーション()
Inverse3本体のOrientationの更新をリクエストし、完了するとOrientationChangedAsyncイベントをトリガーする。
ボイドCursorSetLocalForce(in Vector3 force)
デバイスのローカル空間の x, y, z 軸に沿ってカーソルにかかる力をニュートン (N) で設定します。
ボイドCursorSetLocalForce(float x, float y, float z)
ボイドカーソルセットフォース(in Vector3 force)
カーソルにかかる力をワールド空間のニュートン(N)で設定します。
ボイドCursorSetForce(float x, float y, float z)
ボイドCursorSetLocalPosition(in Vector3 position)
カーソルの位置設定ポイントを、デバイスのローカル空間の x 軸、y 軸、z 軸に沿ってメートル (m) 単位で設定します。
ボイドカーソル位置設定(float x, float y, float z)
ボイドカーソル位置設定(in Vector3 position)
カーソルの位置設定点をワールド空間のメートル(m)単位で設定する。
ボイドカーソル位置設定(float x, float y, float z)
ボイドJointsSetTorques(Joint3 torques)
Inverse3デバイスの各ジョイントに必要なトルクをニュートンミリメートル (Nmm) 単位で設定します。
ボイドジョインツセットトルク(float t0, float t1, float t2)
ボイドトルク設定(Vector3 angles)
ボイドトルク設定(float x, float y, float z)
ボイドJointsSetAngles(Joint3 angles)
Inverse3デバイスの各関節に、希望する関節角度を度 (°) 単位で設定します。
ボイド関節角度設定(float alpha0, float alpha1, float alpha2)
ボイド角度設定(Vector3 angles)
ブール解除()
カーソルのすべての力と位置の制御をリセットしようとする。
ブールトライリセットフォース()
ベクトル3TransformPoint(Vector3 position)
キャッシュされたLocalToWorldMatrixを使用して、デバイスまたはカーソルのローカル空間からワールド空間に位置を変換する。
ベクトル3TransformVector(Vector3 vector)
キャッシュされたLocalToWorldMatrix を使用して、デバイスまたはカーソルのローカル空間からワールド空間にベクトルを変換します。
ベクトル3InverseTransformPoint(Vector3 position)
キャッシュされたWorldToLocalMatrix を使用して、ワールド空間からデバイスまたはカーソルのローカル空間に位置を変換します。
ベクトル3逆変換ベクトル(Vector3 vector)
キャッシュされたWorldToLocalMatrix を使用して、ベクトルをワールド空間からデバイスまたはカーソルのローカル空間に変換します。
オーバーライド文字列ToString()
オブジェクトの文字列表現を返し、オブジェクトの名前、クラスタイプ、デバイスID、および選択されたハンドネスを含む、人間が読める説明を提供する。

保護された機能

名称
仮想オーバーライド voidセットアップ()
このメソッドは、_performSetupフラグがセットされると自動的に呼び出され、各フレームで呼び出すには重すぎる計算を処理する。 このメソッドは、ベース・コールを維持するように注意してオーバーライドすることができます。SetSetupToPerform を使用してSetup呼び出しをトリガーします。
仮想オーバーライド void固定更新()

公共施設

名称
オーバーライド DeviceTypeデバイスタイプ
デバイスのタイプを取得します。このコントローラでは常にDeviceType.Inverse3を返します。
オーバーライドCursorBehaviourカーソル
インバース3ボディボディ
GameObjectが自動的にInverse3のボディOrientationで回転する。
ベクトル3カーソル位置
デバイスローカル空間におけるInverse3カーソルの位置をメートル(m)単位で取得します。
ベクトル3ローカルポジション
ベクトル3カーソル位置
CursorLocalPositionとLocalToWorldMatrixからInverse3カーソルのワールド空間の位置を取得する。
ベクトル3ポジション
ベクトル3CursorLocalVelocity
デバイスローカル空間におけるInverse3カーソルの速度をm/sで取得します。
ベクトル3ローカルベロシティ
ベクトル3カーソルベロシティ
CursorLocalVelocityとLocalToWorldMatrixからInverse3カーソルのワールド空間の速度を取得します。
ベクトル3速度
ジョイント3ジョイント角度
Inverse3デバイスの現在の関節角度を度単位で取得します。
ジョイント3ジョイント角速度
Inverse3デバイスの関節の現在の角速度を度/秒で取得します。
手の大きさタイプ選択された手の長さ
Inverse3デバイスの希望するハンドネスタイプを取得または設定します。
手の大きさタイプハンドネス
実行時にデバイスのハンドネス・タイプを取得します。
ブール電源あり
デバイスが現在給電されているかどうかを示す。
クォータニオンオリエンテーション
最後に受信した方位データに基づき、Inverse3デバイスの現在の方位を取得します。
ベクトル3ワークスペース中央左
HandednessType.Left-handedデバイスのワークスペース中心ローカル座標。
ベクトル3ワークスペース中心座標
HandednessType.Right-handedデバイスのワークスペース中心ローカル座標。
ベクトル3ワークスペース中心
Handedness値に応じたワークスペース中心のローカル座標。
制御モードコントロールモード
デバイスの現在の制御モードを取得します。
ベクトル3ForceOutput
CursorSetForce または CursorSetLocalForce メソッドによってデバイスに送られた最後の力。
ベクトル3位置の出力
CursorSetPosition または CursorSetLocalPosition メソッドによってデバイスに送信された最後の位置。
ジョイント3JointsTorqueOutput(ジョインツトルクアウトプット
JointsSetTorqueメソッドによってデバイスに送信された最後のトルク。
ジョイント3JointsAnglesOutput
JointsSetAnglesメソッドによってデバイスに送信された最後の角度。
マトリックス4x4ローカル・ワールド行列
デバイスまたはカーソル空間をワールド空間に変換する行列。
マトリックス4x4WorldToLocalMatrix
ワールド空間からデバイス空間またはカーソル空間に変換する行列。

保護されたプロパティ

名称
オーバーライドBaseCoordinateConverter座標変換
トランスフォームSpaceTransformationReference
LocalToWorldMatrixWorldToLocalMatrix のセットアップに使用される参照変換。

パブリック属性

名称
UnityEvent< Inverse3, bool >PowerSupplyStatusChanged
Inverse3デバイスの電源ステータスが変更されるたびにトリガーされます。
UnityEvent< Inverse3, ControlMode >コントロールモードチェンジ
デバイスの制御モードが変更されたときにトリガーされるイベント。

その他の継承メンバー

パブリックイベント 継承Haply.Inverse.Unity.DeviceBehaviour

名称
Action< DeviceBehaviour, Ret >エラー・イベント()
接続ステート・デリゲートConnectionStateChanged()
デバイスの接続状態が変更されたときにトリガーされるイベント。
Action< DeviceBehaviour, DeviceConnectionState, DeviceConnectionState >ConnectionStateChangedAsync()
デバイスの接続状態が変更された直後にトリガーされるイベント。

パブリック関数 継承Haply.Inverse.Unity.DeviceBehaviour

名称
デリゲート・ボイドConnectionStateDelegate(DeviceBehaviourdevice, DeviceConnectionState state, DeviceConnectionState prevState)
デバイスの接続状態の変更を処理するためのデリゲート。
ボイドセットアップの実行()
次のフレームでセットアップを実行することを示す。

関数 継承Haply.Inverse.Unity.DeviceBehaviour

名称
仮想空白目覚め()
ボイドオンイネーブル()
ボイド無効化()
ボイドオンデストロイ()

パブリック プロパティ 継承Haply.Inverse.Unity.DeviceBehaviour

名称
イント選択デバイスID
ウイントデバイスID
デバイスIDを取得します。
デバイス接続状態接続状態
デバイスの現在の接続状態を取得または設定します。
ブールIsConnected
デバイスが接続されているかどうかを取得します。
ブールIsOpened
デバイスが開いているかどうかを取得します。
ブール準備完了

プロパティ 継承Haply.Inverse.Unity.DeviceBehaviour

名称
ブールIsCursorSet
カーソルが設定されているかどうかを示します。

パブリック属性 継承Haply.Inverse.Unity.DeviceBehaviour

名称
const intANY_ID
UnityEvent< DeviceBehaviour >デバイスオープン
ConnectionStateがDeviceConnectionState.Opened状態に遷移したときにトリガーされるイベント。
UnityEvent< DeviceBehaviour >デバイスクローズ
ConnectionStateがDeviceConnectionState.Connected状態に遷移したときにトリガーされるイベント。

保護された属性 継承Haply.Inverse.Unity.DeviceBehaviour

名称
ストリングオブジェクト名

詳細

class Haply::Inverse::Unity::Inverse3;

Inverse3のデバイスコントローラーを表し、デバイスデータと状態の更新を管理します。

このコンポーネントは、Unityシーンの物理的なInverse3デバイスを表すGameObjectにアタッチする必要があります。

公開イベント・ドキュメント

イベント DeviceStateChanged

DeviceDelegate DeviceStateChanged()

各ハプティックフレームでトリガーされるイベント。

参照してください:ClientConfiguration.HapticPollFrequencyを参照。

カーソルの位置と速度がリアルタイムで更新される。

このイベントは、カーソルの状態を継続的に追跡する必要があるアプリケーションや、リアルタイムの制御コマンドを適用する場合に便利です。このイベントでは、CursorPositionCursorVelocityCursorLocalPositionCursorLocalVelocityなどのプロパティを使用できます。

そして、以下のようなコントロール方法だ:

このイベントがトリガーされる頻度は、ClientConfiguration.HapticPollFrequencyで設定できるハプティックループの頻度によって決まります。

イベント OrientationChangedAsync

Action< Inverse3 > OrientationChangedAsync()

Inverse3デバイスのボディの向きが変わるたびにトリガーされる。

パブリック・ファンクション・ドキュメント

関数 DeviceDelegate

delegate void DeviceDelegate(
Inverse3 inverse3
)

Inverse3デバイスのInverse3.DeviceStateChangedイベントを処理するメソッドを表します。

パラメーター

  • inverse3イベントを発生させるInverse3デバイスのインスタンス。

関数 RequestPowerSupplyStatus

void RequestPowerSupplyStatus()

現在の電源の状態(Powered)の更新を要求し、完了するとPowerSupplyStatusChangedイベントをトリガーする。

注意:このメソッドを頻繁に呼び出すと(例えば、Updateループ内)、パフォーマンスが低下したり、触覚のジッターが発生したりすることがあります。特定のユーザーアクションやイベントに基づいて、このメソッドを慎重に使用するか、DeviceMapperDeviceMapper.DeviceInfoPollingMode.Continuousモードを使用することをお勧めします。

関数 RequestOrientation

void RequestOrientation()

Inverse3本体のOrientationの更新を要求し、完了するとOrientationChangedAsyncイベントをトリガーします。

デバイスの向きデータを手動で更新するには、このメソッドを使用します。ボディが設定されている場合、そのトランスフォームは新しい向きで自動的に更新されます。注意:このメソッドを頻繁に呼び出すと(Updateループ内など)、パフォーマンスが低下したり、ハプティック・ジッターが発生したりすることがあります。特定のユーザーアクションやイベントに基づいて、このメソッドを慎重に使用するか、DeviceMapperDeviceMapper.DeviceInfoPollingMode.Continuousモードを使用することをお勧めします。

関数 CursorSetLocalForce

void CursorSetLocalForce(
in Vector3 force
)

デバイスのローカル空間のx、y、z軸に沿って、カーソルにかかる力をニュートン(N)で設定する。

パラメーター

  • forceデバイスのローカル空間における、ニュートン(N)単位の希望する力ベクトル。

例外あり

  • InvalidOperationExceptionクライアント接続が確立されなかった場合にスローされる。
  • Exceptionサービスから予期せぬエラーを受信した場合にスローされる。

このメソッドは、処理されていない力ベクトルをローカル空間のデバイスに直接送信します。CursorLocalPositionおよびCursorLocalVelocity と組み合わせてのみ使用する必要があります。力の計算がワールド空間座標(CursorPositionおよびCursorVelocity)に基づいている場合、または変換された(位置、回転、またはスケール)コントローラを含む場合は、代わりにCursorSetForce を使用する必要があります。

力を発生させると、デバイスのLEDが緑色に点灯する。Inverse3デバイスは合計10Nまでの力を発生させることができますが、達成可能な最大力はワークスペースによって異なります。要求された力がデバイスの能力を超える場合、デバイスは同じ方向に可能な最大の力を発生させるか、力のスケーリングが有効な場合は、同様の方向を維持しながら達成可能な最大の力を提供するように調整します。すべての軸に沿った力をゼロに設定すると、カーソルに正味の力は発生しませんが、カーソルは、有効な場合、重力補正されたままになります。

関数 CursorSetLocalForce

void CursorSetLocalForce(
float x,
float y,
float z
)

関数 CursorSetForce

void CursorSetForce(
in Vector3 force
)

ワールド空間でカーソルにかかる力をニュートン(N)単位で設定します。

パラメーター

  • forceワールド空間でのニュートン(N)単位の力ベクトル。

参照CursorSetLocalForceInverseTransformVectorを参照してください

このメソッドは、提供された力ベクトルをデバイスに送信する前に、ワールド空間からデバイスのローカル空間に変換します。これは、力の計算がワールド空間座標に基づいている場合に使用する必要があります。直接ローカル空間を制御する場合は、代わりにCursorSetLocalForceを使用してください。

関数 CursorSetForce

void CursorSetForce(
float x,
float y,
float z
)

関数 CursorSetLocalPosition

void CursorSetLocalPosition(
in Vector3 position
)

カーソルの位置設定点を、デバイスのローカル空間の x 軸、y 軸、z 軸に沿ってメートル (m) 単位で設定する。

パラメーター

  • positionデバイスのローカル空間における、メートル(m)単位の希望位置ベクトル。

例外あり

  • InvalidOperationExceptionクライアント接続が確立されなかった場合にスローされる。
  • Exceptionサービスから予期せぬエラーを受信した場合にスローされる。

このメソッドは、指定された位置にカーソルを移動させる位置セットポイントを設定する。このメソッドは、ローカル空間のデバイスに非処理位置を直接送信します。位置計算がワールド空間座標(CursorPositionCursorVelocity)に基づいている場合、および/または変換された(位置、回転、またはスケール)コントローラを含む場合は、CursorSetPositionを考慮する必要があります。

位置制御モードでは、デバイスのLEDが青色に点灯します。到達不可能な位置を設定すると、Inverse3デバイスのアームはゆっくりと下降するか、現在の位置に留まります。位置制御モードを終了するには、力(ゼロでも可)を加えるか、TryResetForce を使用するか、デバイスから切断します。

関数 CursorSetLocalPosition

void CursorSetLocalPosition(
float x,
float y,
float z
)

関数 CursorSetPosition

void CursorSetPosition(
in Vector3 position
)

カーソルの位置設定点をワールド空間のメートル(m)単位で設定する。

パラメーター

  • positionワールド空間のメートル(m)単位の希望位置ベクトル。

参照CursorSetLocalPositionInverseTransformPointを参照。

このメソッドは、位置設定点を設定する前に、提供された位置をワールド空間からデバイスのローカル空間に変換する。これは、位置計算がワールド空間座標に基づいている場合に使用する必要があります。直接ローカル空間を制御する場合は、代わりにCursorSetLocalPositionを使用します。

関数 CursorSetPosition

void CursorSetPosition(
float x,
float y,
float z
)

関数JointsSetTorques

void JointsSetTorques(
Joint3 torques
)

Inverse3デバイスの各ジョイントに必要なトルクをニュートンミリメートル(Nmm)で設定します。

パラメーター

  • トルク各機器のジョイントに必要なトルク。

例外あり

  • InvalidOperationExceptionthrowExceptionがtrueで、クライアント接続が確立されなかった場合にスローされる。
  • Exceptionサービスから予期せぬエラーを受信した場合にスローされる。

トルクが発生すると、デバイスのLEDが緑色に点灯する。

Inverse3デバイスは、各ジョイントで最大1000Nmmのトルクを発生させることができます。希望するトルクがこの制限を超える場合、デバイスは代わりに最大トルクを発生します。

関数JointsSetTorques

void JointsSetTorques(
float t0,
float t1,
float t2
)

関数JointsSetTorque

void JointsSetTorque(
Vector3 angles
)

関数JointsSetTorque

void JointsSetTorque(
float x,
float y,
float z
)

関数JointsSetAngles

void JointsSetAngles(
Joint3 angles
)

Inverse3デバイスの各関節の希望する関節角度を度(°)で設定します。

パラメーター

  • 角度各デバイスのジョイントの希望角度。

例外あり

  • InvalidOperationExceptionthrowExceptionがtrueで、クライアント接続が確立されなかった場合にスローされる。
  • Exceptionサービスから予期せぬエラーを受信した場合にスローされる。

デバイスの希望する関節角度を設定します。達成不可能な角度を設定すると、デバイスは物理的に達成可能な最も近い構成に移動します。例えば (-90, 180, 0) は、頭部が平行で腕が身体に対して垂直になる位置にデバイスを移動させる。

関数JointsSetAngles

void JointsSetAngles(
float alpha0,
float alpha1,
float alpha2
)

関数JointsSetAngles

void JointsSetAngles(
Vector3 angles
)

機能リリース

bool Release()

カーソルのすべての力と位置の制御をリセットしようとする。

返す:クライアント接続が確立されていないか、予期しないエラーが発生した場合は false。

このメソッドは、ClientConnection が既に閉じている場合は例外をスローしないので、プログラムの終了時や OnDisable イベントでの使用に適しています。クライアント接続が確立されていない場合や、力および位置制御のリセット中にサービスから予期しないエラーを受信した場合は、false を返します。

関数 TryResetForce

bool TryResetForce()

関数 TransformPoint

Vector3 TransformPoint(
Vector3 position
)

キャッシュされたLocalToWorldMatrixを使用して、デバイスまたはカーソルのローカル空間からワールド空間に位置を変換する。

パラメーター

  • ポジション現地でのポジション

参照LocalToWorldMatrixを参照。

戻る:世界のポジション

InverseTransformPointを使えば、ワールド空間からローカル空間への逆変換を行うことができる。

関数 TransformVector

Vector3 TransformVector(
Vector3 vector
)

キャッシュされたLocalToWorldMatrixを使用して、デバイスまたはカーソルのローカル空間からワールド空間へベクトルを変換する。

パラメーター

  • ベクトルローカル・ベクトル。

参照LocalToWorldMatrixを参照。

戻る:世界のベクトル。

InverseTransformVectorを使えば、ワールド空間からローカル空間への逆変換を行うことができる。

関数 InverseTransformPoint

Vector3 InverseTransformPoint(
Vector3 position
)

キャッシュされたWorldToLocalMatrixを使用して、ワールド空間からデバイスまたはカーソルのローカル空間に位置を変換する。

パラメーター

  • ポジションワールドポジション

参照WorldToLocalMatrix

戻る:現地でのポジション

トランスフォーム・ポイントの反対。

関数 InverseTransformVector

Vector3 InverseTransformVector(
Vector3 vector
)

キャッシュされたWorldToLocalMatrixを使用して、ワールド空間からデバイスまたはカーソルのローカル空間にベクトルを変換します。

パラメーター

  • ベクトル世界ベクトル。

参照WorldToLocalMatrix

返す:ローカルベクトル。

TransformVectorの反対。

関数 ToString

override string ToString()

オブジェクトの文字列表現を返します。オブジェクトの名前、クラスタイプ、デバイスID、および選択されたハンドネスを含む、人間が読める説明を提供します。

戻り値現在のオブジェクトを表す文字列(名前、クラスタイプ、デバイスID、選択されたハンドネスを含む)。

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

  • 「name "はオブジェクトの _objectName フィールドにいる。
  • "Class "はオブジェクトのクラスタイプの名前である。
  • 「id」はデバイスIDで、4文字の16進文字列としてフォーマットされる。 ANY_ID.もし DeviceIdANY_IDの値である。 SelectedDeviceId が使われている。
  • "handness "は、選択された手の長さであり、".left"、".right "で表される。 SelectedHandednessNil.

このメソッドは、オブジェクトの簡潔で有益な説明を提供することで、デバッグやロギングに役立ちます。

保護された関数のドキュメント

機能 セットアップ

virtual override void Setup()

このメソッドは、_performSetupフラグが設定されると自動的に呼び出され、各フレームで呼び出すには重すぎる計算を処理する。 このメソッドは、ベース・コールを維持するように注意すればオーバーライドできる。SetSetupToPerformを使用してSetupコールをトリガーする。

を再実装しています:Haply::Inverse::Unity::DeviceBehaviour::Setup

関数 FixedUpdate

virtual override void FixedUpdate()

を再実装しています:Haply::Inverse::Unity::DeviceBehaviour::FixedUpdate。

公共財産の文書化

プロパティ DeviceType

override DeviceType DeviceType;

デバイスのタイプを取得します。このコントローラでは常にDeviceType.Inverse3を返します。

プロパティ カーソル

override CursorBehaviour Cursor;

このプロパティは、ベースとなるDeviceBehaviour.Cursorプロパティをオーバーライドし、安全にInverse3Cursorにキャストすることができます。このプロパティを設定すると、DeviceBehaviour._performSetupフラグも更新されます。

プロパティ・ボディ

Inverse3Body Body;

GameObjectが自動的にInverse3のボディOrientationで回転する。

プロパティ CursorLocalPosition

Vector3 CursorLocalPosition;

Inverse3カーソルの位置を、デバイスローカル空間におけるメートル(m)単位で取得します。

デバイスのDeviceBehaviour.ConnectionStateは、一貫した値を得るために、まずDeviceConnectionState.Openedでなければならない。

プロパティ LocalPosition

Vector3 LocalPosition;

プロパティ CursorPosition

Vector3 CursorPosition;

CursorLocalPositionとLocalToWorldMatrixからInverse3カーソルのワールド空間の位置を取得します。

参照:Transform.position、TransformPoint

プロパティ・ポジション

Vector3 Position;

プロパティ CursorLocalVelocity

Vector3 CursorLocalVelocity;

デバイスローカル空間におけるInverse3カーソルの速度をm/s(メートル毎秒)で取得します。

提供される速度は、速度推定アルゴリズムを使用して計算され、さらなるフィルタリングや処理を必要としない。

デバイスのDeviceBehaviour.ConnectionStateは、一貫した値を得るために、まずDeviceConnectionState.Openedでなければならない。

プロパティ LocalVelocity

Vector3 LocalVelocity;

プロパティ CursorVelocity

Vector3 CursorVelocity;

CursorLocalVelocityとLocalToWorldMatrixからInverse3カーソルのワールド空間の速度を取得します。

変換ベクトル

速度

Vector3 Velocity;

プロパティJointsAngles

Joint3 JointsAngles;

Inverse3デバイスの現在の関節角度を度単位で取得します。

Vector3の各コンポーネントは、デバイスのジョイントの1つの角度を表します:

  • x:ジョイント1の角度。
  • y:腕の内側の関節をコントロールするジョイント2の角度。
  • z:腕の外側の関節をコントロールするジョイント3の角度。

これらの角度は、装置の可動部の空間的な向きを理解し、制御するために不可欠である。

プロパティ JointsAngularVelocity

Joint3 JointsAngularVelocity;

Inverse3デバイスの関節の現在の角速度を度/秒で取得します。

Vector3の各コンポーネントは、デバイスのジョイントの角速度を表します:

  • x:装置のヘッドを制御するジョイント1の角速度。
  • y:腕の内側の関節を制御するジョイント2の角速度。
  • z:腕の外側の関節を制御するジョイント3の角速度。

角速度は、関節が動いている速度をモニターするのに役立ち、これは動的制御やフィードバックのアプリケーションにとって極めて重要である。

プロパティ SelectedHandedness

HandednessType SelectedHandedness;

Inverse3デバイスの希望するハンドネスタイプを取得または設定します。

HandednessType.Nilに設定すると、最初に見つかったデバイスがDeviceMapperによって実行時に選択されます。

Handednessを使用すると、実行時に実際のデバイスのハンドネスを知ることができる。

財産

HandednessType Handedness;

実行時にデバイスのハンドネスタイプを取得します。

プロパティ・パワード

bool Powered;

デバイスに現在電源が供給されているかどうかを示す。

参照してください:DeviceMapper.devicesInfoPollingMode を参照。

このプロパティはリアルタイムでは更新されません。RequestPowerSupplyStatusを使用して手動で更新するか、DeviceMapperを使用して自動的に更新することができます。

物件オリエンテーション

Quaternion Orientation;

最後に受信した方位データに基づき、Inverse3デバイスの現在の方位を取得します。

参照してください:DeviceMapper.devicesInfoPollingMode を参照。

このプロパティはリアルタイムでは更新されない。RequestOrientationを使って手動で更新するか、DeviceMapperによって自動的に更新されます。

プロパティ WorkspaceCenterLeft

static Vector3 WorkspaceCenterLeft = new(-0.05f, 0.15f, -0.12f);

HandednessType.Left-handedデバイスのワークスペース中心ローカル座標。

参照CursorSetLocalPositionSelectedHandedness

このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。

プロパティ WorkspaceCenterRight

static Vector3 WorkspaceCenterRight = new(0.05f, 0.15f, -0.12f);

HandednessType.Right-handedデバイスのワークスペース中心ローカル座標。

参照CursorSetLocalPositionSelectedHandedness

このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。

プロパティ WorkspaceCenter

Vector3 WorkspaceCenter;

Handednessの値に応じたワークスペース中心のローカル座標。

参照CursorSetLocalPositionSelectedHandedness

HandednessType.Nil の場合、WorkspaceCenterRightを返します。

このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。

プロパティ ControlMode

ControlMode ControlMode;

デバイスの現在の制御モードを取得します。

制御モードは、デバイスが入力コマンドにどのように応答し、カーソル位置や関節トルクなどの出力をどのように管理するかを決定します。

プロパティ ForceOutput

Vector3 ForceOutput;

CursorSetForceまたはCursorSetLocalForceメソッドによってデバイスに送られた最後の力。

プロパティ PositionOutput

Vector3 PositionOutput;

CursorSetPositionメソッドまたはCursorSetLocalPositionメソッドによってデバイスに送信された最後の位置。

プロパティ JointsTorqueOutput

Joint3 JointsTorqueOutput;

JointsSetTorqueメソッドでデバイスに送られた最後のトルク。

プロパティ JointsAnglesOutput

Joint3 JointsAnglesOutput;

JointsSetAnglesメソッドによってデバイスに送られた最後の角度。

プロパティ LocalToWorldMatrix

Matrix4x4 LocalToWorldMatrix;

デバイスまたはカーソル空間をワールド空間に変換するマトリックス。

参照SpaceTransformationReferenceTransformPointTransformVector

行列はSpaceTransformationReference に依存する。

この行列は、デバイスやカーソルのローカル空間からワールド空間への位置や速度の変換に使用できます。これにより、Transformコンポーネントのデータに直接アクセスできない環境でも、ハプティック関連の計算を正確に行うことができます。

プロパティ WorldToLocalMatrix

Matrix4x4 WorldToLocalMatrix;

ワールドスペースからデバイスまたはカーソルスペースに戻すマトリックス。

参照SpaceTransformationReferenceInverseTransformPointInverseTransformVector

行列はSpaceTransformationReference に依存する。

この行列は、計算された力をワールド空間からデバイスやカーソルのローカル空間に変換するために使用できます。これにより、Transformコンポーネントのデータに直接アクセスできない環境でも、ハプティック関連の計算を正確に行うことができます。

保護された財産の文書化

プロパティ CoordinateConverter

override BaseCoordinateConverter CoordinateConverter;

プロパティ SpaceTransformationReference

Transform SpaceTransformationReference;

LocalToWorldMatrixおよびWorldToLocalMatrix のセットアップに使用される参照変換。

Cursor が設定されている場合は、その親が使用される。そうでない場合は、現在のデバイスが変換される。

公開属性のドキュメント

変数 PowerSupplyStatusChanged

UnityEvent< Inverse3, bool > PowerSupplyStatusChanged;

Inverse3デバイスの電源状態に変化があるたびにトリガーされる。

ご覧くださいパワード

変数 ControlModeChanged

UnityEvent< Inverse3, ControlMode > ControlModeChanged;

デバイスの制御モードが変更されたときにトリガーされるイベント。

これにより、制御モードの変更が特定の動作やコンフィギュレーションのトリガーとなる、リアクティブなプログラミング・パターンが可能になる。