My normals rotate around, why?


I have a weird situation that I don’t understand. I am using DrawRay to represent a vector from the global transform of a meshes’ vertices by the direction of the normal to debug an analyze of the dot product between a random point in space and the normals. However, when I rotate the mesh, the normals start rotating themselves instead of standing straight and I know it can’t be the DrawRay because I have a function that colors the appropriate vertices based on some inputs. They color perfectly as long as I don’t rotate the mesh, but once I do that they stop coloring right. Do you have any idea as to why the normals behave so sporadically. I have tried to recalculate them reassign them at different places in update. Also made a completely empty scene with just a default capsule and the DrawLine behaved exactly the same.
Thank you for your time.

Where the current normals are being presented using something like:

// vPos[] = vertexPositions
// vNrm[] = vertexNormals
for(int i = 0; i < vertexCount; i++)
	Debug.DrawRay(vPos_, vNrm*,;*_

… It should instead look more like:
for(int i = 0; i < vertexCount; i++)
_ Vector3 rotPos = transform.TransformPoint(vPos*);
Vector3 rotNrm = transform.TransformDirection(vNrm);
Debug.DrawRay(rotPos, rotNrm,;

If you want the vertex normals to stretch with object scale, use [TransformVector][1] for the normals instead, then re-normalize them afterward for proper length._

Edit: Whoops, changed a suggestion to a… good one.