Добавление объекта во все сцены сразу

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Добавление объекта во все сцены сразу

Сообщение Martin.RinGames 25 апр 2013, 10:17

Всем привет!
Задача - есть список сцен, в иерархию которых надо одним махом добавить CameraGUI. Добавление объекта во все выбранные сцены сразу - возможно ли стандартными средствами Unity3D или нужен скрипт? Если у кого-то есть, подкиньте, пожалуйста :)
Martin.RinGames
UNец
 
Сообщения: 1
Зарегистрирован: 25 апр 2013, 10:11

Re: Добавление объекта во все сцены сразу

Сообщение nile 25 апр 2013, 12:40

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

Есть такая идея:
Используя EditorApplication.OpenScene(scenePath) можно попробовавать процедурно открыть каждую из выбранных сцен автоматически по очереди и добавить этот объект, если он еще не был добавлен (так же процедурно) и сохранять EditorApplication.SaveScene.

Другая: Если на всех выбранных сценах по счастливой случайности присутствует один и тот же скрипт (любой), можно у него в Start()-е процедурно добавить на сцену ваш объект.

ПС есть еще EditorApplication.OpenSceneAdditive
но, как я понял, все сцены будут одновременно грузиться в одну. Не уверен.
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Добавление объекта во все сцены сразу

Сообщение jetyb 16 июл 2013, 13:06

Без проблем.
Создаете префаб, кидаете его во все сцены, сохраняете. Важно - чтобы на сценах чистый префаб, без модификаций. Потом меняете префаб - и вуаля, при прогрузке сцены загрузчик обращается по ссылке к нашему измененному префабу.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Добавление объекта во все сцены сразу

Сообщение nile 17 июл 2013, 08:39

Тут по-мойму речь шла о том, чтобы не править каждую сцену вручную. ("одним махом").
Аватара пользователя
nile
Старожил
 
Сообщения: 848
Зарегистрирован: 25 фев 2011, 17:17

Re: Добавление объекта во все сцены сразу

Сообщение Golandez 17 июл 2013, 09:22

Это не рабочий вариант, а подход к решению.
Синтаксис:
Используется csharp
      List<string> levelList = new List<string>();
      foreach (UnityEditor.EditorBuildSettingsScene _scene in UnityEditor.EditorBuildSettings.scenes)
      {
            if (_scene.enabled)
            {
                string name = _scene.path.Substring(_scene.path.LastIndexOf('/') + 1);
                name = name.Substring(0, name.Length - 6);
                levelList.Add(name);
            }
      }
      for(int i=0;i<levelList.Count;i++)
      {
          EditorApplication.OpenScene(levelList[i]);
              //  добавляем префабы в сцену  и делаем всякие нужности и не нужности
          string [ ] scenePath = EditorApplication.currentScene.Split(char.Parse("/"));
          EditorApplication.SaveScene(String.Join("/",path));
      }
 
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Добавление объекта во все сцены сразу

Сообщение Макс 17 июл 2013, 10:24

Martin.RinGames писал(а):Всем привет!
Задача - есть список сцен, в иерархию которых надо одним махом добавить CameraGUI. Добавление объекта во все выбранные сцены сразу - возможно ли стандартными средствами Unity3D или нужен скрипт? Если у кого-то есть, подкиньте, пожалуйста :)

Помомему абсолютно бредовое и ненужное извращение.
Зачем что-то делать со сценами и префабами, которые в данный момент не нужны? Делать чтоли нечего больше?
Макс
UNIверсал
 
Сообщения: 372
Зарегистрирован: 20 июн 2013, 23:05

Re: Добавление объекта во все сцены сразу

Сообщение Paul Siberdt 17 июл 2013, 10:36

Если у вас в сцене уже имеется префаб, например, с камерой, припарентите к ней(камере) свою гуёвую камеру и сохраните префаб.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт


Вернуться в Editor

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1