Optimizing Camera Movement
Pyyhkäise näyttääksesi valikon
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?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme