2017-10-29 12 views
6

私は入力デバイスとしてWiimoteコントローラを使用しています。 HIDコール/ポーリングにthis wrapperを使用しています。ユニティのUnity 3D非同期ポーリング外部ハードウェア

このラッパーに付属するデモシーンでは、コントローラのポーリングはUpdateイベントで行われます。

多くのWiiのゲームでは、すばやく上下を目指してすばやくアクションがトリガーされます。 ラッパーは、私は

1) Detecting if aim is off-screen 
2) If yes, have a look if the aim is within the screen again 
3) Detect if aim is off-screen again and if all this happened in a certain time period 

ことにより、このような急速な上下運動を検出しようと

Y=-1 

として極端な垂直照準位置(照準がスコープの外に出る場所/「オフスクリーン」である)を示していますしかし、問題は(私はUpdateイベントでのみポーリングの性質のためだと思う)、必ずしも発生する必要はありません。目標は画面に表示されている可能性がありますが、コントローラーはそれがあったときにはポーリングされませんでした。

この問題の有効な解決策は何かをお聞きしたいと思います。

+0

ステップ2は必要ですか?目標が画面の上端を上回っているかどうかを最初に検出してから、一定の時間内に目標が画面の下端を下回っているかどうかを再度確認するとどうなりますか?より定義された動きフィールドが必要な場合は、左右の境界を画面の幅に制限することができます。 – ryeMoss

+0

実際に問題が発生しているため、これを尋ねていますか? Updateイベントはどれくらい遅いですか? – Mars

答えて

2

あなたのポーリングは、これが問題になるにはかなり悪いことですが、ポーリング率を上げる以外に、ここでは何もできません。

唯一の他の選択肢は、ジャイロスコープまたは加速度計を代わりに使用することです(申し訳ありませんが、あなたのラッパーがそれらを公開しているかどうかを確認するのは気にしませんでした)。基本的に厳しい縦振れを画面外のポイントと組み合わせることができますが、ポーリングが元のソリューションの問題である場合は、ここでも問題が残っています。

関連する問題