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.





