私のカスタム コントローラーには 3 つのポインターがあります。
- レイポインター(動作良好)
- ポケポインタ(動作良好)
- グラブ ポインター (SpherePointer.cs コンポーネントを含む) が機能しない
MRTK 2.3 では、それらすべてが機能していました。シーンは何も変更せず、MRTK 2.4 に更新しました。
MRTK 2.4 ではグラブ ポインターが機能しなくなりました...nearGrabbable オブジェクトの近くに移動すると、GrabPointer として認識されないため、グラブできません (エディターで黄色のデバッグ レイが描画されていません) )。
しかし、Articulated Hand GrabPointer を使用しているときは機能します。ということで、プレハブをコピーしてポーズアクションとポインターアクションだけ変えてみたらダメでした。SpherePointer を使用するときに何が欠けていますか?
コントローラーは、次のようにポーズを変更します。
CoreServices.InputSystem.RaisePoseInputChanged(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction, controllerPose);
ボタンを押すと、次のようになります。
CoreServices.InputSystem?.RaiseOnInputDown(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction);
CoreServices.InputSystem?.RaiseOnInputUp(InputSource, ControllerHandedness, Interactions[i].MixedRealityInputAction);
編集:
バグを再現するためのカスタム入力デバイスへのリンク: https://wetransfer.com/downloads/27b3f2b90c18516dc47a35cf645dc25820200728111556/10711a
- 空の新しい Unity プロジェクトを作成します (2018.4.X、ただし 2019.4.X と同じ)
- MRTK 2.4 をインポートする
- カスタム入力パッケージをインポートする
- Bug Scene を開き、カスタム入力デバイスで球体ポインターが機能していないことを確認します。