Unityで作ったブラウザゲームをブログで公開する
前回Unityで簡単なブラウザゲームを作った。
それをブログで公開する。
前回↓
1. 公開方法2つ
公開方法は2つに分けられる。
- ゲームだけのページを作る
- 既存のページに差し込む
ゲームだけのページを作る方が簡単。
既存のページに差し込むのは少し手間がかかる。
1.1. ゲームだけのページを作る
こんな感じのページを作る↓
作るというかUnityが出力してくれるのでそれを自分のWebサイトに置くだけ。
- 使用ファイル準備
前回の記事の(2.8. ゲーム出力)で出力されたフォルダは以下のような構成になっている。
- 配置
中のフォルダ3つとindex.htmlをそのままWebサイトに置く。
それだけ。
環境によって色々エラーが起こるので下にまとめる。
1.2. 既存のページに差し込む
こんな感じでいろんな要素のあるページの中にゲームを追加する。
さっきの単体ページと同様にUnityが出力してくれたWebGLファイルを使う。
- 使用ファイル準備
前回の記事の(2.8. ゲーム出力)で出力されたフォルダは以下のような構成になっている。
このうち上記の3つのフォルダだけを使用する。
ゲームを貼りたいページのhtmlファイルと同じフォルダに上記の3フォルダを置く。
- ゲーム要素貼り付け
その後、htmlファイル内のゲームを貼りたい場所に上記のindex.htmlからbodyタグの中身をすべてコピー。
CSSも反映させたい場合はheadタグの<link rel="stylesheet" href="TemplateData/style.css">
もコピー。
- レスポンシブデザイン対応
レスポンシブデザインに対応させたい場合は下記のように修正。
これによって親要素のサイズに合わせてゲーム画面の大きさが変化する。
1 | canvas.style.width = "100%"; // 960 to 100% |
こちらも環境によって色々エラーが起こるので下にまとめる。
2. エラー対処
いろいろエラーが起きる。
- ローカル実行
1 | Unable to parse Build/webgl.framework.js.br! |
ローカルで実験しようとすると上記のようなエラーが起きる。
サーバ経由じゃないと実行してくれない。
- HTTP実行
1 | Unable to parse Build/webgl.framework.js.br! |
サーバを立ててもHTTPだと上記のようなエラーが起きる。
HTTPSで配信する必要がある。
- gzip圧縮
1 | Unable to parse Build/webgl.framework.js.gz! |
サーバの設定で送信ファイルをgzip圧縮してるとこうなる。
特定の拡張子のファイルを送るときだけgzip圧縮をオフにするように設定できるのでそうする。
下記を参考にすると良い。
Unity公式のNginx, Apache, IIS用サンプルコード↓