WebGL で日本語を入力できるようにする

ページ更新日 :
ページ作成日 :

検証環境

Windows
  • Windows 11
Unity エディター
  • 2020.3.25f1

この Tips の前提設定

この Tips の説明の前提として以下の設定を事前に行っています。

当サンプルで使用するフォント

衡山毛筆フォント行書 を使用しています。以下のサイトからダウンロード可能です。

WebGL 上ではデフォルトの入力フィールドで日本語入力ができない

入力フィールドを配置し Windows ゲームとして実行する分には日本語入力は可能です。他の OS でも問題ありません。

しかしこれを WebGL 上で実行すると日本語入力ができなくなります。

原因ははっきりしていませんが IME が有効にならないためによるものです。

日本語入力ができるようにする

有志で提供されている以下の WebGLInput パッケージを使用すると WebGL 日本語入力の問題の大部分を解決できます。

まず以下のダウンロードページを開きます。WebGLSupport.unitypackage があるので最新版をダウンロードしてください。

ダウンロードしたらメニューから「カスタムパッケージ」をインポートします。

ダウンロードしたファイルを選択します。

すべてインポートします。

インポートしたパッケージはそれぞれの入力フィールドにアタッチする必要があります。 まずは適用する入力フィールドを配置し選択している状態にします。

プロジェクトにの AssetsWebGLSupport が追加されているので WebGLSupport > WebGLInput にある WebGLInput を入力フィールドにアタッチします。

今回の日本語入力とは直接関係ありませんが Arial フォントには日本語が含まれていませんので、 入力フィールドには日本語が含まれるフォントを指定しておいてください。

この状態で WebGL 上で動かしてみてください。 日本語が正しく入力できれば OK です。

日本語文章の貼り付けも可能です。

ただしこのパッケージは WebGL をフルスクリーンで表示すると英数字すら入力できなくなる点には注意してください (なぜか常に全選択されてしまう)。 フルスクリーン対応しないのであればこのパッケージで十分対応可能です。