I am developing an application in that my objective is when i click the gameobect the camera moves towards the object and focus at the center.
here are the code snippet i have added
Vector3 relativePosition = target.position - controller.transform.position;
controller.targetRotation = Quaternion.LookRotation( relativePosition );
This is how I did it.
Each game object that you want the camera to be moved to must be set with a tag. I used Player as I dont have anything else in my scene.
I created a GameController object and attached a script to it
In the script I use a Raycast to check if the clicked object has a tag of player. If it does, move the camera to that position + an offset.
public class GameController : MonoBehaviour
public Camera cam;
public Vector3 offset;
// Update is called once per frame
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, out RaycastHit hitInfo))
if(hitInfo.collider.tag == "Player")
Debug.Log("Hit a player yo");
target = hitInfo.transform;
cam.transform.position = target.position + offset;