Unity 6.3
0 онлайн 77 гостей 3 в системе
Вход

Настройка нескольких сцен для выделения окклюзии

Во время выполнения, Unity загружает только один ассет данных выделения окклюзии за один раз, независимо от того, сколько Сцен открыто. Поэтому вы должны подготовить данные выделения окклюзии по-разному в зависимости от того, планируете ли вы загружать один Scene за один раз или несколько Сцен за один раз.

Загрузка по одному Scene за раз

Если вы загружаете по одному Scene одновременно с LoadSceneMode.Single, вы должны запекать данные о выбросе окклюзии для каждого Scene отдельно, вот так:

  1. В Unity Editor откройте одиночный Scene, для которого вы хотите запечь данные выделения окклюзии.
  2. Запекать данные для Scene. Unity генерирует данные и сохраняет их как Assets/[Scene name]/OcclusionCullingData.asset. Unity добавляет ссылку на этот ассет в открытый Scene.
  3. Сохраните Scene.
  4. Повторите шаги 1, 2 и 3 для каждого Scene.

Во время выполнения загрузите сцены следующим образом:

  1. Загрузите Scene в качестве Scene по умолчанию для вашего Project или используя LoadSceneMode.Single. Unity выгружает активный Scene, если он есть, вместе с его ассетом данных окклюзии, если таковой имеется. Unity затем загружает ваш Scene вместе с его ассетом данных окклюзии.

Загрузка более чем одного Scene одновременно

Если вы загружаете несколько Сцен одновременно с LoadSceneMode.Additive, вы должны запекать данные для этих Сцен вместе, примерно так:

  1. В течение Unity Editor, открыть первый Scene группы, которая Unity загружается во время выполнения. Это становится активным Scene.
  2. Аддитивно откройте другие Сцены в группе, так чтобы все они были открыты в Unity Editor одновременно.
  3. Unity генерирует данные для всех открытых сцен и сохраняет их как Assets/[активное Scene имя]/OcclusionCullingData.asset. Unity добавляет ссылку на этот ассет ко всем открытым сценам.
  4. Сохранить сцены.

Во время выполнения загрузите сцены следующим образом:

  1. Загрузите первый Scene группы в качестве Scene по умолчанию для вашего Project или с помощью LoadSceneMode.Single. Unity выгружает активный Scene, если он есть, вместе с его ассетом данных окклюзии, если он имеется. Unity затем загружает ваш Scene вместе с общим ассетом данных окклюзии.
  2. Загрузите другие Сцены по мере необходимости с помощью LoadSceneMode.Additive. Если Unity обнаружит, что данные окклюзии аддитивно загруженного Scene одинаковы с активным Scene, выделение окклюзии работает как предполагается.

Обратите внимание, что общий ресурс данных окклюзии имеет более большой размер файла. Использование более крупного ресурса данных окклюзии не оказывает дополнительного воздействия на время выполнения CPU.

Для получения дополнительной информации о работе с несколькими Сценами в Unity Editor, см. документацию по редактирование нескольких сцен.