I. Sommaire▲
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Godot - Marble Madness 3D - Gestion de la caméra
III. Résumé▲
Dans ce chapitre, nous apprenons à déplacer la caméra.
III-A. Comportement▲
La caméra doit suivre les déplacements du joueur. Ainsi, elle visualisera de manière efficace la scène et le joueur ne pourra plus sortir du champ.
III-B. Implémentation▲
Pour cela, nous associons un script à la caméra pour la contrôler de manière appropriée. Afin de garder toujours la même distance entre la caméra et l'objet à suivre, dans la fonction _ready(), nous calculons la différence de position entre le joueur et la caméra. Ensuite, il suffit de récupérer la position du joueur à chaque frame, d'appliquer le décalage et ainsi, nous obtenons la nouvelle position de la caméra.
III-B-1. Script▲
extends Camera
# Décalage initial de la caméra
var camera_offset
# Le chemin du nœud que la caméra va suivre
var node_to_follow =
"/root/World/Player"
func _ready
(
):
# Calcul du décalage initial de la caméra (pour plus tard)
var player_position =
get_node
(
node_to_follow).get_translation
(
)
var camera_position =
get_translation
(
)
camera_offset =
camera_position -
player_position
# Lorsque le nœud entre dans la scène, Godot appellera sa méthode
# _process() à chaque frame.
set_process
(
true)
func _process
(
delta):
# Définir la caméra pour suivre la position du nœud
# et appliquer le décalage initial pour garder la distance de la
# caméra constante.
var player_position =
get_node
(
node_to_follow).get_translation
(
)
set_translation
(
player_position +
camera_offset )
IV. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.