2017-01-16 10 views
1

Мне нужно просмотреть и обработать объект Scene (из нового SceneManager) в инспекторе. Даже когда я пытаюсь сериализации его с помощьюКак нарисовать объект сцены в инспекторе Unity

[SerializeField] 
Scene scene; 

сцена до сих пор не отображается в инспекторе. Поскольку SceneManager является довольно новым (Unity 5), информации там нет, и мы хотели бы воздерживаться от ссылок на сцены как строки, как мы привыкли.

ответ

0

Как указано в documentation, объект «Сцена» является только данными времени выполнения. Поэтому он доступен только при открытии или во время выполнения. Вы, вероятно, нарисуете пользовательский инспектор для полей, которые хотите манипулировать.

Если вы просто хотите, чтобы выбранные сцены были установлены в BuildSettings , вы можете работать с EditorBuildSettings.scenes в пространстве имен UnityEditor. Создайте собственное поле инспекторов (например, Enum Popup), чтобы выбирать только сцены, определенные в BuildSettings.

Вы также можете работать с SceneSetup, которую вы можете получить от UnityEditor.SceneManagement.EditorSceneManager. Но это позволит вам манипулировать загруженными данными в вашей сцене или во время выполнения.

Вы можете создать класс Wrapper для объекта сцены и нарисовать для него пользовательский Property drawer. Затем вам понадобится некоторый класс для управления пользовательским вводом в полях, чтобы правильно сохранить данные в реальном объекте Scene.

 Смежные вопросы

  • Нет связанных вопросов^_^