- Home /
Keep objects current rotation, with Input Mouse X
Hi there.
I have a problem i've been trying to fix on my own, and given i've dedicated over an hour to this simple problem, I thought I might ask the brains trust on it. What I am doing is using the Mouse's X position to rotate an object when the user clicks. The part I am having trouble with, is that when I click to start the rotation, it transforms the rotation to 0,0,0. After it does this, it rotates and keeps it's position as normal. What I want it to do, is take the rotation the object is already at, and rotate it from there. I understand this has something to do with the Quaternion.Euler I have going, but I am just not sure how to adjust it. I have tried a multitude of solutions, but without further ado. The script this is attached to has a raycast I didn't feel needed to be included, thus where 'hit' is coming from.
private float cannon_rotation;
if (hit.collider.gameObject.tag == "Cannon")
{
cannon_rotation = Mathf.Clamp(cannon_rotation, -85, 85);
cannon_rotation += Input.GetAxis("Mouse X");
hit.collider.gameObject.transform.localRotation = Quaternion.Euler(0, cannon_rotation, 0);
}
Any help on this would be greatly appreciated. Cheers folks :) Any follow up questions feel free, this is bothering me.