ランタイムに動かないゲームオブジェクトは 静的 ゲームオブジェクト と呼ばれます。ランタイムに動くゲームオブジェクトは 動的 ゲームオブジェクト と呼ばれます。
Unity の多くのシステムでは、 静的ゲームオブジェクトに関する情報をエディターで事前計算できます。ゲームオブジェクトは動かないため、これらの計算結果はランタイムでも有効です。つまり、ランタイムの計算を節約してパフォーマンスを向上できます。
Static エディターフラグ プロパティには、事前計算に静的ゲームオブジェクトを追加できる Unity システムが多数リストされています。ドロップダウンを使用して、事前計算にゲームオブジェクトを追加するシステムを決定します。ランタイムに Static エディターフラグを設定しても、これらのシステムには影響しません。
システムがそのゲームオブジェクトについて把握しておく必要がある場合にのみ、事前計算に追加します。システムが把握する必要のないゲームオブジェクトを事前計算に含めると、計算が無駄になったり、 データファイルが不必要に大きくなったり、予期しない動作が発生することがあります。
Static エディターフラグ プロパティは、ゲームオブジェクトの Inspector の右上にあります。Everything か Nothing に値を設定するチェックボックス、その他の値を選べるドロップダウンメニューで構成されています。
コードを使用して Static エディターフラグプロパティーを設定するには、 GameObjectUtility.SetStaticEditorFlags API と GameObject.isStatic を使用します。コードを使用して Static エディターフラグプロパティの状態を取得するには、 GameObjectUtility.GetStaticEditorFlags API を使用します。
以下の値が選択可能です。
| プロパティ | 説明 |
|---|---|
| Nothing | システムの事前計算にゲームオブジェクトを加えません。 |
| Everything | 以下のすべてのシステムの事前計算にゲームオブジェクトを加えます。 |
| Contribute GI | このプロパティを有効にすると、Unity はターゲットの メッシュレンダラー をグローバルイルミネーションの計算に加えます。この計算は、ベイク時にライティングデータを事前計算する際に行われます。ContributeGI プロパティは、ReceiveGI プロパティを公開します。ベイクしたグローバルイルミネーション や Enlighten リアルタイムグローバルイルミネーション などのグローバルイルミネーション設定をターゲットシーンで有効にしている場合のみ、ContributeGI プロパティが有効になります。Unityのビルトインレンダーパイプラインとライティングの設定の詳細は、Unity の ビルトインレンダーパイプラインとライティングの設定に関するチュートリアル を参照してください。 |
| Occluder Static | オクルージョンカリングシステムで、ゲームオブジェクトが静的遮蔽物としてマークされます。詳細は、オクルージョンカリング を参照してください。 |
| Occludee Static | オクルージョンカリングシステムで、ゲームオブジェクトが静的被遮蔽物としてマークされます。詳細は、オクルージョンカリング を参照してください。 |
| Batching Static | ゲームオブジェクトのメッシュを他の適切なメッシュと組み合わせると、ランタイムのレンダリングコストを削減できる可能性があります。詳細は、静的バッチ処理 に関するドキュメントを参照してください。 |
| Navigation Static | ナビゲーションデータを事前計算するときにゲームオブジェクトを加えます。このワークフローは廃止予定であり、ここでは Navigation Static は設定できません。ただし、コードで StaticEditorFlags.NavigationStatic を使用すればこのオプションを設定できます。 Navigation Static フラグの代わりに、NavMesh Modifier コンポーネントを NavMesh Surfaces とともに使用します。 |
| Off Mesh Link Generation | ナビゲーションデータを事前計算するときに、ゲームオブジェクトから開始するオフメッシュリンクの生成を試みます。このワークフローは廃止予定であり、このメニューから Off Mesh Link Generation は設定できません。ただし、コードで StaticEditorFlags.OffMeshLinkGeneration を使用すればこのオプションを設定できます。Off Mesh Link Generation フラグの代わりに、NavMesh Modifier コンポーネントを NavMesh Surfaces とともに使用します。 |
| Reflection Probe | Type プロパティが Baked に設定されている リフレクションプローブ のデータを事前計算するときに、ゲームオブジェクトを加えます。リフレクションプローブ に関する詳細は、以下を参照してください。 |