Podsumowanie: pies stróżujący
Część sekcji Fizyka i rozgrywka ścieżki Unity w Coddy. Lekcja 55 z 63.
Wyzwanie
ŚredniPies stróżujący nie pozwala obcym zbliżyć się do swojej budy. Napisz skrypt Dog. Inspector przypisuje mu player, kennel (czerwoną matę przed budą), speed (3.5), guardRange (6) i bite (5). Skrypty Player i Health są gotowe: strzałki wprawiają gracza w ruch, a jego Health ma publiczną metodę TakeDamage(int amount).
- Gdy gracz znajduje się bliżej budy niż wynosi
guardRange, mierzone w poziomie, pies biegnie w jego stronę. Zasięg jest mierzony od budy, a nie od psa. - W przeciwnym razie pies biegnie z powrotem do budy i zatrzymuje się, gdy znajdzie się w odległości 0.3 od niej.
- Pies biegnie, ustawiając prędkość swojego Rigidbody na
speedw poziomie i zachowując prędkość w osi y. - Gdy pies zderzy się z graczem (z tagiem
Player), jego Health otrzymuje 1 punkt obrażeń, a gracz dostaje Impulse o wartościbite, skierowany poziomo w stronę przeciwną do psa.
Naciśnij Play i podejdź do budy, a następnie naciśnij Check.
Spróbuj swoich sił
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()
{
// pilnuj budy: ścigaj gracza, gdy jest w pobliżu, albo wracaj do budy
}
}
Wszystkie lekcje w sekcji Fizyka i rozgrywka
1Ciało sztywne
Grawitacja i masaPopychanie za pomocą AddForceSkok z impulsemFixedUpdate dla fizykiPrędkośćCiała kinematycznePowtórka: platforma startowa2Kolizje
OnCollisionEnterW co uderzyłem?Rozbijanie przy zderzeniuStanie na podłożuOdbicie i tarcieKształty colliderówPodsumowanie: Zniszczalny mur3Wyzwalacze
Kolizje wyzwalająceOnTriggerEnterZnajdźkiStrefy śmierciWejście i wyjściePowtórka: klucz i drzwi6Raycasty
Physics.RaycastRaycastHitSprawdzanie podłoża za pomocą promieniaWarstwy i LayerMaskLinia widzeniaOverlapSphere i SphereCastPodsumowanie: laserowa bariera9Przeciwnicy
Gonić graczaGonić w zasięguPatrolować i gonićZdrowie i obrażeniaOdrzutPodsumowanie: pies stróżujący