Задать вопрос
BRO_TIGER
@BRO_TIGER
Indie Developer (C#, JS)

Как удалить объект из иерархии с помощью луча?

Доброго времени суток обитатели Тостера! Долгое время не было вопросов на тему Программирования и Разработки игр, думаю пора задать вопрос :)
Решил доделать Систему Строительства при этом избавиться от некоторых ненужных скриптов (Тем самым чуть-чуть оптимизировать саму игру). Вот и зашёл в тупик на Уничтожении объектов внутри Родителя! Я хотел с помощью луча от курсора мыши удалить объект из иерархии, но метод удалял саму иерархию а после можно было спокойно удалять объекты так как они уже не находились в иерархии... Вот сам скрипт, а точнее его части:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class BuildingSystem : MonoBehaviour
{

    public LayerMask detailLayer;
    public bool IsBuilding;

    void Update()
    {
        if (IsBuilding && Input.GetMouseButtonDown(1))
        {
            Destroy();
        }
    }


    public void Destroy()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, 20, detailLayer))
        {
            Destroy(hit.transform.gameObject);
        }
    }
}


Заранее Спасибо!
  • Вопрос задан
  • 705 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Alex Maximovich К ответам на вопрос (5)
flexer1992
@flexer1992
Unity Developer
Если коллайдер в который попадает рейкас висит на родителе то все верно, он и удалит родителя. Ну и по этому коду достаточно сложно строить какие-то предположения.
Ответ написан
Комментировать