爆炸不产生附加到父游戏对象

时间:2017-11-14 12:48:08

标签: unity3d triggers

所以我试图让我的车辆在与敌方车辆发生碰撞时发生爆炸,并成功地使爆炸出现但是当这样做时它被克隆到父物体之外并在发生碰撞时被抛到后面一个速度,所以实际的玩家汽车看起来不像爆炸,而是通过爆炸预制件。关于如何解决这个问题的任何想法将非常感激。谢谢

void OnTriggerEnter(Collider col)
{
    if (col.tag == "Enemy")
    {
        PlayExplosion();
    }
}


void PlayExplosion()
{
    GameObject explosion = (GameObject)Instantiate(ExplosionGo);
    //set the position of the explosion
    explosion.transform.position = transform.position;
}

2 个答案:

答案 0 :(得分:1)

您需要手动设置父级:

explosion.transform.parent = transform;

或者在Instantiate参数中提供父变换:

GameObject explosion = (GameObject)Instantiate(ExplosionGo, transform); 

答案 1 :(得分:1)

你需要将爆炸变换设置为汽车变换的孩子/试试这个:

void PlayExplosion()
{
    GameObject explosion = (GameObject)Instantiate(ExplosionGo);
    explosion.transform.SetParent(transform, false);
}