// Use this for initialization
    void Start()
    {
        var filter = GetComponent <MeshFilter>();

        //filter.mesh = Procedural.GeneratePlaneMesh(45, 45);
        filter.mesh       = Procedural.GenerateCubeMesh(4, 4, 4);
        mMesh             = filter.mesh;
        mOriginalVertices = mMesh.vertices;

        mModifiedVertices = (Vector3[])mOriginalVertices.Clone();
    }
    private void SetupCube()
    {
        var filter = GetComponent <MeshFilter>();

        filter.mesh = Procedural.GenerateCubeMesh(XSize, YSize, ZSize);
        mMesh       = filter.mesh;


        var mat = GetComponent <Renderer>().material;

        mat.SetInt("_XSize", XSize);
        mat.SetInt("_YSize", YSize);
        mat.SetInt("_ZSize", ZSize);
        mat.SetInt("_Roundness", Roundness);

        mVertices = mMesh.vertices;
        //mat.GetFloat("XSize")
    }