Menu
CoddyTech

Повторение: лазерная растяжка

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

challenge icon

Задание

Средне

Защитите хранилище лазерным датчиком пересечения. Скрипт Tripwire находится на стойке излучателя, а Inspector задаёт ему intruders (LayerMask с отмеченным слоем Player), lamp (Renderer) и range, равный 6.

  • Луч — это луч, направленный от излучателя вперёд, длиной range единиц; он обнаруживает объекты только на слоях intruders. Стойка приёмника и ящики находятся на других слоях.
  • Пока что-то перекрывает луч, лампа горит красным (Color.red); когда луч ничем не перекрыт — зелёным (Color.green).
  • Каждый раз, когда луч переходит из свободного состояния в перекрытое, выведите в журнал Alarm: Player, указав имя объекта, который его перекрыл. Если стоять в луче, повторных записей не будет; они появятся, если выйти из луча и вернуться.

Нажмите Play и проведите игрока через луч с помощью стрелок, затем нажмите Check.

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

using UnityEngine;

public class Tripwire : MonoBehaviour
{
    public LayerMask intruders;
    public Renderer lamp;
    public float range = 6f;

    void Update()
    {
    }
}

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