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) |
ブール | 解除() カーソルのすべての力と位置の制御をリセットしようとする。 |
ブール | トライリセットフォース() |
ベクトル3 | TransformPoint(Vector3 position) キャッシュされたLocalToWorldMatrixを使用して、デバイスまたはカーソルのローカル空間からワールド空間に位置を変換する。 |
ベクトル3 | TransformVector(Vector3 vector) キャッシュされたLocalToWorldMatrix を使用して、デバイスまたはカーソルのローカル空間からワールド空間にベクトルを変換します。 |
ベクトル3 | InverseTransformPoint(Vector3 position) キャッシュされたWorldToLocalMatrix を使用して、ワールド空間からデバイスまたはカーソルのローカル空間に位置を変換します。 |
ベクトル3 | 逆変換ベクトル(Vector3 vector) キャッシュされたWorldToLocalMatrix を使用して、ベクトルをワールド空間からデバイスまたはカーソルのローカル空間に変換します。 |
オーバーライド文字列 | ToString() オブジェクトの文字列表現を返し、オブジェクトの名前、クラスタイプ、デバイスID、および選択されたハンドネスを含む、人間が読める説明を提供する。 |
保護された機能
名称 | |
---|---|
オーバーライド void | インヴォーク準備完了イベント() |
仮想オーバーライド void | セットアップ() このメソッドは、_performSetupフラグがセットされると自動的に呼び出され、各フレームで呼び出すには重すぎる計算を処理する。 このメソッドは、ベース・コールを維持するように注意してオーバーライドすることができます。SetSetupToPerform を使用してSetup呼び出しをトリガーします。 |
仮想オーバーライド void | 固定更新() |
公共施設
名称 | |
---|---|
オーバーライド DeviceType | デバイスタイプ デバイスのタイプを取得します。このコントローラでは常にDeviceType.Inverse3を返します。 |
オーバーライドCursorBehaviour | カーソル |
インバース3ボディ | ボディ GameObjectが自動的にInverse3のボディOrientationで回転する。 |
ベクトル3 | カーソル位置 デバイスローカル空間におけるInverse3カーソルの位置をメートル(m)単位で取得します。 |
ベクトル3 | ローカルポジション |
ベクトル3 | カーソル位置 CursorLocalPositionとLocalToWorldMatrixからInverse3カーソルのワールド空間の位置を取得する。 |
ベクトル3 | ポジション |
ベクトル3 | CursorLocalVelocity デバイスローカル空間におけるInverse3カーソルの速度をm/sで取得します。 |
ベクトル3 | ローカルベロシティ |
ベクトル3 | カーソルベロシティ CursorLocalVelocityとLocalToWorldMatrixからInverse3カーソルのワールド空間の速度を取得します。 |
ベクトル3 | 速度 |
ジョイント3 | ジョイント角度 Inverse3デバイスの現在の関節角度を度単位で取得します。 |
ジョイント3 | ジョイント角速度 Inverse3デバイスの関節の現在の角速度を度/秒で取得します。 |
手の大きさタイプ | 選択された手の長さ Inverse3デバイスの希望するハンドネスタイプを取得または設定します。 |
手の大きさタイプ | ハンドネス 実行時にデバイスのハンドネス・タイプを取得します。 |
ブール | 電源あり デバイスが現在給電されているかどうかを示す。 |
クォータニオン | オリエンテーション 最後に受信した方位データに基づき、Inverse3デバイスの現在の方位を取得します。 |
フロート | ワークスペース半径 デバイスのローカル空間におけるワークスペースのおおよその半径。 |
フロート | WorkspaceScaledRadius ワールド空間におけるワークスペースのおおよその半径。 |
ベクトル3 | ワークスペース中央左 HandednessType.Left-handedデバイスのワークスペース中心ローカル座標。 |
ベクトル3 | ワークスペース中心座標 HandednessType.Right-handedデバイスのワークスペース中心ローカル座標。 |
ベクトル3 | ワークスペース中央ローカル位置 Handedness値に応じたワークスペースの中心ローカル位置。 |
ベクトル3 | ワークスペース中心位置 Handedness値に応じたワークスペースの中心ワールド位置。 |
ベクトル3 | ワークスペースセンター |
制御モード | コントロールモード デバイスの現在の制御モードを取得します。 |
ベクトル3 | ForceOutput CursorSetForce または CursorSetLocalForce メソッドによってデバイスに送られた最後の力。 |
ベクトル3 | 位置の出力 CursorSetPosition または CursorSetLocalPosition メソッドによってデバイスに送信された最後の位置。 |
ジョイント3 | JointsTorqueOutput(ジョインツトルクアウトプット JointsSetTorqueメソッドによってデバイスに送信された最後のトルク。 |
ジョイント3 | JointsAnglesOutput JointsSetAnglesメソッドによってデバイスに送信された最後の角度。 |
ブール | SpaceTransformationUpdateEnabled 空間変換行列の更新が有効かどうかを示す値を取得または設定します。 |
マトリックス4x4 | ローカル・ワールド行列 デバイスまたはカーソル空間をワールド空間に変換する行列。 |
マトリックス4x4 | WorldToLocalMatrix ワールド空間からデバイス空間またはカーソル空間に変換する行列。 |
保護されたプロパティ
名称 | |
---|---|
オーバーライドBaseCoordinateConverter | 座標変換 |
トランスフォーム | SpaceTransformationReference LocalToWorldMatrixとWorldToLocalMatrix のセットアップに使用される参照変換。 |
パブリック属性
名称 | |
---|---|
UnityEvent< Inverse3 > | 準備完了 Inverse3デバイスとカーソル、ボディが正常に初期化され、使用できる状態になったときにトリガーされるイベント。 |
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を取得します。 |
ブール | IsReady デバイスが使用可能かどうかを示す。 |
デバイス接続状態 | 接続状態 デバイスの現在の接続状態を取得または設定します。 |
ブール | IsConnected デバイスが接続されているかどうかを取得します。 |
ブール | IsOpened デバイスが開いているかどうかを取得します。 |
プロパティ 継承Haply.Inverse.Unity.DeviceBehaviour
名称 | |
---|---|
ブール | IsCursorSet カーソルが設定されているかどうかを示します。 |
パブリック属性 継承Haply.Inverse.Unity.DeviceBehaviour
名称 | |
---|---|
const int | ANY_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を参照。
カーソルの位置と速度がリアルタイムで更新される。
このイベントは、カーソルの状態を継続的に追跡する必要があるアプリケーションや、リアルタイムの制御コマンドを適用する場合に便利です。このイベントでは、CursorPosition、CursorVelocity、CursorLocalPosition、CursorLocalVelocityなどのプロパティを使用できます。
そして、以下のようなコントロール方法だ:
- カーソルに力を加える、
- カーソルの位置を設定するCursorSetPosition、
- JointsSetTorqueでデバイスのジョイントにトルクをかける。
- JointsSetAnglesで、デバイスのジョイントの角度を設定します。
このイベントがトリガーされる頻度は、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)単位の力ベクトル。
参照:CursorSetLocalForce、InverseTransformVectorを参照してください。
このメソッドは、提供された力ベクトルをデバイスに送信する前に、ワールド空間からデバイスのローカル空間に変換します。これは、力の計算がワールド空間座標に基づいている場合に使用する必要があります。直接ローカル空間を制御する場合は、代わりにCursorSetLocalForceを使用してください。
関数 CursorSetForce
void CursorSetForce(
float x,
float y,
float z
)
関数 CursorSetLocalPosition
void CursorSetLocalPosition(
in Vector3 position
)
カーソルの位置設定点を、デバイスのローカル空間の x 軸、y 軸、z 軸に沿ってメートル (m) 単位で設定する。
パラメーター
- positionデバイスのローカル空間における、メートル(m)単位の希望位置ベクトル。
例外あり:
- InvalidOperationExceptionクライアント接続が確立されなかった場合にスローされる。
- Exceptionサービスから予期せぬエラーを受信した場合にスローされる。
このメソッドは、指定された位置にカーソルを移動させる位置セットポイントを設定する。このメソッドは、ローカル空間のデバイスに非処理位置を直接送信します。位置計算がワールド空間座標(CursorPosition、CursorVelocity)に基づいている場合、および/または変換された(位置、回転、またはスケール)コントローラを含む場合は、CursorSetPositionを考慮する必要があります。
位置制御モードでは、デバイスのLEDが青色に点灯します。到達不可能な位置を設定すると、Inverse3デバイスのアームはゆっくりと下降するか、現在の位置に留まります。位置制御モードを終了するには、力(ゼロでも可)を加えるか、TryResetForce を使用するか、デバイスから切断します。
関数 CursorSetLocalPosition
void CursorSetLocalPosition(
float x,
float y,
float z
)
関数 CursorSetPosition
void CursorSetPosition(
in Vector3 position
)
カーソルの位置設定点をワールド空間のメートル(m)単位で設定する。
パラメーター
- positionワールド空間のメートル(m)単位の希望位置ベクトル。
参照:CursorSetLocalPosition、InverseTransformPointを参照。
このメソッドは、位置設定点を設定する前に、提供された位置をワールド空間からデバイスのローカル空間に変換する。これは、位置計算がワールド空間座標に基づいている場合に使用する必要があります。直接ローカル空間を制御する場合は、代わりに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を使用して、デバイスまたはカーソルのローカル空間からワールド空間に位置を変換する。
パラメーター
- ポジション現地でのポジション
戻る:世界のポジション
InverseTransformPointを使えば、ワールド空間からローカル空間への逆変換を行うことができる。
関数 TransformVector
Vector3 TransformVector(
Vector3 vector
)
キャッシュされたLocalToWorldMatrixを使用して、デバイスまたはカーソルのローカル空間からワールド空間へベクトルを変換する。
パラメーター
- ベクトルローカル・ベクトル。
戻る:世界のベクトル。
InverseTransformVectorを使えば、ワールド空間からローカル空間への逆変換を行うことができる。
関数 InverseTransformPoint
Vector3 InverseTransformPoint(
Vector3 position
)
キャッシュされたWorldToLocalMatrixを使用して、ワールド空間からデバイスまたはカーソルのローカル空間に位置を変換する。
パラメーター
- ポジションワールドポジション
戻る:現地でのポジション
関数 InverseTransformVector
Vector3 InverseTransformVector(
Vector3 vector
)
キャッシュされたWorldToLocalMatrixを使用して、ワールド空間からデバイスまたはカーソルのローカル空間にベクトルを変換します。
パラメーター
- ベクトル世界ベクトル。
を返す:ローカルベクトル。
関数 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
.もしDeviceId
はANY_ID
の値である。SelectedDeviceId
が使われている。 - "handness "は、選択された手の長さであり、".left"、".right "で表される。
SelectedHandedness
はNil
.
このメソッドは、オブジェクトの簡潔で有益な説明を提供することで、デバッグやロギングに役立ちます。
保護された関数のドキュメント
関数 InvokeReadyEvent
override void InvokeReadyEvent()
機能 セットアップ
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によって自動的に更新されます。
プロパティ WorkspaceRadius
float WorkspaceRadius;
デバイスのローカル空間におけるワークスペースのおおよその半径(m)。
プロパティ WorkspaceScaledRadius
float WorkspaceScaledRadius;
ワールド空間におけるワークスペースのおおよその半径。
プロパティ WorkspaceCenterLeft
static Vector3 WorkspaceCenterLeft = new(-0.05f, 0.15f, -0.12f);
HandednessType.Left-handedデバイスのワークスペース中心ローカル座標。
参照:CursorSetLocalPosition、SelectedHandedness。
このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。
プロパティ WorkspaceCenterRight
static Vector3 WorkspaceCenterRight = new(0.05f, 0.15f, -0.12f);
HandednessType.Right-handedデバイスのワークスペース中心ローカル座標。
参照:CursorSetLocalPosition、SelectedHandedness。
このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。
プロパティ WorkspaceCenterLocalPosition
Vector3 WorkspaceCenterLocalPosition;
Handednessの値に応じたワークスペース中心のローカル位置。
参照:CursorSetLocalPosition、SelectedHandedness。
HandednessType.Nil の場合、WorkspaceCenterRightを返します。
このローカルポジションにカーソルをセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。
プロパティ WorkspaceCenterPosition
Vector3 WorkspaceCenterPosition;
Handednessの値に応じたワークスペースの中心ワールド位置。
参照:CursorSetPosition、SelectedHandedness。
HandednessType.Nil の場合、WorkspaceCenterRightを返します。
カーソルをこの位置にセットすると、ヘッドが平行に、アームがボディに対して垂直になるようにデバイスが移動する。
プロパティ WorkspaceCenter
Vector3 WorkspaceCenter;
プロパティ ControlMode
ControlMode ControlMode;
デバイスの現在の制御モードを取得します。
制御モードは、デバイスが入力コマンドにどのように応答し、カーソル位置や関節トルクなどの出力をどのように管理するかを決定します。
プロパティ ForceOutput
Vector3 ForceOutput;
CursorSetForceまたはCursorSetLocalForceメソッドによってデバイスに送られた最後の力。
プロパティ PositionOutput
Vector3 PositionOutput;
CursorSetPositionメソッドまたはCursorSetLocalPositionメソッドによってデバイスに送信された最後の位置。
プロパティ JointsTorqueOutput
Joint3 JointsTorqueOutput;
JointsSetTorqueメソッドでデバイスに送られた最後のトルク。
プロパティ JointsAnglesOutput
Joint3 JointsAnglesOutput;
JointsSetAnglesメソッドによってデバイスに送られた最後の角度。
プロパティ SpaceTransformationUpdateEnabled
bool SpaceTransformationUpdateEnabled = true;
空間変換行列の更新を有効にするかどうかを示す値を取得または設定します。
trueに設定すると、UpdateSpaceTransformationCacheメソッドが呼び出され、現在のSpaceTransformationReferenceに基づいて LocalToWorldMatrixと WorldToLocalMatrixが更新されます。これは通常、世界におけるデバイスの位置と向きに関する空間計算が正確で最新であることを保証するために使用されます。
プロパティ LocalToWorldMatrix
Matrix4x4 LocalToWorldMatrix;
デバイスまたはカーソル空間をワールド空間に変換するマトリックス。
参照:SpaceTransformationReference、TransformPoint、TransformVector。
行列はSpaceTransformationReference に依存する。
この行列は、デバイスやカーソルのローカル空間からワールド空間への位置や速度の変換に使用できます。これにより、Transformコンポーネントのデータに直接アクセスできない環境でも、ハプティック関連の計算を正確に行うことができます。
プロパティ WorldToLocalMatrix
Matrix4x4 WorldToLocalMatrix;
ワールドスペースからデバイスまたはカーソルスペースに戻すマトリックス。
参照:SpaceTransformationReference、InverseTransformPoint、InverseTransformVector。
行列はSpaceTransformationReference に依存する。
この行列は、計算された力をワールド空間からデバイスやカーソルのローカル空間に変換するために使用できます。これにより、Transformコンポーネントのデータに直接アクセスできない環境でも、ハプティック関連の計算を正確に行うことができます。
保護された財産の文書化
プロパティ CoordinateConverter
override BaseCoordinateConverter CoordinateConverter;
プロパティ SpaceTransformationReference
Transform SpaceTransformationReference;
LocalToWorldMatrixおよびWorldToLocalMatrix のセットアップに使用される参照変換。
Cursor が設定されている場合は、その親が使用される。そうでない場合は、現在のデバイスが変換される。
公開属性のドキュメント
変数 Ready
UnityEvent< Inverse3 > Ready;
Inverse3デバイスとカーソル、ボディが正常に初期化され、使用可能になったときにトリガーされるイベント。
SpaceTransformationUpdateEnabledが有効な場合、このイベントは最初の更新後にトリガーされる。
変数 PowerSupplyStatusChanged
UnityEvent< Inverse3, bool > PowerSupplyStatusChanged;
Inverse3デバイスの電源状態に変化があるたびにトリガーされる。
ご覧ください:パワード
変数 ControlModeChanged
UnityEvent< Inverse3, ControlMode > ControlModeChanged;
デバイスの制御モードが変更されたときにトリガーされるイベント。
これにより、制御モードの変更が特定の動作やコンフィギュレーションのトリガーとなる、リアクティブなプログラミング・パターンが可能になる。