Menu
CoddyTech

Повторение: сторожевой пёс

Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 58 из 71.

В этом обзоре собраны все темы главы: погоня, заданная как скорость, расстояние, измеренное по земле, урон через скрипт Health и импульс отбрасывания.

challenge icon

Задание

Средне

Напиши сторожевую собаку: она гоняется за незнакомцами возле своей будки.

  1. В FixedUpdate(), если игрок находится ближе чем на guardRange от kennel.position по земле, беги к игроку со скоростью speed, сохраняя y.
  2. Иначе беги обратно к будке; когда окажешься от неё ближе чем на 0.3, стой на месте.
  3. При столкновении с Player вызови у него Health метод TakeDamage(1) и оттолкни его от собаки плоским импульсом величиной bite.

Нажми «Играть» возле будки. Затем нажми «Проверить».

Попробуйте сами

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()
    {
        // охраняй конуру: преследуй игрока, если он рядом с ней, иначе возвращайся домой
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Физика и игровой процесс

Потренируйтесь самостоятельно: Песочница Unity