Zum Hauptinhalt springen

Ereignisse

Mit Ereignissen reagiert Ihre Szene auf Menschen, ganz ohne Code. Wenn etwas passiert, führt das Objekt die Schritte aus, die Sie festgelegt haben.

WENN  jemand die Tür antippt
DANN sie in 600 ms aufschwingen lassen
das Schild „abgeschlossen“ deaktivieren
das Signal „door-open“ senden

Das Wenn ist ein Trigger. Das Dann ist eine Liste von Schritten. Ein Objekt kann beliebig viele Ereignisse haben, und jedes läuft für sich.

Ereignis hinzufügen​

  1. Wählen Sie das Objekt aus.
  2. Klicken Sie im Inspektor auf + neue Komponente und wählen Sie Ereignisse. Die Komponente beginnt mit einem Ereignis, das auf Druck auf das Objekt eingestellt ist.
  3. Klicken Sie auf das Ereignis. Das Panel Ereigniseinstellungen öffnet sich. Ein weiteres Ereignis fügen Sie mit + Ereignis hinzufügen hinzu.
  4. Wählen Sie einen Trigger oder behalten Sie Druck auf das Objekt.
  5. Klicken Sie auf + Aktion hinzufügen und wählen Sie einen Schritt. Die Liste hat ein Suchfeld, und die Schritte sind in Aktionen, Animationen, Zustände und Logik gruppiert.
  6. Fügen Sie weitere Schritte auf die gleiche Weise hinzu. Sie laufen der Reihe nach ab.
Zwei Listen zum Nachschlagen

Die Trigger-Referenz listet alle Trigger auf. Die Schritt-Referenz listet alle Schritte auf. Beide sind immer aktuell. Neben dem Namen im Editor steht dort der Code-Name für Skripte: Signal senden ist emit_signal, und Signal ist on-signal.

Trigger​

Ein Trigger ist der Moment, in dem ein Ereignis startet. Die Einstellungen jedes Triggers finden Sie in den Referenzen oben. Die Tabellen hier zeigen, wofür jeder Trigger da ist.

Zeiger und Tasten​

Im EditorWird ausgelöst, wenn
Druck auf das Objektjemand das Objekt antippt oder anklickt; mit Zweigen für Klick, Drücken und Loslassen
Hoverder Cursor auf das Objekt fährt oder es verlässt
Doppelklickzwei Klicks innerhalb von 300 ms auf dasselbe Objekt fallen
Langes Drückendas Objekt 450 ms lang gehalten wird, ohne den Finger zu bewegen
Tasteeine Taste gedrückt oder losgelassen wird
Scrollensich das Mausrad dreht; die Richtung können Sie wählen
Ziehenjemand platzierte AR-Inhalte verschiebt
Skalierenjemand platzierte AR-Inhalte mit zwei Fingern zusammenzieht oder aufzieht
Drehenjemand platzierte AR-Inhalte dreht

Ziehen, Skalieren und Drehen funktionieren nur in Szenen vom Typ Oberfläche, weil sie auf Inhalte wirken, die der Besucher platziert hat. Sie werden immer wieder ausgelöst, solange sich der Finger bewegt, nicht nur einmal.

Lebenszyklus​

Im EditorWird ausgelöst, wenn
Startdie Szene startet; jedes Objekt erhält diesen Trigger
Größenänderungsich die Größe des Fensters oder Bildschirms ändert
Pausierendie App oder der Tab in den Hintergrund wechselt
Fortsetzendie App oder der Tab wieder in den Vordergrund kommt
Sichtbarkeitdas Objekt ein- oder ausgeblendet wird
Ton bei Pausieren stoppen

Töne spielen weiter, wenn ein Besucher die App wechselt, es sei denn, Sie stoppen sie. Stoppen Sie sie bei Pausieren, zum Beispiel mit einem Wechsel in einen Zustand, in dem der Ton stumm ist, und starten Sie sie bei Fortsetzen wieder.

AR-Tracking​

Im EditorWird ausgelöst, wenn
Erkennungder Marker oder die Fläche gefunden wird
Trackingverlustdas Tracking verloren geht
Platzierender Besucher den Inhalt platziert hat
VPS bereitdie Positionsbestimmung gestartet ist
VPS lokalisiertdie tatsächliche Position des Besuchers gefunden ist
VPS-Lokalisierung fehlgeschlagendie Position noch nicht gefunden ist
VPS-Fehlerdie Positionsbestimmung gar nicht laufen kann

