using System.Collections; using System.Collections.Generic; using UnityEngine; namespace game { [RequireComponent(typeof(ParticleSystem))] public class ParticleLayerController : MonoBehaviour { [Header("Renderer")] [SerializeField] private Renderer m_ParentRenderer; [SerializeField] private int m_SortingOrder = 100; private Renderer m_Renderer; // Start is called before the first frame update void Start() { // 获取或添加粒子系统 var particleSystem = GetComponent(); var m_Renderer = particleSystem.GetComponent(); // 设置排序层级 m_Renderer.sortingLayerName = m_ParentRenderer.sortingLayerName; m_Renderer.renderingLayerMask = m_ParentRenderer.renderingLayerMask; m_Renderer.sortingOrder = m_SortingOrder; } // Update is called once per frame void Update() { if (m_Renderer != null) { m_Renderer.sortingOrder = m_SortingOrder; } } } }