Unity3d 粒子系统在启动时消失

Unity3d 粒子系统在启动时消失,unity3d,particle-system,Unity3d,Particle System,我有一个粒子系统,当游戏开始时,它从等级体系中消失。它不会在醒着的时候玩,也不会在结束的时候毁灭。除了调用它的start方法之外,没有其他代码以它为目标 以下是针对粒子的唯一代码: ParticleSystem[] Fx; // Start is called before the first frame update void Start() { Fx = GetComponentsInChildren<ParticleSystem&

我有一个粒子系统,当游戏开始时,它从等级体系中消失。它不会在醒着的时候玩,也不会在结束的时候毁灭。除了调用它的start方法之外,没有其他代码以它为目标

以下是针对粒子的唯一代码:

       ParticleSystem[] Fx;
    // Start is called before the first frame update
    void Start()
    {
        Fx = GetComponentsInChildren<ParticleSystem> ();
        MessageHub.Subscribe ( MessageTopics.DisplayUI_FX_string, DisplayFx );
    }

    public void DisplayFx( Message displayFxMessage )
    {
        var fxName = displayFxMessage.Open<string> ();
        PlayFx ( fxName );
    }

    void PlayFx( string name )
    {
        var fx = Fx.FirstOrDefault ( f => f.name == name );
        if ( fx == null )
        {
            Debug.LogError ( $"UI FX not found! There is no UI FX called {name}" );
            return;
        }

        fx.Play ();

    }
ParticleSystem[]Fx;
//在第一帧更新之前调用Start
void Start()
{
Fx=GetComponentsInChildren();
订阅(MessageTopics.DisplayUI\u FX\u字符串,DisplayFx);
}
public void DisplayFx(消息displayFxMessage)
{
var fxName=displayFxMessage.Open();
PlayFx(fxName);
}
void PlayFx(字符串名称)
{
var fx=fx.FirstOrDefault(f=>f.name==name);
如果(fx==null)
{
Debug.LogError($“未找到UI FX!没有名为{name}的UI FX”);
返回;
}
fx.Play();
}

脚本是否可以针对其任何层次结构父元素,或在父元素的子元素中搜索粒子系统?如果你把它从当前的层次结构位置拿出来,它还会消失吗?你有什么东西可能被粒子击中并摧毁它吗?对不起。我意识到我使用的是商店里的一个免费aset,它实际上有一个脚本破坏了它。一个脚本可以针对它的任何层次结构父元素,或者在父元素的子元素中搜索粒子系统吗?如果你把它从当前的层次结构位置拿出来,它还会消失吗?你有什么东西可能被粒子击中并摧毁它吗?对不起。我意识到我使用的是商店里的免费aset,它实际上有一个脚本破坏了它。