https://docs.unity3d.com/ja/2021.1/Manual/webgl-deploying.html
の下記項目
Unity User Manual 2021.1
プラットフォーム開発
WebGL
WebGL での開発を始めるにあたって
WebGL: Compressed builds and server configuratio
マニュアルより抜粋
Compression method
|
File extension
|
Response header
|
gzip
|
.gz
|
Content-Encoding: gzip
|
Brotli
|
.br
|
Content-Encoding: br
|
Content-Encoding headers
File extension
|
Response header
|
.wasm, .wasm.gz, .wasm.br
|
Content-Type: application/wasm
|
WebAssembly streaming (higher level header)
File extension
|
Response header
|
.js, .js.gz, js.br
|
Content-Type: application/javascript
|
Additional headers
というわけで .htaccess や .conf などでマニュアル通りに Mime Type の設定を行うことでとりあえず解決した。
AddType application/wasm wasm
AddType application/octet-streamt data
AddType application/javascript js
<FilesMatch "(\.js.gz)$">
Header set Content-Encoding gzip
Header set Content-Type application/javascript
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.data.gz)$">
Header set Content-Encoding gzip
Header set Content-Type application/octet-streamt
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.wasm.gz)$">
Header set Content-Encoding gzip
Header set Content-Type application/wasm
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.js.br)$">
Header set Content-Encoding br
Header set Content-Type application/javascript
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.data.br)$">
Header set Content-Encoding br
Header set Content-Type application/octet-streamt
Header append Vary Accept-Encoding
</FilesMatch>
<FilesMatch "(\.wasm.br)$">
Header set Content-Encoding br
Header set Content-Type application/wasm
Header append Vary Accept-Encoding
</FilesMatch>
ただしこの方法では拡張子により強制的に Content-Encoding を設定しているため、圧縮データに対応していないブラウザからアクセスされた場合は動作しない可能性がある。
必要があれば、RewriteRule の設定などで圧縮形式に非対応ブラウザからのアクセスの際は圧縮なし版へリダイレクト、またはエラー画面にするなどを行うとよいかもしれない。
Brotli圧縮のサンプル
Brotli圧縮非対応、WebGLを動作させない設定になっているブラウザからでは動作しないと思う。
この投稿にはまだコメントがありません。