Hello everyone,
This is my first post on the forums and probably will not be my last :). I have run into something of a roadblock in my code.
What I’m trying to do is to get the player’s upper body to face the “CursorWorldPosition” which I have obtained using a RaycastHit from the Camera to the mouse position. The solution works perfectly, the player aims exactly at the mouse and that is where the bullet goes.
The problem occurs when I try to modify the value of the player’s rotation. I want it only to rotate on a fixed vertical axis. I have tried numerous things here including localRotation, localEulerAngles, EulerAngles, transform.rotation.eulerAngles. And nothing seems to be working, rotation is always off and I can never quite get the exact vertical axis that it is rotating on.
Figuring this axis out would really help as I also need to set a Mathf.Clamp on it to ensure that the player cannot shoot himself :).
Here is the segment of code I am currently working with. (Please let me know if you would like me to expand)
Quaternion Focus = Quaternion.LookRotation(hit.point - transform.position);
transform.rotation = Quaternion.Slerp(transform.rotation, Focus, 100);
This is pretty much just the basic “Look at object” script, but I can’t seem to figure out how to modify it on only a vertical axis.
I would appreciate any help I can get. Thank you.
McMayhem
just go to unityGEMS.com for a full explanation of quaternions, eulers etc
– Fattie