public void GenerateSilhouetteObjects()
    {
        for (int i = 0; i < childCount; i++)
        {
            GameObject itemObject = control.brokenObjs[i];
            components.Add(itemObject.AddComponent <ItemComponent>());
            components[i].meshRenderer = itemObject.GetComponent <MeshRenderer>();

            components[i].componentId = i + 1;

            if (silCount > 0 && (Random.value < silChance || (childCount - 1 - i) <= silCount))
            {
                silCount--;
                components[i].SetState(EItemState.BROKEN);

                ItemComponent newComp = Instantiate(components[i], transform);
                newComp.SetState(EItemState.SILHOUETTE);
                newComp.transform.position = components[i].transform.position;
                newComp.transform.rotation = components[i].transform.rotation;
                components[i].transform.DOMove(control.placmeents[i].transform.position, .8f);
                components[i].transform.parent = null;
                components[i].SnapComponent    = newComp;
            }
            else
            {
                components[i].SetState(EItemState.FIXED);
            }
        }
    }