- Home /
 
Inverted mouse controls
I have a script that allow me to rotate my tank's turret to the mouse direction in the Y axis. The problem is that when i move the mouse to the right, the turret go left and when i move left the turret goes right. WTF? Can anyone help me?
This is the script: using UnityEngine; using System.Collections;
 public class RotateTurret : MonoBehaviour
 {
 
     // speed is the rate at which the object will rotate
     public float speed;
 
     void FixedUpdate()
     {
         // Generate a plane that intersects the transform's position with an upwards normal.
         Plane playerPlane = new Plane(Vector3.up, transform.position);
 
         // Generate a ray from the 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 must look towards to be looking at the mouse.
         // Raycasting to a Plane object only gives us a distance, so we'll have to take the distance,
         //   then find the point along that ray that meets that 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);
         }
     }
 }
 
 
              
               Comment
              
 
               
              Is your up/down O$$anonymous$$ though? If so, then it seems like you just need to flip your Y axis with before setting the transform.rotation.
Your answer