Version: Unity 6.0 (6000.0)
言語 : 日本語
オクルージョンカリングのシーンの設定
移動するゲームオブジェクトのカリング

オクルージョンカリング用に複数のシーンを設定する

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

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

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

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

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

  1. シーンをプロジェクトのデフォルトシーンとしてロードするか、LoadSceneMode.Single を使用してロードします。アクティブなシーンがあり、そのシーンにオクルージョンデータアセットが含まれている場合は、シーンはそのオクルージョンデータアセットとともにアンロードされます。その後、シーンはオクルージョンデータアセットとともにロードされます。

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

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

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

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

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

共有オクルージョンデータアセットのファイルサイズは大きいことに注意してください。大きなオクルージョンデータアセットを使用しても、ランタイムの CPU への影響はありません。

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

オクルージョンカリングのシーンの設定
移動するゲームオブジェクトのカリング