【问题标题】:explosion not spawning attached to parent gameobject爆炸不会产生附加到父游戏对象
【发布时间】:2017-11-15 17:01:09
【问题描述】:

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

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;
}

【问题讨论】:

    标签: unity3d triggers


    【解决方案1】:

    您需要手动设置父级:

    explosion.transform.parent = transform;
    

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

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

    【讨论】:

    • 感谢您的回复,非常感谢,我尝试了两种方法,它们都可以正常工作
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的快速回复,您的回答完美无缺@obywan 之后在销毁爆炸时也遇到了问题,因为它没有破坏爆炸预制件,而是破坏了实际的汽车本身
    • 不用担心,我设法通过将销毁函数放在一个完全不同的脚本中并将其附加到爆炸预制件中来弄清楚我是如何做到的
    猜你喜欢
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多