可能是由于粒子system A和粒子system B在同一个层级或具有相同的sorting layer,导致A总是渲染在B之上。请尝试将其中一个粒子系统的sorting layer更改为与另一个不同的sorting layer。
例如,将sorting layer A更改为Foreground,而将sorting layer B更改为Background。这可以通过以下代码实现:
ParticleSystem A = gameObject.GetComponent<ParticleSystem>();
var main = A.main;
main.startColor = new Color(1, 1, 1, 0);
main.startSpeed = 0;
A.GetComponent<Renderer>().sortingLayerName = "Foreground";
ParticleSystem B = gameObject.GetComponent<ParticleSystem>();
var main = B.main;
main.startColor = new Color(1, 1, 1, 0);
main.startSpeed = 0;
B.GetComponent<Renderer>().sortingLayerName = "Background";
请在这两个粒子系统的脚本上添加此代码,确保它们都在不同的sorting layer上进行渲染。