基礎編 その4



ゲームをビルドしよう!!
マインスイーパー作成も残すところ書き出し(ビルド)のみとなりました。本アセットはウィンドウ上でプレイするPC用exeファイルとブラウザでプレイするWebGLに対応しています。
(iOS・Android・その他は試していないのでわかりませんが、おそらく正常に動きませんので動作保証対象外とします)
 

※注意1

PlatformにWebGLがない、もしくは[No WebGL module loaded.]と表示されていて[Build]が押せない状態になっている場合、WebGLコンポーネントがインストールされていません
Unityのインストール時に、コンポーネントのインストールの項目があったと思いますが、そのときにWebGLを選択しないで進めたのが原因です。

PlatformにWebGLを追加する方法は2つあります。

・PlatformにWebGLがない場合
 Unityインストーラーを起動してコンポーネント選択のときに[WebGL]だけを選択してインストール


・[No WebGL module loaded.]が表示されている場合
 その下にある[Open Download Page]をクリックしてexeファイルをダウンロードし、実行する。


当方でやったことないので確証はできませんが、おそらくこの方法でWebGLが使用できると思います。詳しい内容は各自検索して調べていただきますよう、よろしくお願いします。



※注意2

本アセットはフルスクリーンやウィンドウのリサイズには対応していません
また、PC用exeファイルの場合、決められた横長の画像サイズでしか設定できないようです。(つまり縦長や正方形は不可。WebGLだと可能)

【参照】: [応用編 画像サイズの変更]




◆目次へ戻る◆




ビルド(PC用exeファイル)
 
まずはウィンドウ上でプレイするためのexeファイルをビルドしていきます。
メニューから[File > Build Settings]をクリックし、ビルドセッティングを出してください
 
 Platformにある、[PC,Mac&Linux Standalone]を選択して、PlayerSettingを押してください。するとInspectorにビルド設定が出てきます。
 
 様々な項目がありますが、とりあえず触るのは上図の2ヶ所です。[Default Is Full Screen]のチェックを外し、[Default Screen Width(Height)]に画像サイズの幅・高さを記入してください。

 ここで、ビルドセッティングの右下にある[Build And Run]を押し、ゲーム実行ファイルの名前を付けてください。すると書き出しが始まり、処理が終了すると同時にゲーム(exeファイル)が実行されます。
ただ、ここで終了ではありませんのでご注意を。

書き出し処理が完了(または書き出したexeファイルを起動)すると、上図のような解像度設定ダイアログが出てきます。これはプレイヤー側が任意で解像度を設定できるものですが、本アセットはフルスクリーンにもリサイズにも対応していませんので、これをプレイヤー側に弄くられると困るというわけです。

もちろん、このダイアログを表示しないですっ飛ばすという設定はできます。ですが、先にダイアログ非表示設定して書き出すと、おそらくフルスクリーンで起動してしまうと思います。

これはUnityの仕様で、「アプリが最後に持っていた設定を維持」するようです。フルスクリーンで終了すると次回起動時もフルスクリーンに、ウィンドウで終了するとウィンドウで起動するようです。

ですので、ちょっと面倒ですが 一度ダイアログ表示設定のままビルドをし、ダイアログで設定したい解像度を選んでゲームを起動・終了して、今度はダイアログ非表示に設定した後、再びビルドするという手順を踏まないといけないようです。

一度この手順を踏んだら、次回のビルドからこの設定のまま起動するので、再びやる必要はありません。

 
解像度ダイアログで、[Screen resolution]を、作成した画像サイズ(基礎編から通しでやっている方は800×600)を選択、[Windowed]にチェックが入ってるか確認し、[Play!]を押してゲームを起動、そして一旦閉じてください。

再びPlayerSettingを表示し、[Dlsplay Resolution Dialog]の項目を[Disabled]に変更して、再びビルドを行ってください。解像度ダイアログが表示されずすぐにゲームウィンドウが出てきて、画像がすっぽり収まっていたら完成です!! お疲れ様でした!!
あとはひと通りプレイして、問題がなければ公開をしてください。(公開する時、exeファイルと一緒に書き出されるフォルダを必ず同じディレクトリ内に置いてください)

