unity – RaycastHit.point to local coordinates

I'm trying to detect where an enemy has been hit in my game.
I added a box collider with a height of 1.8 meters to the enemy.

When the player fires, use a RaycastHit to check if the enemy has been hit.
This works well.

My code is this:

GameObject nHit = _LaserScript.hit.collider.gameObject;

if (nHit! = null)
Vector3 nHP = _LaserScript.hit.point; // "hit" is a RaycastHit
Debug.Log ("hit at x:" + nHP.x.ToString () + ", and:" + nHP.y.ToString () + ", z:" + nHP.z.ToString () + " n ");

I can determine with relative ease if the enemy has been hit in the head by checking

yes (nHP.y> 1.5f)
// headshot detected

However, I'm not sure if these coords have to be converted to "local" coordinates.

I tried to determine if I shot the enemy on the left side of his body or on the right side.

To my surprise, the "x" coordinate of the raycast was always around 1.2, and I have no idea why. I expected the x value of the hit to be something between 0 and 0.5f since the collider is no wider than 0.5f.

Basically, I would like a hit on the left "edge" of the enemy to have a value of x between 0 and 0.1f.

Do I have to convert these success coordinates (of which the documents say they are world coords) into "local" coords?