Rückblick: Laser-Lichtschranke
Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 41 von 71.
Diese Zusammenfassung fasst das Kapitel zusammen: eine Raycast-Abfrage, die nur bestimmte Layer erfasst, was sie getroffen hat, und ein bool, das sich den Zustand im letzten Frame merkt, damit der Alarm nur einmal ausgelöst wird.
Aufgabe
MittelSichere den Tresor mit einer Laser-Lichtschranke.
- Führe in jedem Frame
Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, range, intruders)aus. - Färbe
lamp.material.colorrot mitColor.red, solange der Strahl auf etwas trifft, und grün mitColor.green, wenn der Strahl frei ist. - Gib
"Alarm: " + hit.collider.namenur dann aus, wenn der Strahl von frei zu blockiert wechselt: Speichere das Ergebnis des letzten Frames in einembool blocked-Feld.
Drücke auf „Spielen“ und gehe durch den Strahl: jedes Mal ein Alarm. Drücke dann auf „Prüfen“.
Probier es selbst
using UnityEngine;
public class Tripwire : MonoBehaviour
{
public LayerMask intruders;
public Renderer lamp;
public float range = 6f;
void Update()
{
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Physik und Gameplay
1Rigidbody
Schwerkraft und MasseMit AddForce schiebenMit einem Impuls springenFixedUpdate für PhysikGeschwindigkeitKinematische KörperRückblick: Startrampe4Coroutinen
AufrufenWiederholt aufrufen, Aufruf abbrechenDeine erste CoroutineSchleifen in CoroutinenCoroutinen beendenRückblick: Countdown10Projekt: Arena-Flucht
Die ArenaJäger2Kollisionen
OnCollisionEnterWas habe ich getroffen?Beim Aufprall zerbrechenAuf dem Boden stehenAbprallen und ReibungCollider-FormenRückblick: Zerstörbare Wand5Projekt: Münzrausch
Der rollende BallMünzen zum Einsammeln11Abschließende Herausforderungen
KanonenreichweiteBewegliche ZieleMurmelgolfIns LochEscape RoomDie TürÜbe selbstständig: Unity-Playground