クロスプラットフォームで考慮すること
トラブルシューティング

ビルドのパブリッシング

ゲームを作成中、エディターの外部でスタンドアロンとしてビルドして実行したら、どのような具合であるかを確認したい場合があります。ここでは、Build Settings へのアクセス方法とゲームの各種ビルドの作成方法について説明します。

Build Settings ウィンドウにアクセスするには File > Build Settings… の順に選択します。すると、ゲームをベル度するときに含まれるシーンの編集可能なリストが開きます。

Build Settings ウィンドウ
Build Settings ウィンドウ

最初にプロジェクトでこのウィンドウを開くと、空に見えます。このリストが空のままゲームをビルドすると、現在開いているシーンのみがビルドに含まれます。1 つのシーンファイルだけでテストプレイヤーを素早く作成したい場合は、空のシーンリストでプレイヤーを作成します。

複数シーンのビルドのために、このリストにシーンファイルを加えるのは簡単です。次の 2 種類の追加方法があります。まず、Add Open Scenes ボタンをクリックします。リストに現在開いているシーンが表示されます。次に、シーンファイルを追加するには、Project View からリストにファイルをドラッグします。

この時点で、シーンごとに異なるインデックス値が表示されていることに注意してください。Scene 0 は、ゲームをビルドするときに読み込まれる最初のシーンです。 新しいシーンをロードする場合は、スクリプト内で SceneManager.LoadScene を使用します。

複数のシーンファイルを追加し順序を変えたい場合、シーンをクリックして他のシーンの上、または下にドラッグすることで希望の順序に並び替えることができます。

リストからシーンを削除したい場合は、クリックしてシーンをハイライトし、Command-Delete を押します。リストからシーンが消え、ビルドに含まれなくなります。

ビルドをパブリッシュする準備ができたら、 Platform を選択し、Unity のロゴがその欄の右にあるか確認します。ない場合は、 Switch Platform ボタンをクリックして、プラットホームを指定して下さい。最後に、 Build ボタンを押します。保存ダイアログを使用して、ゲームの名前と保存場所を選択できます。Save をクリックすると、Unity がゲームのビルドを開始します。どこに保存すべきか分からない場合は、プロジェクトのルートフォルダーに保存することを推奨します。Assets フォルダーにビルドを保存することはできません。

Development Build チェックボックスにチェックを入れると、 プロファイラー 機能が使用可能になり、Autoconnect Profiler と Script Debugging オプションが選択可能になります。

Build Settings ウィンドウについての詳細は ビルド設定 を参照してください。

スタンドアロンプレイヤーの作成

Unity では、Windows ,Mac および Linux 向けのスタンドアロンアプリケーションを作成できます 。ビルド設定ダイアログでビルド対象を選択し、‘Build’ ボタンを押すだけです。 スタンドアロンプレイヤーで作成したファイルは、ビルド対象によって変わります。Windows では、アプリケーションのすべてのリソースを含む Data フォルダーと共に、実行可能なファイル (.exe) が作成されます。Mac では、リソースの他、アプリケーションの実行に必要なファイルを含む、app bundle が作成されます。

Mac でのスタンドアロンの配布は、app bundle を配布するだけです (すべてがそこに含まれています)。Windows では、.exe ファイルと Data フォルダーの両方を提供する必要があります。つまり、ゲームを実行するには、コンピューター上に Unity が作成したのと同じファイルを持つ必要があるということです。

ビルドプロセスの内部

ビルドプロセスは、指定した任意の場所に、作成したゲームアプリケーションの空のコピーを置きます。次に、これがビルド設定内のシーンリストを処理し、エディターで一度に 1 つずつ開いて、最適化し、アプリケーションパッケージの統合をします。また、含まれているシーンが必要とするすべてのアセットを計算し、アプリケーションパッケージ内に個々のファイルを格納します。

  • ‘EditorOnly’ というタグのついたシーン内の GameObject は、パブリッシュされたビルドには含まれません。これは、最終的に含める必要のないスクリプトのデバッグに便利です。

  • 新しいレベルがロードされた時、以前のレベルにある全オブジェクトが破棄されます。これを防ぐには、破棄したくないオブジェクトに対し、DontDestroyOnLoad() を使用します。これは、レベルのロード時に音楽の再生を続ける場合や、ゲームの状態や進捗を維持するゲームコントローラースクリプトによく使用されます。

  • SceneManager.sceneLoaded を使って、新しいレベルのロードが終了したら、すべてのアクティブなゲームオブジェクトに送信するたメッセージを定義します。

  • 複数シーンのゲームを作成することに関する情報は、Tutorials を参照してください。

プリロード

パブリッシュされたビルドは、シーンのロード時にすべてのアセットを自動的にプレロードします。この例外は、シーン 0 です。なぜなら、最初のシーンであるスプラッシュ画面を、できるだけ速く表示したいからです。

すべての内容をプレロードするためには Application.LoadLevel(1) を呼び出し、空のシーンを作成します。ビルド設定で、この空のシーンのインデックスを 0 にします。続くレベルはすべてプレロードされます。

ゲームをビルドする準備ができました

これまで、Unity のインターフェースの使い方、アセットの使い方、シーンの作成方法およびビルドのパブリッシュの方法を学んできました。これで思い通りのゲームを作成することができます。しかし、さらに多くのことを学ばなければならないでしょう。以下を参考にして下さい。

ゲームのレベルを構築する方法については シーン を参照してください。

スクリプトの詳細については、スクリプト を参照してください。

アートアセットの作成とインポートについての詳細は、アセットワークフロー を参照してください。

Unity ユーザーや開発者のコミュニティーに参加したい場合は、Unity Forums にアクセスしてください。ここでは、質問やプロジェクトの共有、チームの作成など、さまざまなことが可能です。作成したゲームを発表したり開発者からサポートを得るために、ぜひ 1 度はフォーラムに参加してください。

クロスプラットフォームで考慮すること
トラブルシューティング