笔记——动态更改指定物体的所有子物体的Layer

    /// <summary>
    /// 动态更改所有子物体Layer
    /// </summary>
    /// <param name="trans"></param>
    /// <param name="targetLayer"></param>
    private void ChangeLayer(Transform trans, string targetLayer)
    {
        if (LayerMask.NameToLayer(targetLayer) == -1)
        {
            Debug.Log("Layer中不存在,请手动添加LayerName");
            return;
        }
        //遍历更改所有子物体layer
        trans.gameObject.layer = LayerMask.NameToLayer(targetLayer);
        foreach (Transform child in trans)
        {
            ChangeLayer(child, targetLayer);
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_43908355/article/details/122337536