我遇到一个小问题,即粒子系统不符合我的命令方式。
我做了一个斑点,它跳跃/破折号。每当他这样做时,我都会产生粒子,这会给他带来破折号的效果。 (当Blob向右划线时,粒子向左等。)
问题是我的破折号效果适用于左和右(粒子系统的旋转-90和90)。 当我跳 UP 和 DOWN 时,我将粒子系统旋转到 0&180 ,上下粒子不会旋转。 (请参阅GIF。)
我尝试了2种方法,分别是代码和每个角度的预设预制件,代码如下所示
//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);
}
预制件如下:
GIF:https://i.gyazo.com/3ecf2991f10d0ab763423aa254d72364.mp4
答案 0 :(得分:1)
您正在绕Y轴旋转,因此90度旋转将指向左/右,而180度旋转将指向/远离相机。
要旋转粒子系统向上和向下指向,请尝试绕X轴旋转90度。