旋转的GameObject不会旋转子项

我正在旋转一个带有粒子效果的子游戏对象的游戏对象。

这是一个发动机排气的导弹。

在这里输入图像说明

我正在旋转父游戏对象,但粒子效果子对象不旋转:

在这里输入图像说明

导弹对象上有这个脚本:

void FixedUpdate () { Vector3 dir = targetObject.position - transform.position; dir.Normalize(); float zAngle = Mathf.Atan2( dir.y, dir.x ) * Mathf.Rad2Deg - 90; Quaternion desiredRotation = Quaternion.Euler( 0, 0, zAngle ); transform.rotation = Quaternion.RotateTowards( transform.rotation, desiredRotation, 10.0f * Time.deltaTime ); rigidBody.AddForce( transform.up * 10.0f, ForceMode2D.Force ); } 

粒子效应:

在这里输入图像说明 在这里输入图像说明

任何人看到我在做什么错了?

答案是在“ Renderer下的“粒子”中,将“ Billboard Alignment更改为Local 。 感谢@spectre使用本地的想法。

在这里输入图像说明

您正在将旋转应用于rigidBody组件,该组件仅将转换应用于具有粒子系统不具有的rigidBody的对象。
请注意,粒子系统将继续与父gameObject一起拖动,因为它是它的一个子节点,但它不会经历力的转换。 我建议在下一行分别应用一个Transform.Rotate到粒子系统来匹配父轮代码。

阅读https://docs.unity3d.com/Manual/class-Rigidbody.html – 育儿部分。