Unity C#实例化正确旋转的粒子效果

Unity C# Instantiate particle effects with correct rotation

在 Unity 中建造一些炮塔时,我注意到我所有的子弹都朝一个方向飞去,而不是我瞄准的方向!

我在网上寻求帮助,但 Quaternion.Euler 似乎没有帮到我。 难道我做错了什么? (可能,但我需要帮助弄清楚是什么)

void Update()
{
            if(canShoot == true)
            {
                StartCoroutine(FireGun());
            }
}

IEnumerator FireGun()
{
    canShoot = false;

    var newBullet = Instantiate(bullet, gun.transform.position, Quaternion.Euler(0, gun.rotation.y, 0));

    yield return new WaitForSeconds(delay);
    canShoot = true;
}

感激不尽!

如果你的相机指向你想要拍摄的东西,你可以从中获取四元数并将其应用于子弹。

如果没有,你可以尝试将炮塔的旋转应用到子弹上。

如果你想让你的子弹和你的枪有相同的旋转,只需将枪的旋转应用到子弹上即可。

Instantiate(bullet, gun.transform.position, gun.transform.rotation);