Optimizing Camera Movement
Glissez pour afficher le menu
In this lesson, we create a CameraFollow script to control the camera's movement independently from the player.
Instead of making the camera a child of the player (which makes movement feel static), we can program the camera to move only when the player reaches the center of the screen.
How It Works
The script is attached to the Camera.
We create a public Transform variable to reference the player.
Because the player is a different GameObject, we make the variable public so we could assign it in the Inspector.
We use an if statement to check:
If the player's Y position is higher than the camera's Y position -> move the camera to the player.
Important Concept: Transform.position Is a Vector3
You cannot modify transform.position.y directly because:
transform.positionis aVector3;- a
Vector3containsx,y,zvalues together; - you must assign a new
Vector3to change position.
So instead of:
transform.position.y = target.position.y;
We write:
transform.position = new Vector3(
transform.position.x,
target.position.y,
transform.position.z
);
This keeps the camera's X and Z the same, but updates Y.
1. Why did we declare the player's Transform variable as public?
2. Why can’t you write this line to set the camera’s Y position to the player’s Y position?
3. What does this condition check?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion