public UpdatableSlicer(GameObject srcObject) { var renderers = srcObject.GetComponentsInChildren(typeof(MeshFilter), true); _slicers = new List <Slicer>(); for (var i = 0; i < renderers.Length; i++) { var meshRenderer = (MeshFilter)renderers[i]; if (meshRenderer.mesh != null && meshRenderer.mesh.triangles != null && meshRenderer.mesh.triangles.Length != 0) { var slicer = new Slicer(meshRenderer.sharedMesh, renderers[i].gameObject); _slicers.Add(slicer); } } }
public OnetimeSlicer(GameObject srcObject) { _srcCloneLower = Object.Instantiate(srcObject); _srcCloneUpper = Object.Instantiate(srcObject); var renderersLower = _srcCloneLower.GetComponentsInChildren(typeof(MeshFilter), true); var renderersUpper = _srcCloneUpper.GetComponentsInChildren(typeof(MeshFilter), true); var renderersSrc = srcObject.GetComponentsInChildren(typeof(MeshFilter), true); _slicers = new List <Slicer>(); for (var i = 0; i < renderersSrc.Length; i++) { var meshRenderer = (MeshFilter)renderersSrc[i]; if (meshRenderer.mesh != null && meshRenderer.mesh.triangles != null && meshRenderer.mesh.triangles.Length != 0) { var slicer = new Slicer(meshRenderer.sharedMesh, renderersSrc[i].gameObject, renderersLower[i].gameObject, renderersUpper[i].gameObject); _slicers.Add(slicer); } } srcObject.SetActive(false); }