Unity как привязать объект к объекту?
Unity 6, два GameObject в сцене, ссылки child и parent уже получены. Нужно сделать первый дочерним второму во время игры, сохранив его положение в мире.
Компьютеры и связь
Юридическая консультация
Семья и дом
Еда и кулинария
Города и страны, туризм
Unity 6, два GameObject в сцене, ссылки child и parent уже получены. Нужно сделать первый дочерним второму во время игры, сохранив его положение в мире.
Аргумент true сохраняет мировое положение, поворот и масштаб, пересчитывая локальные значения. После привязки последующие изменения родителя будут влиять на ребёнка. Для объектов, являющихся уже Transform, обращение .transform не требуется.
При готовых ссылках на GameObject вызовите child.transform.SetParent(parent.transform, true). Первый аргумент задаёт нового родителя, второй просит сохранить мировые положение, поворот и масштаб при смене иерархии. Поэтому локальные координаты child могут измениться: теперь они выражаются относительно другого Transform. Например, объект, стоящий рядом с движущейся платформой, останется на прежнем месте в момент привязки, а дальнейшее перемещение платформы будет влиять и на него. Если вместо true передать false, локальные значения сохраняются, и мировое положение при новом родителе может измениться. Для вашей задачи нужен true. Убедитесь, что ссылки действительны и вы не пытаетесь создать циклическую иерархию, назначив объекту в родители его собственного потомка.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
v4-flash
v4-flash
Unity как привязать объект к объекту?
Сохранить положение
Вызовите child.transform.SetParent(parent.transform, true). Объект станет дочерним, сохранив мировые координаты. Его локальный Transform пересчитается относительно нового родителя.