Question by 
               Fetdressing · Aug 20, 2016 at 01:27 PM · 
                cameracamera rotatecamera-lookcamera movementjagged  
              
 
              Third person look around camera, jagged results
Hello!
I have created a camera script which allows for rotating around a target, kinda lika World of warcraft's camera. However I am experiancing bumpiness when moving the camera in Y. I have no idea why this would happen and would be really greateful if anyone had some thoughts or ideas why! The rotating around targets X work perfectly fine.
Here's the script: private Transform thisTransform; private Camera thisCamera; public Transform target;
     [Header("MouseStuff")]
     private float XSensitivity = 18;
     private float YSensitivity = 2;
 
     public float height = 1f;
     private float distance = 12f;
     private float cameraFollowSpeed = 300;
 
     private Vector3 offsetX;
     private float offsetHY = 0;
     private Vector3 finalOffset;
     private float distanceOffset = 0;
 
     private float maxDistanceOffset = 35;
     private float yMinHeight = -25;
     private float yMaxHeight = 25;
     // Use this for initialization
     void Start () {
         thisTransform = this.transform;
         thisTransform.position = target.position + -thisTransform.forward * 10;
         thisCamera = thisTransform.GetComponentsInChildren<Transform>()[1].GetComponent<Camera>();
 
         offsetX = new Vector3(0, height, distance);
     }
 
     void LateUpdate()
     {
         float xRot = Input.GetAxis("Mouse X") * XSensitivity;
         float yRot = Input.GetAxis("Mouse Y") * YSensitivity;
 
         offsetX = Quaternion.AngleAxis(xRot, Vector3.up) * offsetX;
         float yHeightOffset = -yRot;
         offsetHY = Mathf.Clamp(offsetHY + yHeightOffset, yMinHeight, yMaxHeight);
         
 
         float d = Input.GetAxis("Mouse ScrollWheel");
         if (d > 0f)
         {
             // scroll up
             distanceOffset -= d* 200 * Time.deltaTime;
         }
         else if (d < 0f)
         {
             // scroll down
             distanceOffset -= d*200 * Time.deltaTime;
         }
         distanceOffset = Mathf.Clamp(distanceOffset, 0, maxDistanceOffset);
         finalOffset = offsetX + new Vector3(0, offsetHY, 0) + thisTransform.forward * Mathf.Abs(offsetHY*0.5f) + -thisTransform.forward * distanceOffset;
         thisTransform.position = Vector3.Lerp(thisTransform.position, target.position + finalOffset, cameraFollowSpeed * Time.deltaTime);
         thisTransform.LookAt(target.position);
     }
 
               //Simon
               Comment
              
 
               
              Your answer
 
             Follow this Question
Related Questions
Maximum Camera Angle Rotation 0 Answers
How to recreate the Silent Hill 1 camera style? 0 Answers
3d camera not working as I want it to 0 Answers
How to set viewpoint regardless of tilt of device when use gyroscope 0 Answers
Spyro Like Camera Follow 0 Answers