スタンドアロン
マルチディスプレイ

スタンドアロンのプレイヤー設定

このページでは、スタンドアローンのプラットフォーム(Mac OSX、Windows、Linux)の プレイヤー設定 に関して説明しています。プレイヤー設定全般に関する説明は、こちら をご参照ください。

Resolution And Presentation

プロパティー: 説明:
解像度
Default is Full Screen デフォルトでゲームを全画面モードで開始するかどうか設定できます。
Default Is Native Resolution ゲームの解像度をマシンのデフォルト解像度と同じにするかどうか設定できます。
Default Screen Width ゲーム画面のデフォルト幅(単位:ピクセル)
Default Screen Height ゲーム画面のデフォルトの高さ(単位:ピクセル)
Run in background アプリからフォーカスが外れても (ポーズせずに) 実行し続けるかどうかを設定します。
スタンドアロンプレイヤーオプション
Capture Single Screen 有効になっていると、マルチ画面セットアップでスタンドアローン ゲームが全画面モードのときに、二次モニターが暗くなりません。(Mac OS X では対応が終了しました。)
Display Resolution Dialog ゲーム開始時に、ユーザーが画面解像度を選択できるダイアログを表示するかどうか設定します。選択肢は Disabled(無効)Enabled(有効)Hidden by Default(デフォルトで非表示) (起動時に Alt キーを長押しした場合にのみダイアログが表示される)の3つです。
Use Player Log デバッグ情報をログファイルに書きます。もし Mac の App Store へアプリケーションを登録する計画があるなら、このオプションのチェックを外したい方がよいでしょう。チェックはデフォルトでオンです。
Resizable Window ユーザーにスタンドアロンプレイヤウィンドウのリサイズを許可する。
Mac App Store Validation Mac の Apple Store 用にバリデーションの受領を有効にする。
Mac Fullscreen Mode Mac OS X での全画面モードの操作設定です。選択肢は次の3つです ― Capture Display (ディスプレイが Unity によって操作され、全画面モードが終了するまではユーザーによるアプリケーション切り替えが不可能)、 Fullscreen WindowFullscreen Window with Menu Bar and Dock
D3D9 FullScreen Mode DirectX 9 使用時のデフォルトの全画面モード
        Exclusive Mode デフォルトの全画面モードを、ウィンドウ枠なしの画面全体表示に設定する。
    Fullscreen Window 全画面モード時に、ウィンドウ内にゲームが表示されます。バックグラウンドでゲームを実行したい場合に向いています。
        Exclusive Mode デフォルトの全画面モードを、ウィンドウ枠なしの画面全体表示に設定する。
    Fullscreen Window 全画面モード時に、ウィンドウ内にゲームが表示されます。バックグラウンドでゲームを実行したい場合に向いています。
Visible in Background Windows で、Fullscreen Window モードになっている場合にアプリケーションをバックグラウンドに表示します。
Force Single Instance スタンドアロンのプレイヤーの起動数を1インスタンスに限定します。
Supported Aspect Ratios 起動時の Resolution Dialog に表示されるアスペクト比(ユーザーのモニターが対応しているもののみ)

アイコン

プロパティー: 説明:
Override for Standalone スタンドアロンのゲームに使用したいカスタムアイコンを割り当てる場合にチェックします。異なるサイズのアイコンを下の四角の中に収めます。

スプラッシュ画像

プロパティー: 説明:
Config Dialog Banner Display Resolution Dialog で表示されるカスタムスプラッシュ画像を追加します。
Show Unity Splash Screen ゲームの読み込み時に Made with Unity のスプラッシュ画面が表示されます。

Other Settings

プロパティー: 説明:
レンダリング
Rendering Path このプロパティーは、スタンドアロンから Web プレイヤーまで中身を共有しています。
        Vertex Lit 低い位置のライティングは、陰に対して忠実です。もっとも古いマシンか限定的なモバイルプラットフォームに用いられてます。
        Forward with Shaders よいライティング技術のサポートは; 限られた影へのサポートです。
        Deferred Lighting ライティングとシャドーイングには最適ですが、ハードウェアが一定の水準を満たしている必要があります。リアルタイムのライトが多数ある場合に最適です。(注:カメラの投影モードが Orthographic に設定されている場合、この値はオーバーライドされ、カメラは常に Forward レンダリングを使用することになります。)
