2016-12-22 10 views
0

Я только что понял, что я действительно не понимаю, в чем смысл метода AssetDataBase.SaveAssets().Когда следует использовать AssetDataBase.SaveAssets() в Unity3D?

Например, я использовал метод SetDirty() для объектов, не связанных с сценой (сборные объекты, объекты с возможностью сценариев), когда я изменил некоторые из них.

Итак, мой вопрос заключается в том, что является целью метода AssetDataBase.SaveAssets()? Должен ли я вызвать его после создания каталога или что?

Похоже, что это взаимозаменяемые методы, но я думаю, что это не так.

Спасибо!

ответ

0

Из документов Unity:

Описание

Записывает все несохраненные изменения активов на диск.

Эта функция выполняет то же самое, что и EditorApplication.SaveAssets, , за исключением того, что не разрешается вызывать во время сериализации .

Таким образом, вы используете его, когда хотите записать все несохраненные изменения активов на диск. Например, у вас есть какой-то скрипт, который идет вокруг и меняет настройки группы текстур. В конце этой операции вы вызываете этот метод, и изменения будут сохранены.

+0

Afaik, рекомендуется использовать метод SetDirty() после изменения какого-либо не-сценового объекта. И это работает. Итак, почему я должен использовать SaveAssets? Похоже, это взаимозаменяемые методы, но я думаю, что это не так. –

+0

@ VladislavHromyh Я считаю, что разница заключается в том, сохраняет ли пользователь изменения вручную ('SetDirty'), или ваш скрипт делает это автоматически (' SaveAssets'). В некоторых случаях вам может потребоваться ручной обзор изменений, а в других случаях - нет. – rutter

+0

@UriPopov Можете ли вы просто привести пример разницы между подходами или случаями, которые вы имели в виду. Изменяет вручную и делает это автоматически. Причина в двух отношениях, я изменяю данные. Из сценария. Или нет ? –

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

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