@pasitiv
Математик

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

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

З,Ы. Если найду в инете ответ, напишу.
  • Вопрос задан
  • 14520 просмотров
Решения вопроса 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);
    }
}

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

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

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