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) }; }