Unity - WebGLでビルドしてサーバーにアップする!



前回はWebGLでビルドするところまでご紹介しました。
・Unity - WebGLでビルドしてみる

今回はビルドしたデータをサーバーにアップして確認してみたいと思います。単純にサーバーにデータ一式をアップすればいいと思っていましたが、少しビルドしたデータをいじる必要がありました。まだ少し問題ありの検証途中ですが、一応出来たのでそこまでの方法になります!

こちらの環境で試してみました。

  • Unityは、Windows版の5.5.1と5.4.0の2バージョンを使用しています
  • レンタルサーバーはロリポップを使用しています


結論からいいますと、5.5.1ではサーバにアップしてもエラーが起きてしまいダメでした…、只今解決方法を検証中です。5.4.0では問題なく出来るようになりましたので、その方法のメモになります。

ビルドしたデータをサーバにアップ


以下手順です。(Windows版5.4.0)

  • Unity5.4.0を起動します。
  • 何かオブジェクトを配置するなど、任意のシーンを構築します。
  • WebGLでビルドします。


保存先を見てみると、画像の様なデータが作成されています。


ローカルで確認したい場合は、「index.html」をダブルクリックすればOKです。
※ブラウザーはFirefoxが推奨です

サーバーにアップする場合はここから一工夫必要です。このままサーバーにアップすると、英語で「よくわからない圧縮方法です」みたいなことを言われ、起動できませんでした。

  • index.htmlをメモ帳などで開きます。
  • 下の方に以下の様な記述があります。(○○○の部分は保存先のフォルダ名)
    dataUrl: "Release/○○○.data",
    codeUrl: "Release/○○○.js",
    memUrl: "Release/○○○.mem",
  • これを以下の様に変更して上書き保存します。おしりに「gz」を追加します。
    dataUrl: "Release/○○○.datagz",
    codeUrl: "Release/○○○.jsgz",
    memUrl: "Release/○○○.memgz",


これで終了です。
データ一式をサーバにアップして起動するか確認してみましょう!


補足


「gz」というのはファイル圧縮の拡張子です。

色々試してみましたが、5.5.1ではサーバー上でエラーが起きてしまい起動してくれませんでした。5.4.0でビルドしたデータの中のReleaseフォルダをみてみると、「○○○.datagz」「○○○.jsgz」「○○○.memgz」「UnityLoader.js」の4つのデータが入っています。

5.5.1でビルドするとこれに一つ加えて、「○○○.asm.jsgz」があります。同じ要領でindex.htmlをいじってもダメでした。

んーなんででしょか、何か別の方法が必要なのかもしれません。自分はサーバーもプログラムの知識もごく薄く、勉強の必要性を日々感じています。こういうことをサラッと出来る人が羨ましいです!

まだ時間ができたら新しいバージョンで検証してみたいと思います。


関連記事
・Unity - WebGLでビルドしてみる


≫Unity関連記事 もくじへ
≫トップページへ

2017年04月17日