Der Editor bietet nur die Trigger an, die der Anker Ihrer Szene auslösen kann. Erkennung wird einmal ausgelöst, wenn das Tracking beginnt, nicht in jedem Frame.

Eine fehlgeschlagene VPS-Lokalisierung ist normal

VPS-Lokalisierung fehlgeschlagen wird oft ausgelöst, während der Besucher umhergeht und nach einer Stelle sucht, die die Karte kennt. Verstehen Sie es als „weiter versuchen“, nicht als Fehler, den Sie anzeigen müssen.

Zeit und Abstand​

Im EditorWird ausgelöst, wenn
Verzögerungeinmal, nach einer Wartezeit
Alle N Sekundenimmer wieder; eine Wiederholungszahl von 0 bedeutet endlos
Abstandetwas näher als ein bestimmter Abstand kommt oder sich entfernt
Variablenänderungeine Variable einen neuen Wert bekommt

Abstand hat die Option Beim Start. Schalten Sie sie ein, wenn ein Objekt schon beim Öffnen der Szene nah sein kann. Ohne diese Option wartet das Ereignis, bis sich etwas bewegt.

Zustände, Kollisionen und Signale​

Im EditorWird ausgelöst, wenn
Aktivieren des Zustandsdieses Objekt in den gewählten Zustand wechselt
Deaktivieren des Zustandsdieses Objekt diesen Zustand verlässt
Kollisiondieses Objekt ein anderes berührt; mit Kollidiert mit schränken Sie ein, welche
UI-Aktionjemand eine Schaltfläche auf einer UI-Karte gedrückt hat
Signalein anderes Ereignis ein Signal gesendet hat
Spielsteuerungdie Figur anfängt zu stehen, sich zu bewegen, zu laufen oder zu springen

Zweige​

Manche Trigger haben Zweige, sodass ein einziges Ereignis jeden Ausgang abdeckt. Ein einziges Ereignis Abstand kann zum Beispiel sowohl auf „kommt näher“ als auch auf „entfernt sich“ reagieren.

TriggerZweige
AbstandBei Annäherung, Beim Entfernen
TasteBeim Drücken, Beim Loslassen
HoverBeim Betreten, Beim Verlassen
Druck auf das ObjektBeim Klick, Beim Drücken, Beim Loslassen
SichtbarkeitBeim Einblenden, Beim Ausblenden
SpielsteuerungIm Leerlauf, Bei Bewegung, Beim Laufen, Beim Sprung

Jeder Zweig hat eine eigene Liste von Schritten. Ein Trigger ohne Zweige hat eine einzige Liste: Bei Auslösung.

Festlegen, auf welche Objekte ein Schritt wirkt​

Jeder Schritt hat das Feld Zielobjekt.

  • Lassen Sie es leer, dann wirkt der Schritt auf das Objekt, zu dem das Ereignis gehört. Das ist der Normalfall.
  • Wählen Sie Objekte aus, dann wirkt der Schritt stattdessen auf diese. So öffnet eine Schaltfläche drei Türen.

Antippen erreicht auch übergeordnete Objekte​

Ein Antippen, ein Hover oder eine Aktion auf einer Karte erreicht das Objekt und alle seine übergeordneten Objekte.

Sie können also ein Ereignis auf eine Gruppe legen, und es fängt das Antippen von allem darin ab. Sie müssen nicht dasselbe Ereignis auf vierzig Objekte kopieren.

Das bedeutet auch:

  • „irgendwo auf dieses Panel tippen“ ist ein einziges Ereignis am Panel;
  • wenn der Cursor zwischen zwei Kindobjekten desselben Elternobjekts wechselt, löst das beim Elternobjekt weder Betreten noch Verlassen aus, weil der Cursor es nie verlassen hat.

Manche Trigger funktionieren anders:

  • Kollision wird nur bei den Objekten ausgelöst, die sich berührt haben.
  • Taste, Scrollen, Größenänderung und Start betreffen kein einzelnes Objekt, deshalb erhält sie jedes Objekt.

Ereignisse, Patches und Skripte hören dieselben Taps, Tasten und Kollisionen. Ein paar Trigger kommen in Skripten unter anderen Namen an. Siehe Die ctx-API.

Jeden Trigger an nur einer Stelle behandeln

Wenn dasselbe Objekt in einem Ereignis und in einem Skript auf denselben Trigger reagiert, läuft die Reaktion doppelt. Wenn etwas zweimal ausgelöst wird, ist das fast immer der Grund.

Mehrere Tasten für ein Ereignis​

