private Collider AttachCollider(PrimitiveType primitiveType, ProcessingItem processingItem)
    {
        var catchInfo = colliderCatchs.Find(x => x.path == processingItem.path && x.primitiveType == primitiveType);
        var colliderType = GetColliderType(primitiveType);
        var item = processingItem.item;
        var collider = item.GetComponent<Collider>();
        if (collider != null && collider.GetType() != colliderType)
        {
            DestroyImmediate(collider);
        }
        if (collider == null)
        {
            collider = item.AddComponent(colliderType) as Collider;
            if (collider is MeshCollider){
                (collider as MeshCollider).convex = true;
            }

            if (catchInfo != null)
            {
                ApplyInfoToCollider(collider, catchInfo);
            }
            Debug.LogFormat(item, "设置{0}的Collider为{1}", item, collider);
        }
        else
        {
            RecordColliderInfo(primitiveType, processingItem.path, collider);
            Debug.LogFormat(item, "记录{0}的 Collider 信息", item);
        }
       
        return collider;
    }
 private void ChargeRule(Rule rule, ProcessingItem processingItem)
 {
     var item = processingItem.item;
     if (item == null)
     {
         Debug.LogWarningFormat("忽略{0}", processingItem.path);
     }
     else
     {
         if (rule.setTag)
         {
             item.tag = rule.tag;
             Debug.LogFormat(item, "设置{0}的Tag为{1}", item, rule.tag);
         }
         if (rule.addCollider)
         {
             AttachCollider(rule.primitiveType, processingItem);
         }
     }
 }