Version: Unity 6.0 (6000.0)
言語 : 日本語
Set up your environment for Embedded Linux
埋め込み Linux 向けの開発

埋め込み Linux のプレイヤー設定

埋め込み Linux のプレイヤー設定では、最終的なアプリケーションを Unity がビルドして表示する方法をカスタマイズできます。埋め込み Linux のプレイヤー設定ウィンドウにアクセスするには、Edit > Project Settings > Player の順に移動し、Embedded Linux タブを選択します。このウィンドウで使用可能な設定のほとんどは、PlayerSettings API を使用して制御できます。一般的な Player 設定については、Player 設定 を参照してください。

一般設定

Player 設定は、インストールしたプラットフォームモジュールによって異なります。各プラットフォームには、ビルドするアプリケーションのバージョンごとに設定する必要がある、独自の Player 設定があります。各設定間を移動するには、適切なプラットフォーム OS のアイコンがあるタブをクリックします。

埋め込み Linux のメインプレイヤー設定ウィンドウ
埋め込み Linux のメインプレイヤー設定ウィンドウ

以下のセクションのプロパティが説明されています。

Icon

ゲームにカスタムアイコンを割り当てるには、Override for Embedded Linux 設定を有効にします。

Resolution and Presentation

Resolution and Presentation セクションでは、Resolution セクションの画面表示をカスタマイズします。

Resolution

このセクションでは、スクリーンモードとデフォルトサイズをカスタマイズできます。

プロパティ 説明
全画面モード 全画面モードを選択します。起動時のデフォルトのウィンドウモードを定義します。これによって起動時のデフォルトのウィンドウモードが設定されます。
Fullscreen Window アプリケーションウィンドウがデバイスの全画面のネイティブ解像度で表示されます。全画面のウィンドウを埋めるために、Unity はアプリケーションのコンテンツをスケールします。出力デバイスのアスペクト比と一致するように、Unity はレンダリングされた出力に黒色のバーを追加して、コンテンツが伸縮しないようにする場合があります。このプロセスは レターボックス と呼ばれます。このモードでは、ナビゲーションバーは常に非表示になります。
Windowed アプリケーションは標準の、全画面ではない移動可能なウィンドウを使用します。ウィンドウのサイズはアプリケーションの解像度によって異なります。このモードでは、ウィンドウはデフォルトでサイズ変更可能です。これを無効にするには、Resizable ウィンドウを無効にしてください。
Default is Native Resolution このオプションを有効にすると、ターゲットマシン上で使用されるデフォルトの解像度を使用します。Fullscreen ModeWindowed に設定されている場合、このオプションは使用できません。
Use 32-bit Display Buffer 埋め込み Linux は 32 ビットカラーバッファのみをサポートします。
Disable Depth and Stencil 本機能は、埋め込み Linux ではサポートされません。
Render Over Native UI ネイティブの iOS または Android UI の上にアプリケーションがレンダリングされるようにする場合にのみ、このオプションを有効にします。この設定を有効にするには、カメラの Clear Flags を Solid Color に設定し、アルファ値を 1 未満にします。

Splash Image

Virtual Reality Splash Image 設定を使用して、仮想現実 (VR) ディスプレイのカスタムスプラッシュ画像を選択します。一般的な Splash Image の設定については、Splash Image (Player 設定) を参照してください。

Other Settings

Other Settings のセクションでは、以下のグループに分類されたさまざまなオプションをカスタマイズできます。

Rendering

これらの設定を使用して、埋め込み Linux プラットフォーム向けにゲームをレンダリングする方法をカスタマイズします。

