サイトアイコン Unity+AssetStoreおすすめ情報

Unity:WebGLでビルドするとHTMLのInputでキーボード入力ができない問題

はじめに

Unity で WebGL を出力するとブラウザで実行可能な出力が可能になります。上記のWebGL は HTML5 の Canvas 要素で実装されているのですが、このHTML内に以下のようなテキスト入力欄を同時に表示すると、ここの入力ができなくなる問題があるようです。

<input type="text" name="name" size="30">

Unityを知らない方は、ぜひ こちらの記事 をご参照ください。

参考

以下、「強火で進め」さんのブログで紹介されていた方法にて対応したいと思います。

[Unity] WebGL ビルドをした時に HTML 内の Input タグの入力が受け付けない問題の対処方法Add Star

ソースコード

「WebGLInput.captureAllKeyboardInput = false」にする事により、HTML内でのキーボード入力が可能となるようです。

WebGLプラットフォームでのコンパイル時のみを有効にするために #if ~ #endif を使いましょう。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HtmlInputControl : MonoBehaviour
{
    void Start()
    {
#if !UNITY_EDITOR && UNITY_WEBGL
        WebGLInput.captureAllKeyboardInput = false;
#endif
    }
}

実行結果

falseの場合

WebGLInput.captureAllKeyboardInput = false;

デモページにて確認してみてください。

trueの場合

WebGLInput.captureAllKeyboardInput = true;

デモページにて確認してみてください。

モバイルバージョンを終了