- Home /
[Solved] How to move the camera in the forward axis
Hi, im working in a multitarget tracking system for my camera, the camera is looking 60 degrees down, and then i want to move the camera along the blue axis like you do in the editor if you drag the blue arrow, with this i achieve the camera zooming in and out, but i want to do this by code, using the distance between the 2 players as the value to determine how far back the camera must be along the blue axis.
here are 2 pictures to help ilustrate
zoom in when the players are close

zoom out as the players separate

Answer by LunaTrap · Aug 21, 2016 at 04:36 AM
I found out, it was very simple, take into account that i use local position because the camera is mounted on a rig object, the rig is what moves, not the camera itself.
     private void Update()
     {
         Vector3 averagepositionBetweenTargets = new Vector3();
         averagepositionBetweenTargets += (targetA.position + targetB.position) / 2;
         averagepositionBetweenTargets.y = 0f;
         desiredCameraPosition = averagepositionBetweenTargets;
         distanceBetweenTargets = Vector3.Distance(targetA.position, targetB.position);
         Vector3 newCameraForward = riggedCamera.transform.forward * distanceBetweenTargets;
         riggedCamera.transform.localPosition = -newCameraForward;
     }
 
     private void FixedUpdate()
     {
         transform.position = desiredCameraPosition;
     }
Your answer
 
 
             Follow this Question
Related Questions
How to change the direction of the RayCast? 2 Answers
SmoothFollow script facing forward 1 Answer
rotateAround pivots at unexpected point 1 Answer
Smooth camera script looking at left hand side of character. 0 Answers
I'm clueless about how to make my script change its position based on how close it is to the wall.. 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                