C# 出现在其他精灵后面的统一粒子系统

C# 出现在其他精灵后面的统一粒子系统,c#,unity3d,sprite,particle-system,behind,C#,Unity3d,Sprite,Particle System,Behind,我有一个粒子系统血丸,当玩家死亡时,它被实例化为: Instantiate(bloodSpillEffect, transform.position, transform.rotation); 但是,无论我做什么,它都会出现在所有其他精灵(背景、地面等)的后面。我将粒子系统作为一个预设,它的排序层设置为与玩家的相同,无论是编程还是通过选项。它在Z轴上的位置也比其他对象更靠近摄影机 实际上,如果我从Prefables文件夹中拖动一个并将其放置在场景中,它将出现在其他精灵的前面,但是当我通过上面的

我有一个粒子系统血丸,当玩家死亡时,它被实例化为:

Instantiate(bloodSpillEffect, transform.position, transform.rotation);
但是,无论我做什么,它都会出现在所有其他精灵(背景、地面等)的后面。我将粒子系统作为一个预设,它的排序层设置为与玩家的相同,无论是编程还是通过选项。它在Z轴上的位置也比其他对象更靠近摄影机

实际上,如果我从Prefables文件夹中拖动一个并将其放置在场景中,它将出现在其他精灵的前面,但是当我通过上面的代码行实例化它时,它将不会显示


我不知道,也找不到有关从文件夹拖放脚本与使用Instance()之间的区别的信息。

您不是意外地将该脚本添加到所有对象吗?你在层次结构中展示了什么?try:Debug.Log(实例化(effect、transform.position、transform.rotation));或者:GameObject test=实例化(效果,transform.position,transform.rotation)为GameObject;调试日志(test);如果其中任何一个返回null,这意味着您以错误的方式实例化了它。它被实例化并显示在层次结构中。问题是,它显示在所有其他精灵的后面,而它不应该显示在其他精灵的后面。同样,如果我从场景的Prefacts文件夹中拖放它,它会像它应该显示的那样显示在所有其他精灵的后面,但是如果我用instantiate()实例化它,它会显示在所有其他精灵的后面。这不是由以下事实造成的:,你在transform.position中实例化了它吗?因为某种奇怪的原因,当我今天尝试时,它开始按预期工作。谢谢你的帮助!