Color Space レンダリング用に使用するカラースペースを選択できます。選択肢は GammaLinear です。
Auto Graphics API for Windows オンになっている場合、アプリケーションが、その機動している Windows マシン上のグラフィックス API のうち最適なものを自動で使用します。オフの場合は、対応のグラフィックス API を自分で追加・削除することができます。
Auto Graphics API for Linux オンになっている場合、アプリケーションが、その機動している Linux マシン上のグラフィックス API のうち最適なものを自動で使用します。オフの場合は、対応のグラフィックス API を自分で追加・削除することができます。
Automatic Graphics API オンになっている場合、ゲームが自動的に最適なグラフィックス API を使用します。オフの場合は自分で選択することができます。
Static Batching 静的バッチングを使用したい場合に設定します(Web Player のデフォルトでは非アクティブです)
Dynamic Batching ビルドに動的バッチングを使用したい場合に設定します(デフォルトでアクティブになっています)
GPU Skinning DX11/ES3 GPU スキニングを有効にするかどうか
Stereoscopic Rendering 立体レンダリングを有効または無効に設定します。
Virtual Reality Supported バーチャルリアリティ をビルドする際に有効にしてください。詳しくは VR 概要 をご参照ください。
コフィグレーション
Scripting Backend 現在 スタンドアローン で対応されているスクリプティング バックエンドは Mono2x のみです。
Disable HW Statistics オンになっている場合、ハードウェアに関する情報がアプリケーションから Unity に送られます。(詳しくは Unity ハードウェア スタティスティックス のページをご参照ください。)
Scripting Define Symbols カスタム編集フラグ(詳細はプラットフォーム依存コンパイルを参照してください)。
オプティマイゼーション
API Compatibility Level 下記参照
        .Net 2.0 .Net 2.0ライブラリ。最大の.net互換性、大きいファイルサイズ
        .Net 2.0 Subset 全体の一部の.net互換性、小さいファイルサイズ
Prebake Collision Meshes 衝突データをビルド時にメッシュへ追加するか
Preload Shaders プレーヤーの起動時にシェーダーを読み込むか
Preloaded Assets プレイヤーの起動時に読み込まれる一連のアセット
Vertex Compression 頂点圧縮はチャンネルごとに設定できます。例えば、位置とライトマップ UV 以外のすべてに圧縮を有効にすることもできます。インポートされたオブジェクトごとに設定されたメッシュ圧縮が、オブジェクトの頂点圧縮をオーバーライドします。その他はすべて、ここで設定された頂点圧縮のオプション(チャンネル)に準拠します。
Optimize Mesh Data それら(接線、法線、カラー、UV)に適用されるマテリアルで、必要としないいくつかのデータをメッシュから取り除きます。

API Compatibility Level

ウェブプレイヤーを除くすべてのターゲットにおいて、Mono の API 互換性レベル (API Compatibility Level) を選択できます。時にはサードパーティ製の .NET DLL が使用したい .NET 互換性レベル外のものを使用する場合があります。そういうケースで何が起きているか理解して、最大限の修正対応を行うためには、Windows で “Reflector” を入手する必要があります。

  1. 該当する API 互換性レベルの .NET アセンブリファイルを Reflector にドラッグ&ドロップします。Frameworks/Mono/lib/mono/自身のサブセット名/ のフォルダー内でこららは見つけることができます。
  2. サードパーティ製のアセンブリもドラッグ&ドロップします。
  3. サードパーティ製のアセンブリを右クリックして “Analyze” を選択します。
  4. 分析レポート(Analysis Report) の中で、“Depends on” セクションをチェックします。サードパーティ製品が依存しながらも、.NET 互換性レベルに含まれないものはすべてここで赤字でハイライトされます。

詳細

Resolution(解像度)ダイアログのカスタマイズ

エンドユーザに表示される Resolution(解像度)ダイアログ
エンドユーザに表示される Resolution(解像度)ダイアログ

スタンドアロン プレーヤーの Screen Resolution(画面解像度)ダイアログにカスタムバナー画像を追加するオプションがあります。画像の最大サイズは432×163ピクセルです。画像は、画面セレクタに合わせて拡大されません。代わりに、センタリングしてトリミングされます。

Mac App Store への公開

Use Player Log (プレイヤーログの使用)によりデバッグ情報を含むログファイルの書き込みを有効にします。これはゲームに問題がある場合に、何が起こったかを調べるのに便利です。Apple の Mac App Store のゲームを公開するとき、これをオフにすることを推奨します、そうしなければ Apple が提出を拒否することがあります。ログファイルの詳細についてはログファイル を参照ください。

Use Mac App Store Validation をオンにすると Mac App Store の受領バリデーションが有効になります。これが有効になっていると、ゲームは Mac App Store による受領バリデーションを含んでいる場合にのみ実行されます。App Store で公開するために Apple にゲームを提出する際に使用してください。これによって、ゲームが購入されたコンピューター以外のコンピューターで実行されるのを防ぐことができます。ただしこれは、強力なコピー防止機能を含むものではありませんので注意してください。例えば、ある Unity ゲームがクラッキングされる可能性がある場合、その他すべての Unity コンテンツに対しても同じことが起こる可能性があります。このため、この Unity のプラグイン機能の使用に加えて、独自の受領バリデーションコードを実装することを強くお勧めします。ただし、画面設定のダイアログが表示される前にプラグイン バリデーションを行うことが Apple によって求められるため、このチェックはオンにする必要があります。オンにしない場合は、提出したゲームが Apple によって却下される可能性があります。

