void Update()
    {
        m_Blobs[0].x = .12f + .12f * (float)Mathf.Sin((float)Time.time * .50f);
        m_Blobs[0].y = .06f + .23f * (float)Mathf.Cos((float)Time.time * .2f);
        m_Blobs[1].x = .12f + .12f * (float)Mathf.Sin((float)Time.time * .2f);
        m_Blobs[1].y = -.23f + .10f * (float)Mathf.Cos((float)Time.time * 1f);
        m_Blobs[2].y = -.03f + .24f * (float)Mathf.Sin((float)Time.time * .35f);
        m_Blobs[3].y = .126f + .10f * (float)Mathf.Cos((float)Time.time * .1f);
        m_Blobs[4].x = .206f + .1f * (float)Mathf.Cos((float)Time.time * .5f);
        m_Blobs[4].y = .056f + .2f * (float)Mathf.Sin((float)Time.time * .3f);
        m_Blobs[4].z = .25f + .08f * (float)Mathf.Cos((float)Time.time * .2f);

        transform.Rotate(Time.deltaTime * 10f, 0, Time.deltaTime * .6f);

        if (metaBalls.cubeNumX != CubeCount)
        {
            metaBalls = new MetaBallsMarching(CubeCount, CubeCount, CubeCount);
        }
        metaBalls.blobs = m_Blobs;
        metaBalls.ReMaker();
        m_DynamicMesh.Clear();
        m_DynamicMesh.vertices  = metaBalls.vertices;
        m_DynamicMesh.triangles = metaBalls.triangles;
        m_DynamicMesh.normals   = metaBalls.normal;
    }
 void Start()
 {
     m_MeshFilter  = this.GetComponent <MeshFilter>();
     metaBalls     = new MetaBallsMarching(CubeCount, CubeCount, CubeCount);
     m_DynamicMesh = new Mesh();
     m_DynamicMesh.MarkDynamic();
     m_MeshFilter.sharedMesh = m_DynamicMesh;
     m_Blobs = new Vector4[5]
     {
         new Vector4(.16f, .26f, .16f, .13f),
         new Vector4(.13f, -.134f, .35f, .12f),
         new Vector4(-.18f, .125f, -.25f, .16f),
         new Vector4(-.13f, .23f, .255f, .13f),
         new Vector4(-.18f, .125f, .35f, .12f)
     };
 }