Problem with Rotating Object not as child
Ok so I am working on a script but I have one small bug it worked before i changed this code. Now when I rotate my character the camera can only move on the x axis and when I rotate left/right the first person controller rotates but my camera moves without rotating. Ok a little complicated so I will just show you.
In this video you can see the camera appears to be locked
Overview of project: The character places a camera on an object and then turns them self into the object. I am cannot use a parent because it just screws everything up from scale to rotation to problems with direction of walking.
Thanks in Advance
Code:
     if (!cameraPlaced)
     {
         MoveCamera();
         
     }
     if (cameraPlaced)
     {
         secondCamera.transform.position = shoot.transform.position;
         secondCamera.transform.rotation = shoot.transform.rotation;
     }
     if (Input.GetKeyDown(placeCamera))
     {
         cameraPlaced = true;
         offset = secondCamera.transform.position - cameraHit.transform.position;
         offrot = Quaternion.Inverse(secondCamera.transform.rotation) * cameraHit.transform.rotation;
         
     }
  void MoveCamera()
         {
             //Shoot Raycast
             Ray ray = mainCamera.GetComponent<Camera>().ScreenPointToRay(Input.mousePosition);
     
             if (Physics.Raycast(ray, out cameraHit))
             {
                 Debug.DrawLine(ray.origin, cameraHit.point);
     
             }
             //Move Camera to point of collider
             secondCamera.transform.position = cameraHit.point;
             shoot.transform.position = cameraHit.point;
             shoot.transform.parent = cameraHit.transform;
             var lookPos = this.transform.position - shoot.transform.position;
             lookPos.y = 0;
             var rotation = Quaternion.LookRotation(cameraHit.normal);
             var rot = Quaternion.LookRotation(lookPos);
             shoot.transform.rotation = Quaternion.Slerp(shoot.transform.rotation, rotation, Time.deltaTime * 60);
             secondCamera.transform.rotation = Quaternion.Slerp(secondCamera.transform.rotation, rotation, Time.deltaTime * 60);
     }
 
 
 
 
 
              Your answer
 
             Follow this Question
Related Questions
Transform.Rotate x and y rotate z, where z is 0 0 Answers
Help for my character Rotation When using Joystick 0 Answers
Animation not working when Camera is attached to script 0 Answers
Maintain fixed vision while the player turn 0 Answers
Help with rotating camera around object based on mouse input 0 Answers