Windows ストア アプリ

Player Settings
Player Settings

これらの設定の多くは、初めて Visual Studio ソリューションを作成するとき、Package.appxmanifest に転送されます。

注意: 既存のものの上に、あなたのプロジェクトをビルドする場合、もしそれがすでにある場合、Unity は Package.appxmanifest ファイルの上書きをしません、という事は、何かプレイヤー設定に変更をした場合、必ず Package.appxmanifest を確認するようにしてください、Package.appxmanifest を再生成したい場合、単純にそれを削除します、そして、Unity からプロジェクトをリビルドします。

App パッケージマニフェストの詳細情報は、http://msdn.microsoft.com/en-us/library/windows/apps/br211474.aspx を参照ください。

パッケージング、アプリケーション UI、タイトル、スプラッシュ画面から設定、機能を直接、Package.appxmanifest ファイル設定に転送する。

Certificate(認証)

すべての Windows Store App は、必ず認証書で開発者の身元確認をしなければいけません、Unity はデフォルトの認証書を作成します、もし、あなたがオーナーのを提供する場合、機能しません。

Compilation(コンパイル)

ご存知のとおり、Unity はスクリプトファイルをコンパイルするときに Mono を使用します、そして.NET3.5に配置された API を使用することができます。コンパイルオーバーライドは、あなたの C#ファイル内の Windows Store Apps(.NET Core とも呼ばれる)向けに.NET を使う事ができます、API のお役立ち情報はここです。

コンパイルするときにオーバーライドされています:

  1. None - C#ファイルは、Mono コンパイラーを使ってコンパイルされます。
  2. Use .Net Core - C# ファイルは Microsoft コンパイラーと .NET Core を使用してコンパイルされます。Windows Runtime API を使用することも可能ですが、C# ファイルで実装されたクラスは JS からは使用できません。 注意: Windows ランタイムから API を使用する際、NETFX_CORE define にてラップすることをお勧めします、なぜなら、API は Windows Store Apps ビルド時に、唯一利用できます、そして Unity エディター内では利用不可能だからです。
  3. Use .Net Core Partially - Plugins フォルダー、Standard Assets フォルダー、Pro Standard Assets フォルダーに入っていない C# ファイルは Microsoft compiler と .NET Core によってコンパイルされます。その他の C# ファイルは Mono コンパイラーでコンパイルされます。この利点は、C# で実装されたクラスを JS から使用できることです。

注意: Unity エディター内で.NET Core API のテストをすることはできません、なぜなら、.NET Core へのアクセス権を持っていないからです、なので、Windows Store App の実行時に API のみのテストをすることができます。

(注) JS で .NET Core API を使用することはできません。

ここに、スクリプト内で.NET Core API をどのように使うかの簡単な例を示します。

    string GetTemporaryFolder()
    {
    #if NETFX_CORE
        return Windows.Storage.ApplicationData.Current.TemporaryFolder.Path;
    #else
        return "LocalFolder";
    #endif
    }

プラグイン

Unity のプリプロセッシングツール(シリアライゼーションウェア、アセンブリプリプロセッサ、rrw のような)で、プラグインが無視され処理されないプラグインを含むリストは、普段、変更する必要はありません、エラーを取得している場合を除き、Unity のプリプロセスに失敗したプラグインです。

このリストにプラグインを追加する場合、何が起こるのか?

Unity は、シリアライズ化の目的で、アセンブリで使用している IL コードを追加挿入することはありません、しかし、プラグインが UnityEngine.dll を参照しない場合、それですべて問題ありません、なぜなら Unity は、プラグンからシリアライズデータ送信を行なわないからです。

Independent Input Source(独立した入力ソース)

独立したインプットソースへのオプションを有効にしましょう、詳細はこちらで読めます。基本的にこれは、入力をより反応しやすい作りにします、そして、普段このオプションは、有効にされていることが望ましいいです。

Low Latency Presentation API(低遅延プレゼンテーション API)

Low Latency Presentation API を有効にできます。これによって DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT のフラグで D3D11 のスワップチェーンが作成されます。詳しくは こちら をご参照ください。これによって入力の応答性が向上します。この設定を有効にすると、古い GPU ドライバではゲームにラグが多くなる傾向にあるため、デフォルトでは無効になっています。有効にする場合は、ゲームパフォーマンスのレベルが保たれるかどうか確認するようにしてください。

機能

これらのオプションは、Package.appxmanifest に直接コピーされます。

(注) 以前のパッケージを上書きする形でゲームをビルドする場合、 Package.appxmanifest はオーバーライドされません。

スタンドアロン
マルチディスプレイ