В режиме воспроизведения нет настроек для предотвращения изменений, но есть способы уменьшить вероятность потери изменений в режиме воспроизведения.
1.Edit-> Настройки ... -> Цвета. Теперь, справа, измените Playmode Tint на red
. Это напомнит вам, что вы вносите изменения в режим воспроизведения.
2. Нажмите на значок шестеренки каждого компонента, который вы изменяете во время воспроизведения, затем нажмите «Копировать компонент». Когда это делается с помощью playmode, выберите компонент, который вы хотите сохранить. Нажмите значок шестеренки еще раз, и на этот раз нажмите «Вставить компонентные значения».
3. Запустите редактор, который сделает это за вас. Это сложно, но возможно.
Используйте событие, чтобы узнать при входе в режим воспроизведения. Храните все важные важные переменные GameObject, такие как свойства transform
/ rigidbody
в списке.
Подождите, пока остановится событие остановки, а затем спросите себя, какие GameObjects должны перезаписать настройки. Затем перезапишите свойства выбранных GameObjects. Вот что.
Полезные API для этого:
EditorApplication.isPlaying
EditorApplication.isPaused
EditorApplication.isPlayingOrWillChangePlaymode
EditorApplication.playmodeStateChanged += callBackFunc;
EditorApplication.HierarchyWindowItemCallback
EditorApplication.ProjectWindowItemCallback
Примечание: Согласно дорожной карте Unity , функция, которая позволяет сохранять изменения времени воспроизведения в конструкции и скоро будет выпущен, но, как представляется, это единственный способ в это время.