Невозможно прикрепить текстовый объект пользовательского интерфейса к сериализованному полю в префабе в Unity 5.0.2f1

Использование Unity 5.0.2f1 для Mac.

Создал объект UI Text (названный LifeCountUI) в сцене. Затем в моем сценарии Player (прикрепленном к моему GameObject Player) у меня сериализовано следующее поле:

[SerializeField]
public Text LifeCountText;

Этот GameObject Player также является сборным.

Я намеревался перетащить LifeCountUI в инспекторе в сериализованное поле GameObject Player. Однако Unity не позволяет мне делать это, когда я выбираю префаб Player.

Это работает, только если я перетащу экземпляр префаба Player на сцену, а затем перетащу LifeCountUI в поле (но, очевидно, это не префаб).

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


person AshesToAshes    schedule 19.07.2016    source источник


Ответы (1)


Посмотрите, что об этом говорят гуру в знаменитом Статья 50 советов по работе с Unity (передовой опыт):

  1. Свяжите префабы с префабами; не связывайте экземпляры с экземплярами. Ссылки на префабы сохраняются при добавлении префаба в сцену; ссылок на экземпляры нет. Связывание с префабами, когда это возможно, сокращает настройку сцены и снижает потребность в смене сцен.

Это одна из причин, по которой вы не можете поддерживать ссылку.

person Umair M    schedule 19.07.2016
comment
Хорошо, справедливо. Вместо этого я возьму его через экземпляр Player. Спасибо. - person AshesToAshes; 19.07.2016