Menu
CoddyTech

La mordida de los cazadores

Parte de la sección Física y jugabilidad del Journey de Unity de Coddy. Lección 63 de 71.

challenge icon

Desafío

Intermedio

Haz que los cazadores muerdan y empujen al jugador hacia atrás.

  1. En Hunter, añade [SerializeField] private float knockback = 12f; y void OnCollisionEnter(Collision collision).
  2. Dentro, cuando se cumpla collision.gameObject.TryGetComponent(out Health health), llama a health.TakeDamage(1);.
  3. Después empújalo: away desde el cazador hacia el jugador, con y establecida en 0, y collision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.

Pulsa «Jugar» y mira cuánto tiempo aguantas. Después, pulsa «Comprobar».

Pruébalo tú mismo

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);
    }
}

Todas las lecciones de Física y jugabilidad

Practica por tu cuenta: Playground de Unity