Menu
CoddyTech

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

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

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

challenge icon

Задание

Средне

Защити хранилище лазерным лучом-ловушкой.

  1. Каждый кадр выполняй Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, range, intruders).
  2. Окрашивай lamp.material.color в Color.red, пока луч попадает в цель, и в Color.green, когда путь свободен.
  3. Записывай в журнал "Alarm: " + hit.collider.name только когда луч переходит из свободного состояния в заблокированное: сохраняй результат предыдущего кадра в поле bool blocked.

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

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

using UnityEngine;

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

    void Update()
    {
    }
}
quiz iconПроверьте себя

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

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

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