Hello, I need to restrain the rotation of the bar to act as foosball table this code is for the bars to be moved and rotated by mouse pointer.
ublic class Mouse_rotate : MonoBehaviour
{
//Rotation Speed of the object
public float speed;
// Update is called once per frame
void FixedUpdate ()
{
//Generate a plane the intersects the transform's position with an upwards normal
Plane playerPlane= new Plane(-Vector3.forward, transform.position);
//Generate a ray from the mouse cursor position
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
/*Determine the point where the cursor ray intersects the plane
* this will be the point that the object will look towards the mouse cursor
* Raycasting to a plane object only gives us the distance, so we will have to take the distance
* then find the point along that ray that meets the distance. This will be the point to look at*/
float hitDist = 0.0f;
//If the ray is parallel to the plane, Raycast will return false
if(playerPlane.Raycast (ray, out hitDist))
{
//Get the point along the ray that hits the calculated distance.
Vector3 targetPoint = ray.GetPoint(hitDist);
//Determine the target rotation. This is the rotation if the transform looks at the target point .
Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
//Smoothly rotate towards the target point.
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
}
}
}