Rückblick: Wachhund
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 55 von 63.
Aufgabe
MittelEin Wachhund hält Fremde von seiner Hundehütte fern. Schreibe das Skript Dog. Im Inspector werden ihm player, kennel (die rote Matte vor der Hundehütte), speed (3.5), guardRange (6) und bite (5) zugewiesen. Die Skripte Player und Health sind bereit: Die Pfeiltasten schieben den Spieler, und die Health des Spielers hat eine öffentliche Methode TakeDamage(int amount).
- Solange der Spieler, über den Boden gemessen, näher als
guardRangean der Hundehütte ist, läuft der Hund auf den Spieler zu. Die Reichweite wird von der Hundehütte aus gemessen, nicht vom Hund. - Andernfalls läuft der Hund zurück zur Hundehütte und bleibt stehen, sobald er höchstens 0.3 von ihr entfernt ist.
- Der Hund bewegt sich, indem er die Geschwindigkeit seines Rigidbody auf
speedüber den Boden setzt und dabei seine y-Geschwindigkeit beibehält. - Wenn der Hund mit dem Spieler zusammenstößt (mit dem Tag
Player), erleidet die Health des Spielers 1 Schadenspunkt, und der Spieler erhält einen Impuls der Stärkebitedirekt vom Hund weg, über den Boden.
Drücke Play und gehe zur Hundehütte, dann Check.
Probier es selbst
using UnityEngine;
public class Dog : MonoBehaviour
{
[SerializeField] private Transform player;
[SerializeField] private Transform kennel;
[SerializeField] private float speed = 3.5f;
[SerializeField] private float guardRange = 6f;
[SerializeField] private float bite = 5f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// Bewache die Hundehütte: Verfolge den Spieler, wenn er sich ihr nähert, oder kehre zurück
}
}
Alle Lektionen in Physik und Gameplay
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand3Trigger
Trigger-ColliderOnTriggerEnterSammelobjekteTodeszonenBetreten und VerlassenRückblick: Schlüssel und Tür6Raycasts
Physics.RaycastRaycastHitBodenprüfung mit einem RayLayer und LayerMaskSichtlinieOverlapSphere und SphereCastRückblick: Laser-Lichtschranke9Gegner
Verfolge den SpielerVerfolgung in ReichweitePatrouillieren und VerfolgenGesundheit und SchadenRückstoßRückblick: Wachhund