Modify mesh problems

Hello, I’ve recently asked myself how could I make a random planet and my quick answer was modify the verts of a sphere randomly, but now, it is taking a lot of pain.

after some research this is my code:

	Mesh mesh;
	Vector3[] verts;
	Vector3[] normals;
	Vector3 WorldPosition;
	void Awake(){
		mesh = GetComponent<MeshFilter>().mesh;
		verts = mesh.vertices;
		normals = mesh.normals;
		for (int i=0; i<verts.Length; i++) {
			verts <em>+= normals _* Random.Range(1f,1.2f);_</em>

* }*
* mesh.vertices = verts;*
* mesh.normals = normals;*
* mesh.RecalculateNormals ();*
* mesh.RecalculateBounds ();*
* mesh.Optimize ();*
* }*
I use it on a sphere and a plane to check if its correct, in the plane it seems that there is no problem.
Plane before and after code:
But in the sphere something goes very wrong:
![alt text][3]
![alt text][4]
it seems like the verts are duplicating or something weird, I tried Mesh.Clear() but that doesn’t work.
Anyone have an idea how I can fix it?

After thinkin a few hours more this is my solution.

for (int i=0; i<verts.Length; i++) {

Debug.Log (“this vert has been already modified”);
verts += normals _ Random.Range(1f,1.2f);
* for(int j=0; j<verts.Length;j++){
Debug.Log (“its the same vert”);
if(verts[j] == (tempVert)){
Debug.Log (“Double vert”);