-
VIVE Wave
-
SDK
- VIVE Wave とは何ですか?
- Wave SDK はどこからダウンロードできますか?
- Wave デベロッパーコミュニティフォーラムにアクセスするにはどうすればいいですか?
- カスタムパッケージをインポートした後に、コンパイルエラーまたはビルドエラーを修正するにはどうすればよいですか?
- コントローラーをシーンに配置するにはどうすればよいですか?
- 同じシーンで追跡ポーズ設定が異なるヘッドを切り替えるにはどうすればよいですか?
- 同じシーンで 6DoF と 3DoF の間で切り替えるにはどうすればよいですか?
- イベントの受信やシステムオーバーレイへのクリックができないのはなぜですか?
- ランタイムにコントローラーオブジェクトを取得するにはどうすればいいですか?
- コントローラーポインターを表示または非表示にするにはどうすればよいですか?
- コントローラーモデルオブジェクトをルートからエミッターに変更するにはどうすればよいですか?
- コントローラーがイベントを送信したかどうかを確認するにはどうすればいいですか?
- 回転のみの環境でコントローラーの位置を設定するにはどうすればよいですか?
- シーンで1つのコントローラーのみを表示するにはどうすればよいですか?
- 床から頭部までの距離を知るにはどうすればいいですか?
-
-
VIVE SRWorks
-
VIVE アイ・フェイシャルトラッキング
- VIVE アイ・フェイシャルトラッキング SDK とランタイムはどこでダウンロードできますか?
- アイトラッキングを調整するにはどうすればよいですか?
- VIVE アイ・フェイシャルトラッキングにはどのドライバーが必要になりますか?
- VIVE アイ・フェイシャルトラッキングランタイムを更新するには?
- VIVE Pro Eye のファームウェアを更新するにはどうすればよいですか?
- アプリを起動した時に、Windows に変更を許可するメッセージが表示されるのはなぜですか?
- アイカメラバージョンに「N/A」と表示されます。問題ありますか?
- 他のアイトラッキング上の問題が発生した場合はどうすればいいですか?
- アイキャリブレーションの初期化と OpenCL でエラーが発生しました。どうすればいいですか?
- VIVEワイヤレスアダプターを使用している場合、アイトラッキングは動作しますか?
- 視覚障害がある場合、キャブリエーションデータはどうなりますか?
- トラッキング可能な FOV とはトラッキング精度は?
-
VIVE ハンドトラッキング
-
VIVE 3DSP Audio
-
VIVEPORT
-
VIVE Businessストリーミング
-
フェイストラッキング
-
ハンドトラッキング
-
ランタイムにコントローラーオブジェクトを取得するにはどうすればいいですか?
WaveVR は コントローラーローダー を使用して、ランタイムにコントローラーを読み込みます。このため、コントローラーオブジェクトはエディターで変更できません。
資産 > WaveVR > エキストラ > GenericModel > リソース > コントローラーで、ジェネリックコントローラーモデルのプレハブに WaveVR コントローラーの構造が表示されます。
プレハブには、コントローラーモデル、コントローラービーム、コントローラーポインターが含まれています。
コントローラーモデルでビームとポインターを見つける(サンプルコード)を開いて、ビームとポインターを取得する方法をご覧下さい。
コントローラーモデルでビームとポインターを見つける(サンプルコード)
ビームとポインターを見つけるには、以下の手順に従ってください。
- CONTROLLER_MODEL_LOADED 配信をリッスンして、コントローラーインスタンスを受信します。
- コントローラーのすべてのチャイルドを見つけます。
-
チルドレンにビーム/ポインターがある GameObject を見つけます。
private GameObject dominantController = null, nonDominantController = null; void OnEnable() { WaveVR_Utils.Event.Listen (WaveVR_Utils.Event.CONTROLLER_MODEL_LOADED, OnControllerLoaded); } void OnControllerLoaded(params object[] args) { WaveVR_Controller.EDeviceType _type = (WaveVR_Controller.EDeviceType)args [0]; if (_type == WaveVR_Controller.EDeviceType.Dominant) { this.dominantController = (GameObject)args [1]; listControllerObjects(this.dominantController); } if (_type == WaveVR_Controller.EDeviceType.NonDominant) { this.nonDominantController = (GameObject)args [1]; listControllerObjects(this.nonDominantController); } } void OnDisable() { WaveVR_Utils.Event.Remove (WaveVR_Utils.Event.CONTROLLER_MODEL_LOADED, OnControllerLoaded); } private void listControllerObjects(GameObject ctrlr) { if (ctrlr == null) return; WaveVR_Beam _beam = null; WaveVR_ControllerPointer _pointer = null; // Get all children.GameObject[] _objects = new GameObject[ctrlr.transform.childCount]; for (int i = 0; i < ctrlr.transform.childCount; i++) _objects[i] = ctrlr.transform.GetChild (i).gameObject; // Find beam. for (int i = 0; i < _objects.Length; i++) { _beam = _objects [i].GetComponentInChildren<WaveVR_Beam> (); if (_beam != null) break; } if (_beam != null) Debug.Log ("Find beam:" + _beam.name); // Find pointer. for (int i = 0; i < _objects.Length; i++) { _pointer = _objects [i].GetComponentInChildren<WaveVR_ControllerPointer> (); if (_pointer != null) break; } if (_pointer != null) Debug.Log ("Find pointer:" + _pointer.name); }
参考になりましたか?
はい
いいえ
送信
ありがとうございました!フィードバックをいただければ、お役立ち情報の提供を改善してまいります。