Vector3.Normalize doesn't work

Vector3 new_normal = new Vector3(x / 4.0f, y_start / 4.0f, 0f);
Wall w = new Wall();
w.normal = new_normal;
w.position = positions*;*
for (int f = 0; f < Track.Count; f++)
I added many normalized vectors to a list, then print them out. But the output is [103531-qq截图20171011134349.png|103531]*
I feel there must be some bugs in my code. The vectors are not normalized. Can anyone help?

You use the static version of “Normalize”. A method that takes a value type as parameter can not change anything in that value type that is passed in since the value is copied. The static Normalize method does return the normalized vector.

So your options are:

new_normal = Vector3.Normalize(new_normal);
// or
new_normal = new_normal.normalized;
// or

All 3 lines would do the same thing.