Virtual Keyboard
このアドオンは、大文字小文字や特殊文字を含む英数字のバーチャルキーボードを提供します。これはオフラインで動作します。
KeyboardFocusManager
KeyboardFocusManagerは、シーン内のオブジェクトからリクエストされるキーボードのフォーカスを管理します。
キーボードが必要なオブジェクトは、ITextFocusableインターフェースを実装する必要があります。
これらは、OnFocusChange()でフォーカスをリクエストしたり、OnTextChange()でテキストの変更をKeyboardFocusManagerに通知できます(InputFieldは実際のキーボードからも更新できます)。
KeyboardFocusManagerは、新しいオブジェクトがフォーカスを得た時に、キーボードの位置とバッファを更新します。
また、現在のKeyboardFocusオブジェクトは、キーボードのバッファが変更された時や、KeyboardManagerコールバックによってフォーカスを失った時に通知されます。
キーボードの位置は、プレイヤーのリグの位置に関連して調整することができます。
また、moveKeyboardOnFocusChangeによって、ユーザーが他のInputFieldを選択するたびに、キーボードの位置を更新することができます。
TouchableTMPInputField
このクラスはCanvasUITouchableTMPInputFieldプレハブに実装されていて、TouchableCanvasで使用できます。
TouchableTMPInputFieldは、TextMeshProのInputField(TMP_InputField)の3Dインタラクションを管理します。
そのためには、ゲームオブジェクトにはBoxColliderとTouchableが必要です。BoxColliderのサイズは、InputFieldのサイズに変更されて、対応する3DボタンのColliderを生成します。
プレイヤーがBoxColliderにふれると、TouchableクラスのOnTouchイベントが検知されます。
そして、キーボード表示が切り替わり、フォーカスが変更されたことがKeyboardFocusManagerに通知されます。
KeyboardFocusManagerは、テキストフィールドが更新された時にも通知されます。
依存関係
- TouchHover addon
デモ
デモシーンはAssets\Photon\FusionAddons\VirtualKeyboard\Demo\Scenes\フォルダーにあります。
ダウンロード
このアドオンの最新バージョンは、Industries アドオンのプロジェクトに含まれています。
対応するトポロジー
- 共有モード
更新履歴
- Version 2.0.2:
- Fix to avoid double onTextChange event
- Add toggleFocusOnTouch & canReceiveFocus options
- Handle TouchableTMPInputField input field selection state based on focus
- Fix box collider trigger option on the CanvasUITouchableTMPInputField prefab
- Version 2.0.1: Remove dependency in Demo prefab
- Version 2.0.0: First release