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

ビルドの公開

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

File->Build Settings… でビルド設定ウィンドウを表示します。ゲーム作成時に含まれるシーンの編集可能なリストがポップアップ表示されます。

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

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

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

シーンを複数追加した時点で、各シーンが異なるインデックス値を持ちます。 Scene 0 は、ゲームビルド時にロードされる最初のシーンです。新しいシーンをロードするには、スクリプト内でApplication.LoadLevel() を使用します。

複数のシーンファイルを追加し、再配置したい場合、シーンをドラッグすることで希望の順序に並び替えることができます。

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

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

プレイヤーで Development Build チェックボックスを有効にすると、Profiler 機能が有効になり、Autoconnect Profiler および Script Debugging オプションが有効になります。

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

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

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

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

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

ビルドプロセスの内部

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

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

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

  • 新しいレベルのロード終了後に、OnLevelWasLoaded() というメッセージがすべてのアクティブなゲームオブジェクトに送信されます。

  • 複数のシーン (例えば、メインメニュー、ハイスコア画面、実際のゲームレベルなど) で最適にゲームを作成する方法の詳細については、Tutorialsを参照してください。

プリロード

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

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

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

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

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

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

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

Unity ユーザーや開発者のコミュニティに参加したい場合は、Unity Forums にアクセスしてください。ここでは、質問やプロジェクトの共有、チームの作成などを行えます。あなたの作成した素晴らしいゲームを見たいので、ぜひ 1 度はフォーラムに参加してください。

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