こんにちは、ひっしーです。
今回、ゲーム開発を進め、Unityでゲームをビルドした際に困ったことや仕様の違いに戸惑ったことがありましたので、解説・備忘録としてまとめていきたいと思います。
今回の目次は以下になります。
ゲームを実際に各プラットフォーム向けにビルド(出力)するためには、いくつか準備が必要になります。
まずは、UnityHubを開いて現状の自分の環境を確認してみましょう。
UnityHubのインストールボタンをクリックして現在使っているUnityのバージョンのアイコンを確認してみましょう。
バージョンアイコンの下にアイコンが並んでいるかと思います。
ここに表示されているアイコンはどのプラットフォームでビルドが可能かという表示になります、画像では左からAndroid,WebGL,Windowsのアイコンなのでこの3つのプラットフォーム向けにビルドすることができます。
今回は、WebGL向けのビルドになりますので WebGL のアイコンがあるか確認してください
無い場合は、アイコン右上の縦に・が並んでいるボタンからモジュールを加えるを選択します。
するとチェック画面が表示されるのでWebGLにチェックを入れて実行する。
(AndroidやiOSのビルド準備も同様にこの画面からチェック、実行でインストールできます。)
するとインストールが始まります。
完了するとWebGLのアイコンが増えていることを確認できるかと思います。
これでビルドの準備が整いました。
Unityを起動しましょう。
起動したら[File]>[Build Settings]をクリック
Build Setting画面が表示されるので[WebGL]をクリックし[SwitchPlatform]をクリックします。
完了するとWebGL向けにビルドを行うことができるようになります。
続けてビルドを行います。
ビルドしたいシーンをドラッグ&ドロップで追加しましょう
シーンを追加出来たら[Build]ボタンでビルドしましょう
[Build]をクリックすると保存するフォルダの選択画面が出るのでビルドデータ保存用のフォルダを作成して保存します。
すると、ビルドが始まり、完了したら先ほど選択したフォルダにデータが生成されます。
これでWebGLのビルドが完了します。
後は、用途に応じてビルドデータを使用してください。
Unity上で作成したゲームをWebGLビルドした後に、Unityで動かしていた時と動きが違うことが多々あります。
今回ビルド後に注意するべきことをまとめます。
・日本語文字が表示されないことがある
ゲーム内で日本語を表示させる場面は多々あるかと思います。
普通に日本語で表示させていてUnity画面上で実行した際にも正しく表示されているが、ビルドした後のゲームで日本語が表示されないということが起こることがあります。
これは、表示させる文字のフォント設定が日本語に対応していないことで発生します。
そのため、Unity標準のフォントArialなどを使用している場合には発生します。
日本語対応のフォントをGoogleなどで検索するといろいろ出てきますので自分に合ったフォントをダウンロードして使用しましょう。
・データの参照先が異なる場合がある
以前、解説したJSONファイルの保存などを使用している場合にも注意が必要になります。
前回記事↓
こちらでは、ローカルファイル上に保存するように指定していました。
ですが、WebGLでビルドすると保存先のパス参照が変わってしまうためうまく動作しないことがあります。
これは、WebGLにはローカルの保存領域がないためパス指定でファイルの保存や呼び出しができないためです。
なので、WebGLでデータの保存機能を実現するにはほかの方法を使用する必要があります。
そのため、私は以下の方法を使いました。
上記方法について本記事では詳しく説明しませんが興味がある方は調べていただければと思います。
このように、Unityエディタ上で正常に動いていてもビルド後に動かなくなることは多々ありますので、皆さんも注意して頂ければと思います。
以下、要点のまとめになります。
今回は、ゲームのビルドについて解説・まとめを行いました。
実際にゲームを作った際には遊べるようにしないといけないので避けては通れない場面かと思います。
その際に、Unityエディタ上の動き・処理とビルド後のゲームの動きに差異があることを覚えておけば予期せぬ不具合などに対応できる幅が広がるかと思います。
Unityエディタ上で問題なく動いていてもビルド後に必ずテストをするよう心がけましょう。
本記事が、より良い制作物作成の手助けになれれば幸いです。