ドキュメント

Unity Engine

Unity Engine

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

Reference documentation for Embedded Linux Player settings.
読み終わるまでの所要時間 26 分最終更新 1ヶ月前

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

一般設定

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

埋め込み 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 Mode が Windowed に設定されている場合、このオプションは使用できません。
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 のレンダリング設定

プロパティ

説明

色空間レンダリングに 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 SkinningDX11/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 RecordersOpenGL でレンダリングするときにプロファイラーレコーダーを有効にします。
Virtual Texturing (Experimental)仮想テクスチャリング を有効にするかどうかを指定します。**注:**この設定を有効にするには、Unity エディターを再起動する必要があります。
Load/Store Action Debug Modeモバイルプラットフォームでのレンダリングに関する問題の原因となる可能性がある未定義のピクセルを強調表示します。これは Unity エディターのゲームビューと、Build Settings で Development Build を選択した場合のビルドされたアプリケーションに影響します。詳細は、LoadStoreActionDebugModeSettings を参照してください。
360 Stereo CaptureUnity がステレオスコピック 360 の画像とビデオをキャプチャできるかどうかを示します。有効にすると、360 キャプチャをサポートするために、Unity で追加のシェーダーバリアントがコンパイルされます (現在は Windows/macOS のみ)。有効にすると、Stereo RenderCubemap の呼び出し中に enable_360_capture キーワードが追加されます。このキーワードは、Stereo RenderCubemap 関数の外部ではトリガーされないことに注意してください。詳細は、ステレオ 360 の画像とビデオのキャプチャ を参照してください。

Vulkan settings

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

プロパティ

説明

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

Configuration

このセクションでは、埋め込み 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 ConfigurationIL2CPP 生成コードをコンパイルするときに使用する 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 のオプションは、Disabled、High Performance、Low 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 のシェーダー設定

プロパティ

説明

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

Script Compilation

埋め込み Linux のスクリプトコンパイル設定

プロパティ

説明

Scripting Define Symbolsカスタムコンパイルフラグを設定します。

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

必要な引数をすべて追加して、Apply をクリックすると、その後のコンパイルに追加の引数が含まれるようになります。Revert をクリックすると、このリストが最近適用された状態にリセットされます。
Suppress Common WarningsC# の警告 CS0169 と CS0649 を表示するかどうかを指定します。
Allow 'unsafe' Code事前定義されたアセンブリ (例えば
Assembly-CSharp.dll
など) での ‘unsafe’ C# コード のコンパイルのサポートを有効にします。
アセンブリ定義ファイル (
.asmdef
) の場合は、
.asmdef
ファイルの 1 つをクリックして、表示される Inspector ウィンドウでオプションを有効にします。
Use Deterministic Compilationdeterministic 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これは古い機能であり、帯域幅を使い切ってしまうため現在は必要ありません。デフォルトでは、デバッグ目的でこれが有効になっています。この設定を有効にすると、初期データがクリアされ、テクスチャがスクリプトからビデオメモリに自動的にアップロードされます。

その他の参考資料