Der Biss der Jäger
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 63 von 71.
Aufgabe
MittelLass die Jäger angreifen und den Spieler zurückstoßen.
- Füge in
Hunter[SerializeField] private float knockback = 12f;undvoid OnCollisionEnter(Collision collision)hinzu. - Rufe darin
health.TakeDamage(1);auf, wenncollision.gameObject.TryGetComponent(out Health health)zutrifft. - Stoße ihn dann weg: von
awayaus vom Jäger in Richtung Spieler, wobei y auf 0 gesetzt wird, und mitcollision.rigidbody.AddForce(away.normalized * knockback, ForceMode.Impulse);.
Drücke „Spielen“ und schau, wie lange du durchhältst. Drücke dann „Prüfen“.
Probier es selbst
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);
}
}
Alle Lektionen in Physik und Gameplay
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe4Coroutinen
AufrufenWiederholt aufrufen, Aufruf abbrechenDeine erste CoroutineSchleifen in CoroutinenCoroutinen beendenRückblick: Countdown10Projekt: Arena-Flucht
Die ArenaJäger2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand5Projekt: Münzrausch
Der rollende BallMünzen zum Einsammeln11Abschließende Herausforderungen
KanonenreichweiteBewegliche ZieleMurmelgolfIns LochEscape RoomDie TürÜbe selbstständig: Unity-Playground