Changing x of euler angle and passing it to quaternion?

I am actually using this line of code for getting the head’s euler rotation, halfing the X and then passing it to a Quaternion:

Quaternion.Euler(Mathf.Round(head.rotation.eulerAngles.x/2),head.rotation.eulerAngles.y,head.rotation.eulerAngles.z);

But the head looks twitchy below rotation 0 on the x, and extremely crazy above it.
Any help?
Thanks!
I know I posted a post not many minutes ago but it seems that people only answer to posts that are recent :confused:

bump

Where and how do you use that code and what are you trying to accomplish exactly?

If it’s in an Update or FixedUpdate and you half the rotation every frame… of course that’s going to look weird. If you start at 180 degrees, you’ll be at < 1 degree in 0.1 seconds and then incredibly slowly trend towards 0 degrees with no smooth movement.

I’m networking that, so when the player’s looks at the bottom (180º), to make it less weird, I make it the half (90º)
Example: head rotation x = 90 → network makes head rotation x = 45 → client recieves head rotation = 45

bump because noone cares

Why would you need half the angle in the first place?

Because when the player looks straight down, it looks like its face its melting to its neck, so to trick this what I want to make is that the head’s x rotation gets halfed by 2 and so it gets closer to the 0º (looking straight angle)
Here’s a diagram: