- Home /
Question by
kurai · May 07, 2013 at 10:01 AM ·
meshverticestrianglesmesh-deformation
Expanding mesh animation
Hi there. I'm trying to create an expanding mesh animation. I've got a ring which I want to expand over time maintaing its width constant. So I tried to use the Mesh object to move the vertices each update cycle.
Here's what I'm trying to do: ![alt text][1]
The code I wrote so far:
using UnityEngine;
using System.Collections;
public class WaveGenerator : MonoBehaviour {
void Update() {
Mesh mesh = GetComponent<MeshFilter>().mesh;
Vector3[] vertices = mesh.vertices;
Vector3[] normals = mesh.normals;
int[] triangles = mesh.triangles;
int i = 0;
while (i < vertices.Length) {
vertices[i].x += normals[i].x*0.1f ;
vertices[i].z += normals[i].z*0.1f ;
i++;
}
mesh.Clear();
mesh.vertices = vertices;
mesh.triangles = triangles;
//mesh.RecalculateNormals();
//mesh.RecalculateBounds();
}
}
The problem is that with that the mesh "explodes" into a lot of triangles. How can I rebuild it in a way that keeps all the triangles connected?
Thanks for all the help. [1]: /storage/temp/10785-2013-05-07+11.52.20.jpg
2013-05-07 11.52.20.jpg
(51.7 kB)
Comment