Menu
CoddyTech

Rückblick: Laser-Lichtschranke

Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 39 von 63.

challenge icon

Aufgabe

Mittel

Sichere den Tresor mit einem Laser-Lichtschrankenstrahl. Das Tripwire-Skript befindet sich auf dem Emitterpfosten, und der Inspector weist ihm intruders zu (eine LayerMask, bei der der Player-Layer angehakt ist), außerdem lamp (einen Renderer) und eine range von 6.

  • Der Strahl ist ein Ray vom Emitter aus entlang seiner eigenen Vorwärtsrichtung und ist range Einheiten lang. Er erfasst nur die intruders-Layer. Der Receiverpfosten und die Kisten befinden sich auf anderen Layern.
  • Solange etwas den Strahl blockiert, leuchtet die Lampe rot (Color.red); ist der Strahl frei, leuchtet sie grün (Color.green).
  • Jedes Mal, wenn der Strahl von frei zu blockiert wechselt, protokolliere Alarm: Player mit dem Namen des Objekts, das ihn blockiert hat. Wenn du im Strahl stehen bleibst, wird kein weiterer Eintrag protokolliert; wenn du ihn verlässt und zurückkommst, schon.

Drücke Play und bewege den Spieler mit den Pfeiltasten durch den Strahl, dann klicke auf Check.

Probier es selbst

using UnityEngine;

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

    void Update()
    {
    }
}

Alle Lektionen in Physik und Gameplay