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.



