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örper | es ist ein eigener Körper |
| einen Starrkörper mit dem Typ Keine | nichts hier ist fest, auch nicht die Unterobjekte |
| einen Collider, auch einen unsichtbaren | fest |
| Geometrie, und es ist sichtbar | fest |
| Geometrie, aber es ist ausgeblendet | nicht 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.
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:
| Geometrie | Kollisionsform |
|---|---|
| Quader, Kugel, Zylinder, Kapsel, Kegel | die passende Form |
| die drei Polyeder | eine exakte Außenform |
| Ebene, Kreis, Ring, Dreieck | eine dünne Platte, von beiden Seiten fest |
| Torus | ein angenäherter Ring |
| Extrusion, Drehkörper | eine Form, die genau dem Mesh folgt |
| ein importiertes 3D-Modell | keine, siehe unten |
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.
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
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.
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.