public void UpdateMesh() { //Debug.Log("updateMesh"); //if (gameObject == null || _meshFilter == null) return; Vector3[] vects = Vects; Vector3 size = Size; Vector3[] gapVects = new Vector3[4]; for (int i = 0; i < 3; i++) { gapVects[i] = vects[i] * gap; } gapVects[3] = gapVects[0] + gapVects[1] + gapVects[2]; Vector3[] magVects = new Vector3[3]; for (int i = 0; i < 3; i++) { magVects[i] = (vects[i] * size[i]) - (gapVects[i] * 2); } Vector3[] pts = new Vector3[4]; pts[0] = gapVects[3]; pts[1] = pts[0] + magVects[0]; pts[2] = pts[1] + magVects[2]; pts[3] = pts[0] + magVects[2]; Mesh mesh = MeshMaker.makeExtrusion(pts, magVects[1].magnitude); _meshFilter.mesh = mesh; }