Я пытаюсь сделать систему скроллинга в единстве, используя элементы пользовательского интерфейса кнопки. Я сделал шаблон для кнопки, которая не является префабом, и создал экземпляр игрового объекта с этим шаблоном, который должен сделать клон шаблона. Вместо этого он действует как префаб и выдает ошибку.
Я нашел учебник , который работал достаточно хорошо. Я следовал этому руководству до того момента, когда мне нужно было установить родителя экземпляра gameObject. Репетитор сделал это без проблем. Я не пытался связаться с человеком, который сделал этот урок, так как ему уже более 2 лет, и канал не был активным в течение как минимум 7 месяцев. Я попытался изменить его код и удалить кнопку prefab. Я обнаружил похожую проблему на этом сайте, но решение не сработало для меня.
[SerializeField]
private GameObject itemTemplate, inventoryTabWeapons;
private GameObject item;
public void GenerateItem(string name)
{
item = Instantiate(itemTemplate) as GameObject;
item.SetActive(true);
item.transform.SetParent(inventoryTabWeapons.transform, false); //This line is where the error brings me to.
}
Я хотел бы опубликовать скриншоты результатов здесь, но у меня явно не хватает очков репутации.
ожидаемый результат:
Кнопка должна быть сделана дочерней по отношению к ListContent, который в инспекторе установлен как inventoryTabWeapons.
фактический результат:
Кнопка не является дочерним элементом всего.
Я получаю следующую ошибку:
Установка родительского элемента преобразования, находящегося в Prefab-активе, отключена для предотвращения повреждения данных
Никакие префабы не использовались для этого кода, и единственный ресурс, у которого был изменен родительский элемент, является клоном шаблона, поэтому для меня эта ошибка не имеет смысла.