埋め込み Linux のレンダリング設定
埋め込み Linux のレンダリング設定
プロパティ 説明
色空間 レンダリングに Gamma (ガンマ) と Linear (リニア) どちらの色空間を使用するかを選択します。この 2 つの違いについては、Linear レンダリングの概要 を参照してください。
Gamma ガンマ色空間は通常、フレームバッファ形式がチャンネルあたり 8 ビットに制限された古いハードウェアのライティングの計算に使用されます。最近のモニターはデジタルですが、入力に依然としてガンマエンコードされた信号を使用している場合もあります。
Linear リニア色空間レンダリングでは、より正確な結果が得られます。リニア色空間の使用を選択すると、エディターはデフォルトで sRGB サンプリングを使用します。テクスチャがリニア色空間の場合は、リニア色空間を使用し、各テクスチャの sRGB サンプリングを無効にする必要があります。
Force SRGB blit これを有効にすると、リニア色空間に強制 SRGB ブリットを使用します。グラフィックスドライバーがリニア色空間をサポートしていない場合、このオプションを選択すると、リニア色空間がガンマ (SRGB) 色空間に変換されます。
Auto Graphics API これを有効にすると、アプリケーションが実行されているデバイスで最高のグラフィックス API を使用できます。これを無効にすると、サポートされているグラフィックス API を追加および削除できます。
Multithreaded Rendering マルチスレッドレンダリングを使用するには、このオプションを有効にします 。
スタティックバッチング このオプションを有効にして、静的バッチ処理を行います。
Static Batching Threshold バッチ処理時に使用される最大頂点しきい値を制御します。詳細は、スプライトバッチ頂点しきい値 を参照してください。
GPU Compute Skinning DX11/ES3 GPU コンピュートスキニングを使用するには、CPU リソースを解放します。
Graphics Jobs このオプションを有効にすると、グラフィックスタスク (レンダリングのループ) を他の CPU コアで動作するワーカースレッドにオフロードするよう Unity に指示されます。この機能は、多くの場合にボトルネックとなるメインスレッドの Camera.Render の作業時間を削減することを目的としています。
テクスチャ圧縮形式 プロジェクトのテクスチャに使用するテクスチャ圧縮形式を選択します。オプションは、ETC、ETC2、ASTC、DXT、PVRTC です。これらの各圧縮形式の詳細は、TextureImporterOverride を参照してください。
Normal Map Encoding ライトマップのエンコードを設定する、Normal Quality か High Quality を選択します。この設定は、ライトマップのエンコードスキームと圧縮形式に影響します。
Lightmap Streaming このオプションを有効にすると、現在のゲームカメラをレンダリングするために、必要に応じてライトマップのミップマップのみをロードします。この値は、生成されるライトマップテクスチャに適用されます。注:この設定を使用するには、Texture Streaming Quality 設定を有効にする必要があります。
Streaming Priority リソースの競合を解決するための、ライトマップミップマップのストリーミング優先順位を設定します。これらの値は、生成されるライトマップテクスチャに適用されます。正の数は優先度を高くします。有効な値は –128 から 127 です。
Frame Timing Stats これを有効にすると、CPU/GPUフレームタイミング統計を収集します。
OpenGL:Profiler GPU Recorders OpenGL でレンダリングするときにプロファイラーレコーダーを有効にします。
Virtual Texturing (Experimental) 仮想テクスチャリング を有効にするかどうかを指定します。注:この設定を有効にするには、Unity エディターを再起動する必要があります。
Load/Store Action Debug Mode モバイルプラットフォームでのレンダリングに関する問題の原因となる可能性がある未定義のピクセルを強調表示します。これは Unity エディターのゲームビューと、Build Settings で Development Build を選択した場合のビルドされたアプリケーションに影響します。詳細は、LoadStoreActionDebugModeSettings を参照してください。
360 Stereo Capture Unity がステレオスコピック 360 の画像とビデオをキャプチャできるかどうかを示します。有効にすると、360 キャプチャをサポートするために、Unity で追加のシェーダーバリアントがコンパイルされます (現在は Windows/macOS のみ)。有効にすると、Stereo RenderCubemap の呼び出し中に enable_360_capture キーワードが追加されます。このキーワードは、Stereo RenderCubemap 関数の外部ではトリガーされないことに注意してください。詳細は、ステレオ 360 の画像とビデオのキャプチャ を参照してください。

Vulkan settings

埋め込み Linux の Vulkan プレイヤー設定。
埋め込み Linux の Vulkan プレイヤー設定。
プロパティ 説明
SRGB Write Mode このオプションを有効にすると、ランタイムに Graphics.SetSRGBWrite() レンダラーが sRGB 書き込みモードを切り替えることができます。つまり、一時的にリニアから sRGB への書き込み色変換をオフにする必要がある場合は、このプロパティを使用することで実現できます。これを有効にすると、モバイルタイルベースの GPU のパフォーマンスに悪影響を与えます。そのため、モバイルでは有効にしないでください。
Number of swapchain buffers Vulkan レンダラーでダブルバッファリングを使用するにはこのオプションを 2 に設定し、トリプルバッファリングを使用するには 3 に設定します。プラットフォームによってはこの設定で待ち時間が短くなる可能性がありますが、ほとんどの場合にデフォルト値 3 を変更しないでください。ダブルバッファリングは、パフォーマンスに悪影響を及ぼす可能性があります。Android ではこの設定を使用しないでください。
Acquire swapchain image late as possible 有効にすると、Vulkan はフレームをオフスクリーン画像にレンダリングするまで、バックバッファの取得を遅らせます。これを実現するために、Vulkan はステージング画像を使用します。この設定を有効にすると、バックバッファを表示する際に、余分なブリットの原因になります。この設定をダブルバッファリングと組み合わせることで、パフォーマンスを向上させることができます。ただし、追加のブリットによって使用する帯域幅が増えるため、パフォーマンスの問題が生じる可能性もあります。
Recycle command buffers Unity がコマンドバッファを実行した後、それを再利用するか解放するかを示します。