PlayerSettingはこの他にもアイコンやスプラッシュスクリーン(起動時に最初に出てくるロゴシーン)の編集もできますので、余裕があれば弄ってみてください。



◆目次へ戻る◆




ビルド(WebGL)
こちらでは、ブラウザ上でプレイすることができるWebGLのビルドを説明していきます。

2020年にFlashPlayerが配布停止ということもあり、それに変わるブラウザ上で手軽にプレイできる物が必要になってきました。その一つがWebGLです。

Unityでは他にもUnityWebPlayerがありますが、プレイヤー側がプラグインをインストールしないといけなく、その時点でそっぽ向かれてしまう可能性があるので、本アセットのビルドの選択肢に入れていません。(そもそもUnity側が非推奨を提言してるので、時期になくなっていくと思います)

なお、自分が調べた範囲ですが、対応しているブラウザはMicroSoft EdgeとGoogleChromeで、Internet Explorer11では正常に動作しないようです。FireFox等 その他のブラウザは各自で調べていただきますよう、よろしくお願いします。



 
メニューから[File > Build Settings]を選択し、ビルドセッティングから[PlayerSettngs]を押してInspectorにビルド設定を表示してください。

 
WebGLで最低限設定するのは、画像サイズのみです。[Default Screen Width (Height) ]に作成した画像サイズの横幅・縦幅を記入してください。

その下の[WebGL Template]は、ビルドしたHTMLを加工しないのであれば[Default]を、加工するのであれば[Minimal]を選択してください。(これはお好みで)
 
 あとはビルドセッティングの[Build And Run]を押し、書き出しするフォルダを選択して、書き出しを行ってください。

なお、初回の書き出しはものすごい時間がかかります。気長に待ちましょう。

また、書き出しの途中にセキュリティの警告が出てくる場合がありますが、構わず[許可する]を押してください

 
処理が完了すると、標準設定しているブラウザが立ち上がり、ゲーム画面が表示されます。ひと通りプレイして問題がなければ完了です!!
 
 書き出ししたフォルダ内に、ゲームの貼り付けたHTMLが作成されているので、これを自分好みのデザインに加工した後、サーバにアップしてリンクを貼れば公開完了です!! お疲れ様でした!!


※補足1

 
WebGLで書き出した場合、フォントが変化してしまいます。これは標準フォントがUnityとWebGLとで違うために起こる症状です。(WebGLの標準フォントは日本語対応していないため、日本語を入れるとWebGL上だと消えてしまいます)

フォントが変化するだけですので そのままでも問題はありません
ですが、どうしても気になる方は上級編で説明する[フォントの変更]を行ってください。(ちょっと細部を弄るため、自信のない方は触らないほうが無難です)

【参照】: [上級編 フォントの変更]



※補足2

こちらは GoogleChromeを標準ブラウザにしている方への補足です。

ゲーム画面が、ビルドセッティングから[Build And Run]をした場合は問題なく表示されますが、書き出されたHTMLをChromeで開くとゲーム画面が表示されません。なお、サーバにアップして開くと問題なく表示されます

これはChromeのセキュリティの関係で、WebGLのファイルをローカルから読み込むとブロックされるようになっています。

ですので、ブラウザ上でテストプレイしたい場合は、[Build And Run]から起動するか、サーバにアップして開くか、別のブラウザで起動してください。

(HTMLファイルを右クリックして、[プログラムから開く > MicrosoftEdge 他 ]を選択)


 

◆目次へ戻る◆






 これで、最低限プレイできるマインスイーパーが完成しました。
でもやっぱり ここまでくるともっと手を込んだもの、効果音や複数ステージも作ってみたいですね。
次からは、応用編としてより良いものを作り出すための説明をしていきます。
応用編 その1へ→





presented by