C# 统一粒子系统无法正确旋转

C# 统一粒子系统无法正确旋转,c#,unity3d,C#,Unity3d,我遇到了一个小问题,粒子系统的行为不符合我的要求 我做了一个水滴,它跳跃/划过。每当他这样做时,我就会产生粒子,给他一个冲刺效果。(当水滴向右冲撞时,粒子向左移动,等等) 问题是,我的短跑效果适用于左和右(粒子系统的旋转-90和90)。 当我向上跳和向下跳时,我将粒子系统旋转到0和180,无论上下粒子如何不旋转。(见GIF) 我尝试了两种方法,代码和每个角度的预设预设,代码如下 //The method takes a Vector3 Rotation e.g : ( 0,90,0 ) //Th

我遇到了一个小问题,粒子系统的行为不符合我的要求

我做了一个水滴,它跳跃/划过。每当他这样做时,我就会产生粒子,给他一个冲刺效果。(当水滴向右冲撞时,粒子向左移动,等等)

问题是,我的短跑效果适用于(粒子系统的旋转-90和90)。 当我向上跳和向下跳时,我将粒子系统旋转到0和180,无论上下粒子如何不旋转。(见GIF)

我尝试了两种方法,代码和每个角度的预设预设,代码如下

//The method takes a Vector3 Rotation e.g : ( 0,90,0 )
//This only works for left and right, not for up and down ( 0 & 180 ).
//
private void ParticleSpawner(Vector3 rot)
{
    ParticleSystem ps = dashEffect.GetComponent<ParticleSystem>();
    var sh = ps.shape;
    sh.enabled = true;
    sh.shapeType = ParticleSystemShapeType.Cone;
    sh.rotation = rot;
    sh.angle = 33;
    sh.radius = .1f;
    Instantiate(dashEffect, transform.position, Quaternion.identity);
}
//该方法采用矢量3旋转,例如:(0,90,0)
//这仅适用于左侧和右侧,不适用于上下(0和180)。
//
专用空心颗粒抛光机(Vector3 rot)
{
ParticleSystem ps=dashEffect.GetComponent();
var sh=ps.shape;
sh.enabled=true;
sh.shapeType=粒子系统shapeType.Cone;
旋转=腐烂;
sh.angle=33;
sh.半径=.1f;
实例化(dashEffect、transform.position、Quaternion.identity);
}
预制件如下所示:


GIF:

您正在绕Y轴旋转,因此90度旋转将指向左/右,而180度旋转将指向/远离相机


要旋转粒子系统使其指向上下,请尝试绕X轴旋转90度。

好的,我将尝试一下。我会更新后,我已经尝试它。我记得它在“预览”中起了作用!