Configuration

このセクションでは、埋め込み Linux プラットフォームの設定を指定します。

埋め込み Linux の設定
埋め込み Linux の設定
プロパティ 説明
Scripting Backend スクリプティングバックエンドは、アプリケーションの C# コードを Unity がコンパイルし実行する方法を決定します。埋め込み Linux のデフォルトのスクリプティングバックエンドは IL2CPP です。
API Compatibility Level プロジェクトに使用する .NET API を選択します。この設定はサードパーティ製のライブラリとの互換性に影響します。
.Net Standard 2.0 .NET Standard 2.0 と互換性があります。ビルドのサイズが小さくなり、完全なクロスプラットフォームをサポートします。
.Net Framework 4.x .NET Framework 4 (.NET Standard 2.0 プロファイルのすべてと追加 API を含む) と互換性があります。.NET Standard 2.0 に含まれていない API にアクセスするライブラリを使用する場合は、このオプションを選択します。ビルドのサイズが大きくなります。使用可能な追加の API が、すべてのプラットフォームで必ずしもサポートされるわけではありません。詳細は、追加のクラスライブラリアセンブリの参照 を参照してください。
C++ Compiler Configuration IL2CPP 生成コードをコンパイルするときに使用する C++ コンパイラーの設定を選択します。
Use incremental GC インクリメンタルなガベージコレクターを使用する場合に有効にします。これは、ガベージコレクションをいくつかのフレームに広げ、フレーム継続時間中に GC に関連するスパイクを軽減します。
Assembly Version Validation これはエディター設定であり、ランタイムには適用されません。
Player Data path .config ファイルとログファイルを保存するシステム上のディレクトリパスを入力します。これは、プレイヤーのコマンドラインから引数 -platform-hmi-player-data-path <pathname> を追加することでも変更できます。
Enable Game Controllers これを選択すると、ゲームコントローラーが有効になります。ゲームコントローラーが不要な場合は、これを無効にすると、プレイヤーの起動時間の短縮につながります。
CPU Configuration プレイヤーランタイムの対象 CPU 設定を行います。デフォルトのコア数は 0 ですが、数値を入力して増やすことができます。各 CPU のオプションは、DisabledHigh PerformanceLow Performance です。
Loading image この設定を使用して、ロード画面のカスタムスプラッシュ画像を選択します。
Active Input Handling ユーザーからの入力をどのように処理するかを選択します。
Input Manager (old) デフォルトの Input ウィンドウを使用します。
Input System(Preview) 新しい Input System を使用します。Input System はこのリリースのプレビューパッケージとして提供されています。Input System のプレビューを試すには、InputSystem パッケージをインストールします。
Both 両方のシステムを同時に使用します。

Shader Settings と Shader Variant Loading Settings

これらの設定を使用して、ランタイムにシェーダーが使用するメモリ量を制御します。

埋め込み Linux のシェーダー設定
埋め込み Linux のシェーダー設定
プロパティ 説明
Shader precision model シェーダーで使用するサンプラーのデフォルトの精度を選択します。詳細は、HLSL データ型 を参照してください。
Strict shader variant matching シェーダーバリアントが見つからない場合は、エラーシェーダーを使用し、コンソールにエラーを表示します。
Keep Loaded Shaders Alive 有効にすると、シェーダーをアンロードできません。詳細は、シェーダーのロード を参照してください。
Default chunk size (MB) すべてのプラットフォームのビルドされたアプリケーション内に Unity が保存する、圧縮されたシェーダーバリアントのデータチャンクの最大サイズを設定します。デフォルトは 16 です。詳細は、シェーダーのロード を参照してください。
Default chunk count Unity がすべてのプラットフォームのメモリに保持する解凍チャンク数のデフォルト制限を設定します。デフォルトは 0、つまり制限はありません。
Override これを有効にすると、このビルドターゲットの Default chunk size と Default chunk count をオーバーライドします。

Script Compilation

