KeysCG
@KeysCG
3d designer/Art Designer

Как правильно изменить переменные в Prefab?

Доброго времени суток! Я Потихоньку изучаю юнити и столкнулся с одной проблемой.
Создал я платформу с триггером, когда игрок на неё наступает, через Instantiate создаётся объект префаба рядом с платформой. На этом префабе должна быть переменная с текстом (Text), как я понял префаб это что то типо шаблона и хранить он какие то ссылки не может! Так вот у меня вопрос, как тогда правильно будет использовать тот же Text в объекте префаба? Как я понял, то при спавне объекта нужно задать рефы, но как это сделать не понимаю :(
Помогите пожалуйста как правильно это сделать.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
1. Ленивый способ новичков - использовать GetComponentInChildren, но несёт кучу проблем, например если там текстов 3 штуки, понять какой тебе нужен можно только по названию. И обычно тут всё и начинает ломаться, потому что префаб поменял, а про код забыл.
2. Нормальный способ - использовать компонент, который разработан для данного префаба и будет хранить все ссылки на нужные компоненты внутри префаба.

public class PlatformNear : MonoBehaviour
{
   public Text _text;
}

var platformNear = Instantiate<PlatformNear>(prefab);
platformNear.Text = "Hello word";
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы