При создании префаба скидываются настройки скрипта.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

При создании префаба скидываются настройки скрипта.

Сообщение Будочка 13 сен 2018, 18:48

Здрасти. Вопрос такой.
Создаю куб, на куб вешаю скрипт у которого две публичные переменные типа трансформ. Заполняю переменные, потом куб тащю в окно проекта, создаётся префаб, но у префаба в скрипте не заполнены переменные и заполнить их не получается. Что я делаю не так?
Будочка
UNец
 
Сообщения: 17
Зарегистрирован: 13 сен 2018, 18:41

Re: При создании префаба скидываются настройки скрипта.

Сообщение 1max1 13 сен 2018, 19:05

А это фича такая у юньки, нужно заполнять после создания префаба.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: При создании префаба скидываются настройки скрипта.

Сообщение Будочка 13 сен 2018, 19:41

1max1 писал(а):А это фича такая у юньки, нужно заполнять после создания префаба.

В префаб я не могу перетащить ничего, и заполнить вручную тоже нельзя. А когда заполняю у одного экземпляра и делаю эплай, то у остальных экземпляров ничего не меняется.
Будочка
UNец
 
Сообщения: 17
Зарегистрирован: 13 сен 2018, 18:41

Re: При создании префаба скидываются настройки скрипта.

Сообщение 1max1 13 сен 2018, 19:57

заполнить вручную тоже нельзя

В старте написать:
Синтаксис:
Используется csharp
tr1 = GameObject.Find("NameObj").transform;

Вот тебе и всё заполнение.

p.s. еще можно оставить префаб на сцене и из него создавать другие префабы, тогда сохранятся ссылки.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: При создании префаба скидываются настройки скрипта.

Сообщение Anonymyx 13 сен 2018, 23:24

Префаб не может ссылаться на объектов со сцены.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: При создании префаба скидываются настройки скрипта.

Сообщение Будочка 14 сен 2018, 13:17

Спасибо, понятно. Другими словами, чтобы у экземпляра были заполнены обьектовые переменные в скрипте, то надо в этом же скрипте в онстарте искать обьекты и присваивать. Ну а в редакторе кроме как дублированием обьекта или экземпляра не создать много обьектов с нужными параметрами скрипта.
Появилась ещё небольшая проблема. Делаю в онстарте tr=GameObject.Find("obj").transform;. Он не работает если obj неактивен. Это так и задумано?
Будочка
UNец
 
Сообщения: 17
Зарегистрирован: 13 сен 2018, 18:41

Re: При создании префаба скидываются настройки скрипта.

Сообщение KanycTa 14 сен 2018, 14:07

Будочка писал(а):tr=GameObject.Find("obj").transform;. Он не работает если obj неактивен. Это так и задумано?


Если указывать ссылку на GameObject то вроде будет искать
Аватара пользователя
KanycTa
UNIт
 
Сообщения: 107
Зарегистрирован: 25 июл 2018, 18:41
Откуда: г. Ульяновск
  • Сайт

Re: При создании префаба скидываются настройки скрипта.

Сообщение 1max1 14 сен 2018, 14:15

Это так и задумано?

Угу :D
Кинь под пустышку свой неактивный объект, потом найди пустышку и уже у пустышки бери нужный объект:
tr = GameObject.Find("obj").transform.Find("nameChild");
Скрытый текст:
Изображение
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: При создании префаба скидываются настройки скрипта.

Сообщение Tolking 14 сен 2018, 14:16

1) пефаб кидаешь на сцену
2) указываешь объекты сцены в префабе на сцене
3) сцену сохраняешь
4) Профит
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: При создании префаба скидываются настройки скрипта.

Сообщение Anonymyx 14 сен 2018, 20:19

указываешь объекты сцены в префабе на сцене

Если он на сцене, то это уже не префаб. Префаб - чертеж. На сцене - экземпляр префаба. Соре.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: При создании префаба скидываются настройки скрипта.

Сообщение Будочка 15 сен 2018, 00:17

Tolking писал(а):1) пефаб кидаешь на сцену
2) указываешь объекты сцены в префабе на сцене
3) сцену сохраняешь
4) Профит

в том то и прикол, что у меня 20 сцен и на каждой сцене по 20-40 таких объектов. Хотелось в префабе один раз указать и потом понаделать экземпляров. Но при создании префаба трансформы скидываются на none.

Тут у меня ещё одна проблема. Из скрипта инстанциирую экземпляр, при этом ссылку на префаб получаю через публичную переменную в которую перенесён префаб из окна проекта. Сейчас мне понадобилась делать экземпляры того или иного префаба в зависимости от условий. Делать 20 публичных переменных для префабов помоему противоестественно. Можно как-то из скрипта находить префаб и делать экземпляры без использования публичных переменных?
Будочка
UNец
 
Сообщения: 17
Зарегистрирован: 13 сен 2018, 18:41

Re: При создании префаба скидываются настройки скрипта.

Сообщение waruiyume 15 сен 2018, 00:35

Вы хотите в префабе указать ссылки с одной сцены и использовать в 19 других?
Создайте класс а-ля RefsHolder:MonoBehabiour, повесьте его на объект сцены, назначьте ссылки в нём.
В классе который висит на префабе используйте ссылки из этого объекта, находя его по тегу или по типу на сцене.

Засунуть префабы в массив и выбирать нужный по имени например.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: При создании префаба скидываются настройки скрипта.

Сообщение Tolking 15 сен 2018, 01:10

Ну и смысл это все городить если можно просто в сцене один раз настроить?

в том то и прикол, что у меня 20 сцен и на каждой сцене по 20-40 таких объектов. Хотелось в префабе один раз указать и потом понаделать экземпляров.

Делаешь пустышку, кидаешь на нее все твои кубы и объекты и из пустышки делаешь префаб...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: При создании префаба скидываются настройки скрипта.

Сообщение 1max1 15 сен 2018, 07:18

Можно как-то из скрипта находить префаб и делать экземпляры без использования публичных переменных?

Помимо того что сказали выше еще можно сделать примерно так:
Синтаксис:
Используется csharp
var randomPrefab = Resources.Load("Pref" + Random.Range(0,10).ToString()) as GameObject;

При этом в Assets должна быть папка Resources, в которой будут файлы Pref1, Pref2, Pref3 и т.д.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: При создании префаба скидываются настройки скрипта.

Сообщение Будочка 15 сен 2018, 10:10

waruiyume писал(а):Вы хотите в префабе указать ссылки с одной сцены и использовать в 19 других?

Нет. Просто имелось ввиду, что указывать объекты сцены в экземпляре на сцене примерно 400-800 раз я запарюсь.
Это надо делать дублированием объекта, т.е получается что префабы в редакторе частично теряют свой первоначальный замысел - создавать объекты с уже настроенными компонентами.
Всем большое спасибо, тему можно закрывать. И плюсики всем как поставить?
Будочка
UNец
 
Сообщения: 17
Зарегистрирован: 13 сен 2018, 18:41

След.

Вернуться в Почемучка

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

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