Zum Hauptinhalt springen

Physik

Physik lässt Objekte fallen, zusammenstoßen und abprallen. Hier erfahren Sie, was fest ist, woher die Kollisionsformen kommen und wie Sie ein Physikobjekt bewegen.

Das meiste funktioniert von selbst. Der Boden ist ohne jede Einrichtung fest, und Objekte, die Sie dynamisch machen, fallen.

Was als fest gilt​

Ein Objekt ist fest, wenn Sie ihm einen Starrkörper gegeben haben. Es ist auch fest, wenn es eine Form hat und nicht schon zu einem Körper weiter oben im Baum gehört. Der Boden hält Sie also auf, weil er ein Boden ist. Sie müssen ihn nicht eigens markieren.

So prüfen Sie ein Objekt:

Das Objekt hat…Ergebnis
einen Starrkörperes ist ein eigener Körper
einen Starrkörper mit dem Typ Keinenichts hier ist fest, auch nicht die Unterobjekte
einen Collider, auch einen unsichtbarenfest
Geometrie, und es ist sichtbarfest
Geometrie, aber es ist ausgeblendetnicht fest
nichts davon (eine Gruppe, ein Licht)nicht fest

Daraus folgen zwei nützliche Regeln:

  • Ein Collider bleibt fest, auch wenn er unsichtbar ist. So bauen Sie eine unsichtbare Wand: Fügen Sie einen Collider hinzu und keine Geometrie. Besucher stoßen dagegen, sehen aber nichts.
  • Geometrie ist nur fest, solange sie sichtbar ist. Blenden Sie eine Deko-Form aus, hält sie auch nichts mehr auf.
Ein ausgeblendeter Teil bleibt im Körper

Gehört eine Form einmal zu einem größeren Körper, bleibt sie darin, auch wenn Sie sie ausblenden. Um sie herauszunehmen, entfernen Sie das Objekt oder setzen Sie seinen Starrkörper auf Keine.

Kollisionsformen​

Hat ein Objekt einen Collider, nutzt die Physik ihn. Wenn nicht, erzeugt die Engine eine Form aus der Geometrie:

GeometrieKollisionsform
Quader, Kugel, Zylinder, Kapsel, Kegeldie passende Form
die drei Polyedereine exakte Außenform
Ebene, Kreis, Ring, Dreieckeine dünne Platte, von beiden Seiten fest
Torusein angenäherter Ring
Extrusion, Drehkörpereine Form, die genau dem Mesh folgt
ein importiertes 3D-Modellkeine, siehe unten
Importierte Modelle sind ohne Collider nicht fest

Das ist die häufigste Überraschung bei der Physik. Ziehen Sie ein GLB-Modell in eine Szene, machen Sie es dynamisch, und es fällt durch die Welt. Fügen Sie einen Collider hinzu, und es verhält sich richtig. Eine Box oder eine Kapsel ist fast immer die richtige Wahl.

Exakte Mesh-Formen nur für Dinge, die sich nie bewegen

Eine Mesh-Form (aus Extrusion, Drehkörper oder importierter Geometrie) ist für einen statischen Boden oder eine Wand in Ordnung. An einem bewegten Objekt rutscht sie durch andere Dinge hindurch und zittert. Nehmen Sie stattdessen eine Box, Kugel, Kapsel oder einen Zylinder. Einfache Formen sind außerdem viel schneller.

Wenn Sie ein Objekt skalieren, wird auch seine Kollisionsform skaliert.

Ein Physikobjekt bewegen​

Die Position eines dynamischen Körpers zu setzen bewirkt nichts

Wo ein dynamischer Körper ist, bestimmt die Physik. Sie überschreibt Ihre Änderung beim nächsten Rechenschritt, und es sieht aus, als wäre die Änderung ignoriert worden.

  • Um den Körper anzuschieben, nutzen Sie einen Impuls oder eine Kraft.
  • Um ihn an eine Stelle zu setzen, nutzen Sie einen Teleport: für Respawns, Checkpoints oder die Rückkehr zum Start.

In einem Skript nutzen Sie ctx.physics.teleport(...) und ctx.physics.applyImpulse(...). Siehe die ctx-Referenz. Für eine laufende Figur nehmen Sie die Spielsteuerung. Sie erledigt das alles für Sie.

Die Geschwindigkeit eines Objekts auszulesen kostet wenig, der Wert hinkt aber etwa einen Frame hinterher. Für die Frage „Bewegt es sich?“ reicht das, für genaue Rechnungen nicht.

Welteinstellungen​

Schwerkraft, Standardreibung, Elastizität und Solver-Qualität werden für das Projekt festgelegt. Sie können sie für jeden Raum überschreiben. Änderungen gelten sofort, ohne Neustart.

Jeder Körper kann Reibung und Elastizität selbst festlegen. Wenn Sie sie nicht ändern, nutzt er die Welteinstellungen.

Kollisionen​

Wenn sich zwei Objekte berühren, bekommen beide ein on-collide-Ereignis, und jedes erfährt, womit es zusammengestoßen ist. Im Ereignis können Sie bestimmte Objekte auswählen oder es für jedes Objekt offen lassen.

Kollisionen gehen nicht an übergeordnete Objekte

Ein Antippen wird an übergeordnete Objekte weitergereicht, eine Kollision nicht. Sie löst nur bei den Objekten aus, die sich wirklich berührt haben. Legen Sie das Ereignis auf das Objekt, das zusammenstößt.

Wo die Physik läuft​

  • Im Browser: ja.
  • In der AR Clip App (mobil): ja.
  • Im Editor: nein. Während Sie arbeiten, fällt nichts.

Wenn Ihr Projekt läuft, startet die Physik nur, wenn eine Szene sie braucht. Das ist der Fall, wenn die Szene etwas Dynamisches oder Kinematisches enthält, eine Spielsteuerung oder einen Körper zusammen mit einem Skript. Eine Szene mit nur statischen Objekten braucht keine Physik und öffnet sich deshalb schneller.

Erzeugt ein Skript einen Ball, während das Projekt schon läuft, startet die Physik in diesem Moment.


Weiter: Lichter — Lichttypen und was sich bei Übergängen fließend ändert.