memomem

備忘録・メモ置き場

Unity WebGLに関してのメモ

Unity 2022.2.11での動作

色々できることが増えている。

  • WebCamTexture使用可能
  • Input.gyro.attitudeなど使用可能

モバイルでソフトウェアキーボードが表示されない

-> Unity 2022.1からInputFieldでソフトウェアキーボードが表示されるようになっています。

とはいえ、日本語を表示しようとすると日本語を埋め込むしか無いため、ちょっと使い勝手悪い。jslibでhtmlとの連携で独自で実装するのが良いか?

EmbedIOでサーバーをつくってunityのwebGLを表示するとwarningがでる

HTTP Response Header "Content-Type" configured incorrectly on the server for file Build/APP_NAME.wasm , should be "application/wasm". Startup time performance will suffer.

APP_NAME.wasmのResponseHeaderが Content-Tyoe: application/wasm; charset=utf-8になっているために発生する。

EmbedIOのsrcからHttpListenerResponse.csを多少手を加え、Content-Tyoe: application/wasmになるようにする。

.framework.js.gz のエラーが出る

Unable to parse Build/APP_NAME.framework.js.gz! This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: gzip" present. Check browser Console and Devtools Network tab to debug.

サーバーの設定で解決できるようだが、 Unity側で対応するのであれば、PlayerSettingのDecompression Fallbackを有効に

または、Compression FormatDisableに設定する

Decompression Fallback の方がファイル容量は少なくなる。

センサー値の取得

2021.1あたりからスマホWebGLでもInput.gyro.attitudeなどが取得できるようになっている。要httpsサーバー。

Input.gyro.enabled = true;

を実行すると取得許可のダイアログが表示される。

Unity - Manual: Input in WebGL

locationは現時点では未サポート?のためjslibを作成し取得を行う。

zenn.dev

スマホChromeで検証を行う方法

参考

tech.framesynthesis.co.jp

HTTPレスポンスヘッダの確認方法

  • chromeで「chrome://inspect」を開き「ログ記録を開始」をタップ
  • 別のタブで対象のWebサイトを表示
  • chrome://inspect」で表示されたログを確認できる。

Chrome for iOSにWebサイトデバッグツールが追加 | ソフトアンテナ

Chrome

  • Chrome を起動し、キーボードの[F12]キーを押して「デベロッパーツール」を表示する。
  • [Network]タブを選択した後、適当なサイトにアクセスする。
  • ページのリソースが一覧表示されると、Name、Status、Type などの項目が表示され、その項目上で右クリックするとコンテキストメニューが表示される
  • ヘッダ情報は、Name から見たいものを選択し、右側に表示されたウィンドウの[Headers]タブを見る。

HTTPレスポンスヘッダ・リクエストヘッダ情報をウェブブラウザで表示・確認する方法