Version: 2020.1
言語: 日本語
動的ゲームオブジェクトによるオクルージョンカリング
オクルージョンエリア

オクルージョンカリングとシーンのロード

ランタイムに、開いているシーンの数にかかわらず、Unity は一度に 1 つのオクルージョンカリングデータアセットのみをロードします。したがって、一度に 1 つのシーンをロードするか、複数のシーンをロードするかによって、オクルージョンカリングデータを異なる方法で準備する必要があります。

一度に 1 つのシーンをロード

LoadSceneMode.Single を使って一度に 1 つのシーンをロードする場合は、以下のように、各シーンのオクルージョンカリングデータを個別にベイクする必要があります。

  1. Unity エディターで、オクルージョンカリングデータをベイクする 1 つのシーンを開きます。
  2. シーンのデータをベイクします。Unity はデータを生成し、Assets/[Scene name]/OcclusionCullingData.asset として保存します。Unity はこのアセットへの参照を開いているシーンに加えます。
  3. シーンを保存します。
  4. 各シーンで手順 1、2、3 を繰り返します。

ランタイムに、以下のようにシーンをロードします。

  1. プロジェクトのデフォルトシーンとして、または LoadSceneMode.Single を使用してシーンをロードします。Unity は、アクティブなシーンがあると、(オクルージョンデータアセットがある場合は) そのオクルージョンデータアセットと共にシーンをアンロードします。次に、Unity はオクルージョンデータアセットとともに他のシーンをロードします。

一度に複数のシーンをロード

LoadSceneMode.Additive を使って一度に複数のシーンをロードする場合は、以下のように、複数のシーンのオクルージョンカリングデータをベイクする必要があります。

  1. Unity エディターで、 複数シーンのグループ中でランタイムに最初にロードするシーンを開きます。これがアクティブなシーンになります。
  2. 次に、グループ内の他のシーン (複数) を開くと、それらすべてが同時に Unity エディターで開きます。
  3. すべてのシーンのデータをベイクします。Unity は開いているすべてのシーンのデータを生成し、Assets/[active Scene name]/OcclusionCullingData.asset として保存します。Unity は開いているすべてのシーンにこのアセットへの参照を加えます。
  4. シーンを保存します。

ランタイムに、以下のようにシーンをロードします。

  1. プロジェクトのデフォルトシーンとして、または LoadSceneMode.Single を使用してグループの最初のシーンをロードします。Unity は、アクティブなシーンがあると、(オクルージョンデータアセットがある場合は) そのオクルージョンデータアセットと共にシーンをアンロードします。次に、Unity はオクルージョンデータアセットとともに他のシーンをロードします。
  2. 必要に応じて、LoadSceneMode.Additive を使って他のシーンをロードします。後からロードされたシーンのオクルージョンデータがアクティブなシーンのオクルージョンデータと同じであると Unity が検出した場合は、オクルージョンカリングは意図したとおりに機能します。

共有のオクルージョン データアセットのサイズは大きくなります。大きなオクルージョンデータアセットを使用しても、ランタイムの CPU への影響はありません。

Unity エディターでの複数シーンの使用については、複数シーンの編集 を参照してください。

動的ゲームオブジェクトによるオクルージョンカリング
オクルージョンエリア
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961