„Springen mit Leertaste oder W“ ist ein Ereignis, nicht zwei. Klicken Sie in das Feld Taste und drücken Sie die erste Taste. Klicken Sie dann auf oder und drücken Sie die nächste. Fügen Sie so viele hinzu, wie Sie brauchen.

  • Jede Taste in der Liste steht für sich. Eine Zusatztaste wie Strg gilt nur für die Taste, mit der sie zusammen gedrückt wurde.
  • Die übrigen Einstellungen des Triggers, etwa Auto-Wiederholung, gelten für jede Taste in der Liste.
  • Eine Maustaste funktioniert im selben Feld. Die Liste enthält dann nur Maustasten.

Das Ereignis speichert diese Tasten als Text. Ein Assistent oder ein Skript schreibt sie so:

ArrowUp        ctrl+KeyW        KeyA+KeyS        Space+double        mouse:middle

Statt einer Taste können Sie auch eine Tastenbelegung verwenden. Belegungen richten Sie unter Projekteinstellungen → Tastenbelegung ein. Ändern Sie dort einmal die Taste für „jump“, und jedes Ereignis, das „jump“ nutzt, übernimmt sie. Das hilft, wenn jemand eine Steuerung für Linkshänder möchte.

Schritte​

Die Einstellungen jedes Schritts finden Sie in der Schritt-Referenz.

Im EditorMacht
Szenenübergangwechselt zu einer anderen Szene
Raumübergangwechselt in einen anderen Raum und, wenn Sie eine wählen, in eine bestimmte Szene
URL öffnenöffnet einen Link, im selben oder in einem neuen Tab
Messenger öffnenöffnet Facebook, VK, OK, Instagram, Telegram, WhatsApp oder Viber
Telefonnummer anrufenstartet einen Anruf
E-Mail schreibenbeginnt eine E-Mail
Datei-Downloadlädt eine Datei aus Ihrem Projekt herunter
Kontakt herunterladenbietet eine Kontaktkarte an, die aus den ausgefüllten Feldern entsteht

Messenger öffnen braucht je nach App andere Angaben:

  • eine Seiten-ID für Facebook, VK und OK;
  • einen Benutzernamen für Instagram und Telegram;
  • eine Telefonnummer für WhatsApp und Viber.

Objekte zeigen, ausblenden und ändern​

Im EditorMacht
Objekt ein-/ausblendenblendet die Zielobjekte ein oder aus; bei einer Szene macht er diese Szene aktiv
Zustand setzenwechselt zu einem gespeicherten Zustand, weich, wenn Sie eine Dauer angeben
Eigenschaften überschreibensetzt einmalig ein paar Werte, wie ein vorübergehender Zustand

Animation​

Im EditorMacht
Animation abspielenspielt eine Animation aus der Zeitleiste ab, mit Schleifenmodus, Wiederholungen, Geschwindigkeit und Verzögerung
Animation stoppenstoppt eine

Animation abspielen kann eine Animation starten, die zu einem beliebigen Objekt gehört. So kann eine einzige Schaltfläche einen Ablauf starten, der mehrere Dinge gleichzeitig bewegt.

Um etwas zu verschieben, auszublenden oder umzufärben, legen Sie im Panel Animation eine Animation an und spielen sie dann mit diesem Schritt ab. Für eine einzelne Änderung reicht Zustand setzen mit einer Dauer.

Ältere Projekte können auch die Schritte Transformation, Deckkraft, Material, Knochen-Transformation und Eingebaute Animation enthalten. In diesen Projekten laufen sie weiter, aber der Editor bietet sie nicht mehr an. Material zum Beispiel blendet Farbe, Deckkraft, Leuchten und Oberflächeneinstellungen der Zielobjekte zu einem gespeicherten Material hin über und behält dabei Typ und Texturen jedes Slots.

Bewegung​

Im EditorMacht
Objekt folgenfolgt dauerhaft einem anderen Objekt; Sie legen Abstand, Versatz, Glättung und Tempo fest
Objekt ansehendreht sich zu etwas hin, ohne sich von der Stelle zu bewegen
Folgen beendenbeendet das Folgen und das Hinsehen
Entlang des Pfads fliegenbewegt sich entlang eines Pfads
Pfadflug beendenbeendet den Flug entlang des Pfads

Logik​

Im EditorMacht
Wenn — sonstprüft eine Bedingung und führt dann eine von zwei Schrittlisten aus
Variable setzensetzt eine Variable, addiert etwas dazu oder schaltet sie um
Signal sendensendet ein Signal an die ausgewählten Objekte oder die ganze Szene
Warten, dannwartet und führt dann die Schritte darin aus

