Version: 2022.2
言語: 日本語
Set up multiple scenes
スクリプトを使って複数シーンの編集する

複数のシーンにデータをベイクする

複数のシーンにデータをベイクすると、データのベイクにかかる時間や生成されるデータのサイズを削減することができます。

複数シーンのライトマップをベイクする

シーンのサーフェスの明るさを事前に決定するには、ライトマップ をベイクします。複数シーンのライトマップを一度にベイクするには、2 つの方法があります。

  • ライトマップのビルドを自動化するには、Lightmapping.BakeMultipleScenes 関数を使用します。
  • 複数シーンのライトマップを手動でベイクするには、Unity エディターを使用し、以下の手順を実行します。
    1. ベイクしたいシーン (複数) を開く。
    2. Lighting ウィンドウ を開き、Auto Generate オプションを無効にします。
    3. Generate Lighting を選択します。

影と GI (グローバルイルミネーション) ライトバウンスは全てのシーンで機能しますが、ライトマップとリアルタイム GI データのロードとアンロードは各シーンで別々に行われます。つまり、シーンは共有されないため、ライトマップを持つシーンを安全にアンロードすることができます。シーンはライトプローブデータを共有するので、一緒にベイクされたシーンのライトプローブは全て同時にロードされます。

複数シーンのナビメッシュデータをベイクする

複数のシーンの NavMesh (ナビメッシュ) データを一度にベイクする方法は 2 つあります。ナビメッシュはシーン上の歩行可能なサーフェスの近似を表示できます。

  • NavMeshBuilder.BuildNavMeshForMultipleScenes 関数を使用して、NavMesh データのビルドを自動化できます。
  • Unity エディターを使用して、複数のシーンのナビメッシュデータを手動でベイクします。
    1. ベイクしたいシーン (複数) を開く。
    2. Navigation ウィンドウで、 Bake ボタンを選択します。
    3. シーンをナビメッシュと一緒に保存して、シーンからナビメッシュへの参照を永続化します。

これにより、ナビメッシュデータを、ロードされたシーン (複数) で共有する 1 つのアセットにベイクします。データは、現在アクティブなシーンの名前に一致するフォルダーに保存されます。

複数シーンのオクルージョンカリングデータをベイクする

複数のシーンのオクルージョンカリングデータを一度にベイクして、どのゲームオブジェクトを描画するかを決定することができます。 1. ベイクしたいシーンを開きます。 2. Occlusion Culling ウィンドウ (Window > Rendering > Occlusion Culling) に移動します。 3. Bake ボタンを選択します。 4. ベイクしたシーンを保存して、シーンからオクルージョンデータへの参照を永続化します。

これにより、オクルージョンカリングデータを、現在のアクティブシーンの名前と同じフォルダー内の OcclusionCullingData.asset という 1 つのアセットに保存します。

あるシーンを追加でロードし、そのシーンがアクティブなシーンと同じオクルージョンデータの参照を持つ場合は、シーンの静的レンダラーとポータルのカリング情報はオクルージョンデータによって初期化されます。つまり、オクルージョンカリングシステムはまるで、静的レンダラーのように働き、ポータルは 1 つのシーンにベイクされます。

その他の参考資料

Set up multiple scenes
スクリプトを使って複数シーンの編集する