Tutoriel pour ouvrir une porte avec une clé dans Unity

Dans de nombreux scénarios de jeu, déverrouiller et ouvrir les portes avec des clés est un élément de jeu courant. Dans ce didacticiel Unity, nous allons parcourir le processus de création d'une porte simple qui peut être ouverte à l'aide d'une clé. Nous aborderons les concepts de base Unity de script, de déclenchement d'événements et de création d'un système de porte réactif.

Conditions préalables

  • Connaissance de base de l'éditeur Unity interface.
  • Unity est installé sur votre ordinateur.

Étape 1: Créer la scène et les ressources

  1. Ouvrez Unity et créez un nouveau projet 3D (si vous ne l'avez pas encore fait).
  2. Importez un simple modèle door (ou créez un cube comme espace réservé) et un modèle clé dans votre projet.

Étape 2: Configurer la porte et la clé

  1. Placez la porte et la clé dans votre scène.
  2. Ajoutez un composant Box Collider à l'objet parent de la porte, agrandissez-le pour couvrir la zone nécessaire et vérifiez son paramètre "Is Trigger".
  3. Ajoutez des GameObjects clés pour activer la détection de collision.

Étape 3: Écrivez le DoorScript

'DoorScript.cs'

using UnityEngine;

public class DoorScript : MonoBehaviour
{
    public GameObject key;

    private bool isLocked = true;

    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject == key && isLocked)
        {
            OpenDoor();
        }
    }

    private void OpenDoor()
    {
        // Add door opening animation or simply change the door's position.
        transform.Translate(Vector3.up * 2f); // Adjust the value based on your door's size.
        isLocked = false;
    }
}
  • Attachez le 'DoorScript' à l'objet avec Box Collider avec "Is Trigger" coché.
  • Attribuez l'objet clé à la variable 'Key' dans 'DoorScript'.

Explication:

  • Nous vérifions les collisions avec la clé en utilisant 'OnTriggerEnter'.
  • Si l'objet entré en collision est la clé et que la porte est verrouillée, la méthode 'OpenDoor' est appelée.
  • La méthode 'OpenDoor' peut contenir n'importe quelle logique d'ouverture de porte personnalisée, comme la lecture d'une animation ou la modification de la position de la porte.

Étape 4: Configurer le Key GameObject

  1. Attachez un composant Rigidbody au GameObject clé pour activer les interactions physiques.
  2. Ajoutez un Sphere Collider (ou tout autre collisionneur correspondant à votre clé) à la clé GameObject.

Étape 5: Test

  1. Appuyez sur Play dans Unity pour tester l'interaction.
  2. Déplacez la clé dans la porte Box Collider.

Conclusion

Vous avez réussi à créer un système de déverrouillage de porte simple à l'aide d'une clé dans Unity. Ce didacticiel couvre les bases et vous pouvez le développer en ajoutant plus de fonctionnalités et d'animations, ou en affinant les mécanismes de jeu en fonction des exigences de votre jeu.

Articles suggérés
Ajout d'une entrée de joueur à une voiture dans Unity
Ouverture de tiroirs et d'armoires avec des clés spécifiques dans Unity
Déplacer des objets avec une entrée par défilement dans Unity
Création d'objets interactifs dans Unity
Script pour récupérer des objets dans Unity
Guide complet pour transformer la rotation dans Unity
Une approche pratique du code modulaire dans Unity