Zeiger​

Zeiger sperren blendet den Mauszeiger aus und lässt die Szene seine Bewegung nutzen. Spiele aus der Ego-Perspektive brauchen das, damit der Zeiger das Fenster nicht verlässt. Zeiger freigeben gibt den Zeiger wieder frei.

Trigger und Schritte aus Plugins​

Ein Plugin, das Ihrem Projekt hinzugefügt wurde, kann eigene Trigger und Schritte mitbringen. Sie erscheinen in den Listen unter dem Namen des Plugins, und Sie nutzen sie wie die eingebauten.

  • Es gibt sie nur in Projekten, denen das Plugin hinzugefügt wurde.
  • Ein Trigger eines Plugins kann Einstellungen haben. Das Ereignis läuft dann nur, wenn sie passen. Lassen Sie eine Einstellung leer, um jedes Mal zu reagieren.
  • Wird das Plugin aus dem Projekt entfernt, werden seine Trigger nie ausgelöst und seine Schritte übersprungen.

Wie Sie eigene bauen, lesen Sie unter Laufzeitcode.

Bedingung hinzufügen​

Eine Bedingung ist ein Schritt: Wenn — sonst. Sie können einen solchen Schritt in einen anderen setzen, um mehr als zwei Ausgänge zu bekommen.

Was der Schritt prüft, wählen Sie im Feld Bedingung:

Im EditorPrüftFelder, die Sie ausfüllen
Immernichts; die Bedingung ist immer erfüllt—
Variableden Wert einer VariablenVariable, Vergleich, Wert
Abstandwie weit das Objekt dieses Ereignisses von einem anderen Objekt entfernt istObjekt, Vergleich, Schwelle
Zustandin welchem Zustand ein anderes Objekt istObjekt, Zustand
Sichtbarkeitob etwas sichtbar istObjekt, Erwartet
Zufalleine zufällige WahrscheinlichkeitSchwelle, in Prozent

So werden Werte verglichen:

  • 3 wird als Zahl gelesen, true als Ja/Nein, alles andere als Text.
  • == und != prüfen auf genaue Übereinstimmung.
  • >, >=, < und <= vergleichen Zahlen.

Variablen, Signale und Timer​

Variablen gelten für einen Besuch. Jedes Mal, wenn jemand Ihr Projekt öffnet, sind sie leer. Um ihnen Startwerte zu geben, setzen Sie sie in einem Ereignis mit dem Trigger Start. Ein Skript sieht dieselben Variablen als globale Variablen.

Signale lassen ein Ereignis andere starten, ohne dass Sie Schritte kopieren müssen. Zum Beispiel können mehrere Ereignisse auf level-complete warten, und jedes Ereignis kann dieses Signal senden. Wenn ein Signal sich immer wieder selbst auslöst, stoppt es nach acht Runden, damit die Szene nicht einfriert.

Timer (Verzögerung und Alle N Sekunden) starten, wenn ihr Objekt eingeschaltet wird, und werden zurückgesetzt, wenn es ausgeschaltet wird. Wird das Objekt wieder eingeschaltet, beginnt die Zählung von vorn. Verpasste Takte werden nicht nachträglich auf einmal ausgelöst.

Zustände​

Ein Zustand ist ein gespeichertes Aussehen eines Objekts: seine Position, Farbe, Sichtbarkeit und mehr. Der Schritt Zustand setzen wechselt zu diesem Zustand. Mit einer Dauer geschieht der Wechsel weich.

Nutzen Sie Zustände für einen Schalter, eine Hervorhebung oder eine Tür, die offen oder geschlossen ist.

Solange ein Zustand ausgewählt ist, landen Ihre Änderungen darin

Wenn einer der Zustände des Objekts ausgewählt ist, ändern Sie mit jeder Änderung am Objekt diesen Zustand. Beim Anlegen von Zuständen ist das genau richtig. Verwirrend wird es, wenn Sie vergessen haben, dass ein Zustand ausgewählt ist.

Mehr dazu unter Zustände.

Erneutes Tracking​

In AR-Szenen hat jedes Ereignis einen Modus für erneutes Tracking. Er legt fest, was passiert, wenn der Marker verloren geht und wiedergefunden wird:

  • die Schritte sofort neu starten;
  • sie nie wieder starten;
  • sie neu starten, sobald die laufenden Schritte fertig sind.

Weiter: Animation – Dinge in Bewegung bringen.