Rückblick: Laser-Lichtschranke
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 39 von 63.
Aufgabe
MittelSichere 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
rangeEinheiten lang. Er erfasst nur dieintruders-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: Playermit 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
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand