Unity 5.4ユニティWebGL - 予防<Canvas>すべてのマウス/キーボード入力を食べるから?
すべての3DコンテンツをUnityサイドで処理するUnity WebGLアプリケーション(ゲームではない)を構築し、すべてのUIをHTML/CSS/JSを使用して構築します。デフォルトでは、WebGLInput.captureAllKeyboardInputは、任意のキーボードコントロールが自動的にではなく、入力フィールドに行くよりも、Unityが食い尽くされていると、壊れているキーボード(テキスト)の入力が必要な任意の入力フィールドを引き起こす、trueに設定されています。入力フィールドを持つ
#if !UNITY_EDITOR && UNITY_WEBGL
WebGLInput.captureAllKeyboardInput = false;
#endif
修正問題をやってますが、要素はHTML上のキーボード入力するようにしかし、それは修正に
tabindex="1"
を追加し、フォーカスされた後も、すべてのキーボード入力を無視するように団結を引き起こし入力フィールドはフォーカスされているときに機能し、Unity WebGLアプリ内のキーボードコントロールはフォーカスされたときにも機能します。 (これはすべてドキュメントの通りです:https://docs.unity3d.com/ScriptReference/WebGLInput-captureAllKeyboardInput.html)。それですべてうまく動作します。
しかし、ユニティWebGLのアプリケーションは依然としてMOUSE(ないキーボード)コントロールを使用して、いくつかの入力フィールドの問題を引き起こしています。つまり、入力タイプ= "範囲"フィールド(HTML5スライダ)と入力タイプ= "数字(キーボードを使用して数字を入力すると動作しますが、マウスを上下にクリックしないと表示されます)に気がつきました。
回避策の並べ替えは、要素がクリックされた場合を除き/(キーボードだけのコントロールの動作方法のように)最初に焦点を当て、私は基本的に、自動的にすべてのマウス入力を取らないためにユニティWebGLのキャンバスを防ぐ必要がありますか?これを修正する。何をユニティ側に変更しますこの問題を解決する?それとも私はすべての入力を処理し、それはユニティシーンやHTML UIを対象としていますかどうかを判断するためにいくつかのカスタムJavaScriptを記述する必要が行うには?