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);
在 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);