Unity - UFO 2D

Faire suivre la joueur par la caméra

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Cette série explique pas à pas la création d'un jeu 2D dans lequel un vaisseau collecte des pépites d'or.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.

II. Vidéo


Unity - UFO 2D - Faire suivre le joueur par la caméra


III. Résumé

Dans cette vidéo, vous allez permettre à la caméra de suivre les déplacements du joueur.

III-A. Liens entre les objets

Pour que la caméra suive le joueur, il faut que les deux objets soient liés. Pour ce faire, dans la hiérarchie, vous pouvez placer la caméra comme enfant du joueur. Ainsi, le joueur devient le parent de la caméra. Si le parent d'un objet se déplace, alors les enfants se déplacent aussi.

Le problème de cette solution est que le vaisseau peut tourner sur lui-même (lorsqu'il touche un mur), provoquant ainsi la rotation de la caméra. Le résultat est particulièrement désagréable pour le joueur.

Du coup, placer la caméra comme enfant du joueur n'est pas la bonne solution.

III-B. Script de suivi d'un objet

Toutefois, il est possible, à l'aide d'un script, d'implémenter le suivi de la position du joueur par la caméra sans synchroniser la rotation.

CameraController
Sélectionnez
using UnityEngine;
using System.Collections;

public class CompleteCameraController : MonoBehaviour {

    public GameObject player;       // Variable publique pour stocker la référence vers l'objet du joueur


    private Vector3 offset;         // Variable privée pour stocker le décalage entre le joueur et la caméra

    // Initialisation
    void Start () 
    {
        // Calcul et stocke le décalage entre le joueur et la caméra
        offset = transform.position - player.transform.position;
    }
    
    // La fonction LateUpdate() est appelée après la fonction Update() à chaque image
    void LateUpdate () 
    {
        // Définit la position de la caméra avec celle du joueur tout en ajoutant un décalage.
        transform.position = player.transform.position + offset;
    }
}

IV. Ressources

Vous pouvez télécharger les ressources pour ce projet sur l'Asset Store de Unity.

V. Commenter

Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2016 Unity Technologies. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.