Menu
CoddyTech

Движущиеся мишени

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

challenge icon

Задание

Сложно

Создайте цели: они перемещаются в пределах диапазона, а мяч сбивает их.

  1. В Start() оставьте startX = rb.position.x. В FixedUpdate() перемещайте цель вдоль оси x с помощью rb.MovePosition со скоростью speed, меняя направление direction с 1 на -1 или наоборот, когда расстояние от startX достигнет range.
  2. В OnCollisionEnter, когда collision.gameObject.CompareTag("Ball"), выведите в лог name + " hit!" и уничтожьте мяч и цель.

Нажмите «Играть» и сбейте все три цели. Затем нажмите «Проверить».

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

using UnityEngine;

public class Target : MonoBehaviour
{
    [SerializeField] private float speed = 2f;
    [SerializeField] private float range = 3f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // двигаться из стороны в сторону; мяч, попавший в мишень, сбивает её
}

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

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