Menu
CoddyTech

La morsure des chasseurs

Fait partie de la section Physique et gameplay du Journey Unity de Coddy. Leçon 63 sur 71.

challenge icon

Défi

Moyen

Fais mordre les chasseurs et repousser le joueur.

  1. Dans Hunter, ajoute [SerializeField] private float knockback = 12f; et void OnCollisionEnter(Collision collision).
  2. À l’intérieur, lorsque collision.gameObject.TryGetComponent(out Health health) est vrai, appelle health.TakeDamage(1);.
  3. Ensuite, repousse-le : away du chasseur vers le joueur, avec y défini à 0, et collision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.

Appuie sur « Jouer » et vois combien de temps tu tiens. Puis clique sur « Vérifier ».

Essayez vous-même

using UnityEngine;

public class Hunter : MonoBehaviour
{
    [SerializeField] private float speed = 3f;
    private Rigidbody rb;
    private Transform player;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        player = GameObject.FindWithTag("Player").transform;
    }

    void FixedUpdate()
    {
        Vector3 toPlayer = player.position - rb.position;
        toPlayer.y = 0f;
        Vector3 dir = toPlayer.normalized;
        rb.linearVelocity = new Vector3(dir.x * speed, rb.linearVelocity.y, dir.z * speed);
    }
}

Toutes les leçons de Physique et gameplay

Entraînez-vous par vous-même : Playground Unity