Menu
CoddyTech

A Mordida dos Caçadores

Parte da seção Física e Jogabilidade do Journey de Unity da Coddy. Lição 63 de 71.

challenge icon

Desafio

Médio

Faça os caçadores morderem e empurrarem o jogador para trás.

  1. Em Hunter, adicione [SerializeField] private float knockback = 12f; e void OnCollisionEnter(Collision collision).
  2. Dentro do método, quando collision.gameObject.TryGetComponent(out Health health), chame health.TakeDamage(1);.
  3. Em seguida, empurre-o: use away do caçador em direção ao jogador, defina y como 0 e use collision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.

Pressione “Jogar” e veja quanto tempo você aguenta. Depois, clique em “Verificar”.

Experimente você mesmo

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 as lições de Física e Jogabilidade

Pratique por conta própria: Playground de Unity