Задать вопрос
@pasitiv
Математик

Как присвоить родителя в Unity?

Есть платформа, рандомно создается блок по скрипту, хочу что бы блок создавался как дочерний объект платформы. Как это сделать?

З,Ы. Если найду в инете ответ, напишу.
  • Вопрос задан
  • 15118 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Поменять родителя у трансформа можно с помощью вызова Transform.SetParent либо прямой замены Transform.parent. Кроме того, в последних версиях юнити появилась новая версия Instantiate, которая позволяет указать родителя при создании объекта.
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    public Transform prefab;
    public Transform parent;

    private void Start()
    {
        // Создаём новый объект из префаба
        var child = Instantiate(prefab);
        // Присваиваем родителя
        child.SetParent(parent);
        // Либо так
        child.parent = parent;

        // Либо сразу в одну строчку
        var child = Instantiate(prefab, parent);
    }
}

Отвечая на ваш комментарий, проверьте кому вы пытаетесь присвоить родителя, префабу или новому объекту.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы