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

Haply::Inverse::Unity::Inverse3Body

デバイスの向きを管理する。 Inverse3指定されたGameObjectにリアルタイムで向きの更新を適用します。 詳細...

Haply.Inverse.Unity.CursorBehaviour, MonoBehaviour を継承しています。

保護された機能

名称
オーバーライド voidカーソルの更新()
GameObjectの回転を、関連するデバイスの現在の向きに合わせて更新する。 Inverse3デバイスの現在の向きと一致するように更新する。
仮想オーバーライド voidAddDeviceListeners()
デバイスにリスナーを追加します。
仮想オーバーライド voidRemoveDeviceListeners()
デバイスからリスナーを削除します。

保護されたプロパティ

名称
オーバーライドブールIsUpdateCursorRequired
次の FixedUpdate 呼び出し時に UpdateCursor メソッドを呼び出す必要があるかどうかを示します。

パブリック属性

名称
フロート回転分解能
GameObjectを回転させるのに必要な向きの最小変化量。

その他の継承メンバー

protected 関数はHaply.Inverse.Unity.CursorBehaviourから継承しました。

名称
仮想ゲームオブジェクトGetModelPrefab()
起動時にインスタンス化されるべきプレハブを取得します。
仮想空白目覚め()
仮想空白オンイネーブル()
ボイド更新()
ボイド固定更新()

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

名称
デバイスビヘイビアデバイス
カーソルを操作するデバイス。
トランスフォームモデルプレハブ
この振る舞いが自動的にインスタンス化する、このカーソルに表示するカーソルモデルのプレハブ。
トランスフォームモデル親
このビヘイビアがインスタンス化されたときに、モデルプレファブの親として使用するトランスフォーム。
トランスフォームモデル
シーン内のカーソルモデルのインスタンス。
ブールHideControllerModel
カーソルモデルを非表示にするかどうか。
フロート半径
モデルの半径を取得します。

Haply.Inverse.Unity.CursorBehaviourから継承した Protected Properties

名称
ブールIsDeviceSet
デバイスが設定されているかどうかを示します。

詳細

class Haply::Inverse::Unity::Inverse3Body;

デバイスの向きを管理する。 Inverse3指定されたGameObjectにリアルタイムで向きの更新を適用する。

Inverse3Bodyコンポーネントは、関連するデバイスからの向きの変更をリッスンする。 Inverse3コンポーネントは、関連するデバイスからの向きの変更をリッスンし、それがアタッチされているGameObjectのトランスフォームにこれらの更新を適用します。これにより、仮想環境内でデバイスの物理的な向きを同期して表現することができる。

デバイスから受信した方向データは、Inverse3.coordinateConverter を通して適用前に修正することができ、軸の並べ替え、否定、回転オフセットの適用などの調整が可能です。この柔軟性により、仮想表現をユーザーの期待や仮想シーンの仕様に合わせることができます。

オリエンテーションの更新の感度は、GameObjectの回転を更新するために必要なオリエンテーションの最小変化を定義するrotationResolutionによって制御することができます。これは、ジッタや不要な更新を減らし、方向表現の滑らかさを向上させるのに役立ちます。

このコンポーネントが正しく機能するには、関連する Inverse3が必要です。デバイスからのOrientation Changeイベントを受信し、それに応じてGameObjectのOrientationを更新する。デバイスが設定されていなかったり、接続が切れたりすると、このコンポーネントはGameObjectの向きを更新しなくなる。

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

関数 UpdateCursor

override void UpdateCursor()

GameObjectの回転を、関連するデバイスの現在の向きに合わせて更新する。 Inverse3を更新する。

このメソッドは、GameObjectのtransformにデバイスからの最新の方向データを直接適用する。 Inverse3このメソッドは、Inverse3.cordinateConverterで指定された修正を考慮して、デバイスからの最新の方向データをGameObjectのtransformに直接適用します。このメソッドは、rotationResolutionで定義されたしきい値を超えるようなデバイスの向きの大きな変化があるたびに呼び出される必要があります。

関数 AddDeviceListeners

virtual override void AddDeviceListeners()

デバイスにリスナーを追加する。

再インプリメント:Haply: :Inverse::Unity::CursorBehaviour::AddDeviceListeners

カスタムオリエンテーションリスナーを追加するためにオーバーライドされます。

関数 RemoveDeviceListeners

virtual override void RemoveDeviceListeners()

デバイスからリスナーを削除する。

再インプリメント:Haply: :Inverse::Unity::CursorBehaviour::RemoveDeviceListeners

カスタムオリエンテーションリスナーを削除するためにオーバーライドされます。

保護された財産の文書化

プロパティ IsUpdateCursorRequired

override bool IsUpdateCursorRequired;

次の FixedUpdate 呼び出し時に UpdateCursor メソッドを呼び出す必要があるかどうかを示します。

このプロパティは、カーソルの向きの更新が必要な場合に真を返す。rotationResolutionで定義された閾値を超えるデバイスの向きの大きな変化があった場合に設定される。

公開属性のドキュメント

変数rotationResolution

float rotationResolution = 0.025f;

GameObjectを回転させるのに必要な向きの最小変化量。

方向更新の感度を定義します。値が小さいと更新頻度が高くなり、値が大きいとジッターは減少するが応答性が低下する。