# how to lock object's rotation without rigidbody

so I’m trying to rotate an object and lock the rotation of object once it reaches certain point with event trigger. Below is my code:

``````using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections;

public class TurnLeftRightSwitches : MonoBehaviour {

public EventTrigger trigger;

public float turnDial = 1.0f;
public float limitAngle = 230.0f;
public float lockRotation;

public void Start ()
{
trigger = GetComponent<EventTrigger>();

}

public void OnDrag (BaseEventData data)
{
Debug.Log ("Hit");
if (Input.GetAxis("Mouse X") > 0) {
this.transform.Rotate (0, 0, turnDial);
if (transform.rotation.z >= limitAngle)
{
transform.rotation = Quaternion.Euler(transform.eulerAngles.x, transform.eulerAngles.y, lockRotation);
}
}
if (Input.GetAxis("Mouse X") < 0)
{
this.transform.Rotate (0, 0, -turnDial);
}
}
}
``````

I can rotate an object using my mouse X from left to right. The thing is, when the dial reaches certain position (say, 0 (the starting min rotation) and 230 (desired max rotation), I have no idea how to make object stop rotating. Quaternion isn’t working as well so that’s pretty much broken code as of right now. Is there way to lock the object’s rotation without using rigidbody?

In short, I’d like to know if there is a way to stop an object rotating beyond certain point without Rigidbody, Update(), and sample code in c#, please.

Thanks for all help in advance.

transform.Rotate(0, 0, 0);

sorry to be 5 years late

If I can understand your question correctly, you might want to have another variable for your x (vertical) rotation. You add Mouse Y axis every frame and clamp it. So then you can set the rotation.
My English sucks today so here is my idea:
Vector2 rotation;

``````void Update () {

rotation.y += Input.GetAxis("Mouse X");
rotation.x += Input.GetAxis("Mouse Y");

rotation.y = Mathf.Clamp(rotation.y, -80, 80);
rotation.x = Mathf.Clamp(rotation.x, -80, 80);

this.transform.rotation = Quaternion.Euler(rotation.x, rotation.y, 0);

}
``````