Einheit - Kollisionen verstehen
Kollisionen in Unity werden vom eigentlichen Sprite selbst getrennt, als separate Komponenten angehängt und selbst berechnet. Lassen Sie uns nun die Ursache dafür lernen.
Everythingin deinem Spiel ist ein GameObject. Sogar die einzelnen Kacheln, aus denen Ihr Level besteht, sind GameObjects für sich.
Wenn wir jede Komponente als GameObject betrachten, erkennen wir, dass es eine geben könnte thousandsvon GameObjects in einer Szene, die auf irgendeine Weise miteinander interagieren. Sie können sich vorstellen, dass es für die Engine unpraktisch wäre, Kollisionen für jedes einzelne GameObject zu berechnen, wenn Unity jedem einzelnen GameObject Kollisionen hinzufügt.
Wir werden fortfahren und eine einfache „Wand“ hinzufügen, gegen die unser Spielercharakter kollidieren kann. Erstellen Sie dazu ein weiteres Sprite und skalieren Sie es mit dem Rect-Werkzeug. Wir werden es auch durch das rot färbenColor Eigenschaft in der Sprite Renderer-Komponente.
Jetzt geh zu Add ComponentGeben Sie im Inspektor "Box Collider 2D" ein. Klicken Sie auf die erste Komponente, die angezeigt wird, und eine neue Komponente sollte angezeigt werden.
Sie sehen eine hellgrüne Linie am Umfang Ihres GameObject. Dies ist dascollision boundary. Es ist das, was das Wirkliche definiertshape der kollidierbaren Objekte.
Wiederholen Sie dies auch mit unserem beweglichen GameObject.
Kollisionen in Unity beschränken sich natürlich nicht nur auf Boxen. Sie können in einer Vielzahl von Formen und Größen variieren und sind nicht unbedingt Nachbildungen der Objektparameter.
Sie können auch polygonale Formen annehmen.
Es ist nicht ungewöhnlich, dass Entwickler und Designer diese verwenden approximateFormen in ihren Kollisionsgrenzen, um ihre Kollider zu vereinfachen und unnötige Berechnungen für den Motor zu vermeiden. Wir werden bald lernen, wie wir mit unseren Collidern verschiedene Formen und Größen erstellen können.
Nachdem wir unsere Kollisionsgrenzen festgelegt haben, klicken Sie auf "Spielen" und sehen Sie es in Aktion.
Sie werden feststellen, dass sich unser bewegliches Objekt nicht normal verhält. Wir werden das Verhalten des Objekts in unserem nachfolgenden Kapitel diskutieren.