как уничтожить созданные объекты - PullRequest
0 голосов
/ 25 сентября 2019

Я делаю трехмерную игру в единстве, и я сделал анимацию, которая разрушает куб на куски.но маленькие кусочки куба остаются на сцене и позже приведут к проблемам с производительностью.Затем я попытался уничтожить свой игровой объект, используя этот метод:

public GameObject crackedObject;
// Start is called before the first frame update
private void OnCollisionEnter(Collision collision)
{
    if (collision.gameObject.name == "Sphere")
    {
        Instantiate(crackedObject, transform.position, transform.rotation);
        Destroy(gameObject);
        Destroy(crackedObject, 3f);

    }
}

этот код размещен на моем кубе.но он не может уничтожить клоны моих кубиков после столкновения.уничтожает (gameobject), но не уничтожает (crackedObject)

1 Ответ

3 голосов
/ 25 сентября 2019

Сохраняя ссылку на него

var obj = Instantiate(crackedObject, transform.position, transform.rotation);
Destroy(gameObject);
Destroy(obj, 3f);

то, что вы сделали, пытается уничтожить исходную (при условии, что Prefab) ссылку, которую вы не должны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...