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

scriptmultiplescenes

Использование скриптов для редактирования нескольких сцен

Вы можете редактировать несколько сцен, используя скрипты в Редакторе или во время выполнения.

Использование скриптов в редакторе

При использовании (или запуске) скриптов в Редакторе используйте:

  • Scene структура: доступная и в редакторе, и во время выполнения, структура Scene содержит свойства только для чтения, относящиеся к самой сцене, — например, имя и путь к ассету.
  • EditorSceneManager API: этот класс доступен только в редакторе и содержит несколько функций, реализующих все возможности многосценного редактирования, описанные на страницах Настройка нескольких сцен и Печь данные в нескольких сценах.
  • SceneSetup вспомогательный класс: класс, в котором можно хранить сведения о сцене, присутствующей в окне Hierarchy.

Использование скриптов времени выполнения

При использовании скриптов во время выполнения для редактирования нескольких сцен, используйте функции в SceneManager класс, такой как LoadScene и UnloadScene.

Советы:

  • Чтобы инстанционировать префаб в сцене, использование PrefabUtility.InstantiatePrefab.
  • Для перемещения объектов в корень сцены используйте Undo.MoveGameObjectToScene.
  • Чтобы избежать необходимости настраивать окно Hierarchy каждый раз, когда вы перезапускаете Редактор, или для сохранения различных настроек, используйте EditorSceneManager.GetSceneManagerSetup, которое также получает список объектов SceneSetup, описывающих текущую настройку. Вы можете сериализировать объекты в ScriptableObject вместе с любой другой информацией, которую вы хотите сохранить о настройке сцены. Чтобы восстановить окно Hierarchy, воссоздайте список SceneSetups и используйте EditorSceneManager.RestoreSceneManagerSetup.
  • Чтобы получить список загруженных сцен во время выполнения, получите sceneCount и выполните итерацию по сценам с GetSceneAt.