問題タブ [mrtk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
55 参照

c# - Windowsメニューを開くたびに新しいInputControllerが生成されます

Windows Mixed Reality ヘッドセット (Lenovo Explorer) と Unity を使用して小さなゲーム プロジェクトに取り組んでいます。現在、最新の MRTK v2.1 リリースを実行しています。

カスタムの右手コントローラーを使用しています。これは、メイン オブジェクトに次のコンポーネントがあるプレハブです。

  1. mrtk のWindowsMixedRealityControllerVisualizerスクリプト
  2. アクション (シュート、ジャンプなど) への入力を管理するための入力コントローラー スクリプト ( を使用IMixedRealityInputHandler)
  3. VR ワールドでの実際のアクションを扱うカスタム スクリプト。

コンポーネントの他に、レンダリングしたいオブジェクトの 3D モデル プレハブである子オブジェクトがあります。それは子供の中にあるので、オフセットで正しく配置できました。私の知る限り、これは問題ではありません。この全体が独自のプレハブであり、それをGlobal Right Hand Controller ModelMixedRealityControllerVisualizationProfileの下のカスタムに追加します。一般的に、これは私が望むように機能します。コントローラーは右手で正しくレンダリングされ、入力も希望どおりに動作します。

私の問題は、ゲーム中にホームボタン (Windows ロゴ) をクリックしてフローティング メニューを表示すると、もう一度クリックしてゲームに戻ると、新しいコントローラーが 0,0,0 (またはゲームに戻るときに私の手がある場所); 私はまだ手に持っていますが、この新しいもの私の手にあるものと同じように入力に反応します。ホームボタンをもう一度開いたり閉じたりすると、これが繰り返され、複数のコントローラーが生成されます。そのため、 を撃つと、手と 0,0,0 の新しいコントローラー (または、それまでにシーンに配置されていたすべてのコントローラー) の両方からショットが発射されます。

私のコントローラーが追跡を失うことはないと思うので、mrtk が新しいコントローラーを生成する理由を IDK で説明します。シーン内の余分なコントローラー オブジェクトをチェックし、更新ごとに手動で削除することを検討しましたが、それはばかげているように聞こえます。これを確実に処理できる構成がどこかにあるはずです。ビジュアライザー スクリプトはこれを処理しませんか?

私はオンラインで見回しましたが、これについて具体的なものは見つかりませんでした。手がかりは大歓迎です。