How can i change vertex posiiton to push it back -1 on z ?

This is how i find the vertex

int findVertex(Vector3 v)
	{
		Vector3[] vertices = transform.GetComponent<MeshFilter>().mesh.vertices;
		for(int i = 0; i < vertices.Length; i++)
		{
            if (vertices *== v)*

{
return i;
}

  •  }*
    
  •  return -1;*
    
  • }*
    Then onmousedown
    void OnMouseDown()
    {
    if (Input.GetMouseButtonDown(0))
    {
    RaycastHit hit;
    Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    if (Physics.Raycast(ray, out hit, 1000.0f))
    {
    int[] triangles = transform.GetComponent().mesh.triangles;
    if (hit.triangleIndex != -1 && (hit.triangleIndex * 3) < triangles.Length)
    {
    int hitTri = hit.triangleIndex;

//get neighbour

Vector3[] vertices = transform.GetComponent().mesh.vertices;
Vector3 p0 = vertices[triangles[hitTri * 3 + 0]];
Vector3 p1 = vertices[triangles[hitTri * 3 + 1]];
Vector3 p2 = vertices[triangles[hitTri * 3 + 2]];

float edge1 = Vector3.Distance(p0, p1);
float edge2 = Vector3.Distance(p0, p2);
float edge3 = Vector3.Distance(p1, p2);

Vector3 shared1;
Vector3 shared2;
if (edge1 > edge2 && edge1 > edge3)
{
shared1 = p0;
shared2 = p1;
}
else if (edge2 > edge1 && edge2 > edge3)
{
shared1 = p0;
shared2 = p2;
}
else
{
shared1 = p1;
shared2 = p2;
}

v1 = findVertex(shared1);
v2 = findVertex(shared2);

changeVertexPosition(v1);
changeVertexPosition(v2);
}
}
}
}
And changeVertexPosition
void changeVertexPosition(int index)
{
Mesh mesh = transform.GetComponent().mesh;
mesh.vertices[index].z = -10;
transform.GetComponent().mesh.vertices[index] = new Vector3(0, 0, -10);
}
First i tried only mesh.vertices[index].z = -10; but it didn’t change anything so i tried transform.GetComponent().mesh.vertices[index] = new Vector3(0, 0, -10); but didn’t change anything else either.

I would suggest passing in the current x and y values of the vertex when creating the new Vector3

mesh.vertices[index] = new Vector3(mesh.vertices[index].x, mesh.vertices[index].y, mesh.vertices[index].z);

If that continues to not work look into passing the method parameters by reference. For information on passing by reference and how it works refer to the link below.

https://msdn.microsoft.com/en-us/library/14akc2c7(v=vs.140).aspx