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;
デモページにて確認してみてください。
よければ、SNSにシェアをお願いします!