埋め込み Linux のスクリプトコンパイル設定
埋め込み Linux のスクリプトコンパイル設定
プロパティ 説明
Scripting Define Symbols カスタムコンパイルフラグを設定します。

詳細については、プラットフォーム依存のコンパイルを参照してください。
Additional Compiler Arguments このリストにエントリーを追加し、Roslyn コンパイラーに追加の引数を渡します。引数を追加するごとに 1 つの新しいエントリーを使用します。
新しいエントリーを作成するには、Add (+) をクリックします。エントリーを削除するには、Remove (-) をクリックします。

必要な引数をすべて追加して、Apply をクリックすると、その後のコンパイルに追加の引数が含まれるようになります。Revert をクリックすると、このリストが最近適用された状態にリセットされます。
Suppress Common Warnings C# の警告 CS0169CS0649 を表示するかどうかを指定します。
Allow ‘unsafe’ Code 事前定義されたアセンブリ (例えば Assembly-CSharp.dll など) での ‘unsafe’ C# コード のコンパイルのサポートを有効にします。
アセンブリ定義ファイル (.asmdef) の場合は、.asmdef ファイルの 1 つをクリックして、表示される Inspector ウィンドウでオプションを有効にします。
Use Deterministic Compilation deterministic C# フラグを使用して、コンパイルを阻止するかどうかを指定します。この設定を有効にすると、コンパイルされるアセンブリは、コンパイルされるたびにバイト単位で同じになります。

詳細については、コード生成を制御する C# コンパイラーオプションを参照してください。

最適化

Property 説明
Prebake Collision Meshes ビルド時に メッシュ に衝突データを追加します。
Preloaded Assets 起動時にプレイヤーが読み込むためのアセットの配列を設定します。
新しいアセットを追加するには、Size プロパティの値を引き上げ、表示される新しい Element ボックスに読み込むようにアセットへの参照を設定します。
Vertex Compression チャンネルごとに頂点圧縮を設定します。これはプロジェクト内のすべてのメッシュに影響します。
通常、頂点圧縮は、メモリ内のメッシュデータのサイズを縮小し、ファイルサイズを削減し、GPU パフォーマンスを向上するために使用します。

頂点圧縮の設定方法とこの設定の制限については、メッシュデータの圧縮 を参照してください。
Optimize Mesh Data このオプションを有効にすると、ビルドで使用されるメッシュから未使用の頂点属性が削除されます。このオプションは、メッシュ内のデータ量を削減し、ビルドサイズ、ロード時間、ランタイムのメモリ使用量の削減を支援します。

注意: この設定を有効にしている場合は、ランタイムにマテリアルやシェーダーの設定を変更しないようにしてください。

詳細については PlayerSettings.stripUnusedMeshComponents を参照してください。
テクスチャミップマップのストリッピング すべてのプラットフォームでミップマップのストリッピングを有効にします。これにより、ビルド時にテクスチャから未使用のミップマップレベルが削除されます。
Unity は、ミップマップのレベルを現在のプラットフォームの品質設定と比較して、未使用のミップマップレベルを判別します。ミップマップレベルが現在のプラットフォームのすべての品質設定の範囲外にある場合は、ビルド時にそれらのミップマップレベルをビルドから削除します。QualitySettings.globalTextureMipmapLimit が削除されたミップマップレベルに設定されている場合、Unity は削除されていない最も近いミップマップレベルに値を設定します。

ログ

埋め込み Linux のビルドで許可するロギングの種類を選択します。

  • 使用可能なオプションから任意のログ方法を選択します。

  • 必要なログの種類に基づいて、各 Log Type (Error、Assert、Warning、Log、Exception) に対応するボックスにチェックを付けます。以下に例を示します。

    • ScriptOnly - スクリプトの実行時にのみログを記録します。
    • Full - 常にログを記録します。
    • None - ログは記録されません。

Legacy

このセクションでは、古い機能のプレイヤー設定について説明します。

プロパティ 説明
Clamp BlendShapes (Deprecated) このオプションを有効にすると、SkinnedMeshRenderers でブレンドシェイプのウェイトの範囲を固定できます。
Upload Cleared Texture Data これは古い機能であり、帯域幅を使い切ってしまうため現在は必要ありません。デフォルトでは、デバッグ目的でこれが有効になっています。この設定を有効にすると、初期データがクリアされ、テクスチャがスクリプトからビデオメモリに自動的にアップロードされます。

その他の参考資料

Set up your environment for Embedded Linux
埋め込み Linux 向けの開発