So verwenden Sie Verbindungen der Physik-Engine in CocosCreator

So verwenden Sie Verbindungen der Physik-Engine in CocosCreator

CocosCreator Version 2.4.2

Mausgelenk Mausgelenk

Cocos-Dokumentdefinition:

Mit dem Mausgelenk kann ein Punkt auf einem starren Körper einer bestimmten Position im Weltkoordinatensystem zugeordnet werden. Um eine weiche Einschränkung aufzuerlegen, kann den Mausgelenken ein maximaler Radius zugewiesen werden.

Das Mausgelenk registriert Mausereignisse automatisch mithilfe des Mausregionknotens und bewegt den ausgewählten Körper bei Berührungsbewegungsereignissen.

Hinweis: Mausgelenke werden im Allgemeinen nur in Testumgebungen verwendet.

veranschaulichen:

Fügen Sie einem beliebigen cc.Node ein Mausgelenk hinzu, setzen Sie mouseRegion auf Canvas und stellen Sie Elastizität und Dämpfung auf 1 ein.

Mausregion: Mausregistrierungsknoten

Frequenz: Elastizität, die die Stärke des Ziehens eines Objekts angibt. Je höher der Wert, desto größer die Elastizität. Es ist wie ein Gummiband, das an einen Ball gebunden ist. Je stärker Sie am Gummiband ziehen, desto schneller bewegt sich der Ball.

DampingRatio: Dämpfung, die den Widerstand angibt, auf den ein Objekt trifft, wenn daran gezogen wird. Es ist, als ob 1 einen Ball mit einem Gummiband in der Luft zieht und 10 einen Ball mit einem Gummiband im Wasser zieht. Je stärker die Dämpfung, desto langsamer bewegt sich der Ball.

AbstandGelenk Abstand Gelenk

Cocos-Dokumentdefinition:

Distanzgelenke beschränken die beiden durch das Gelenk verbundenen Körper auf eine feste Länge. Sie können es sich wie einen masselosen, festen Stab vorstellen.

veranschaulichen:

Die beiden starren Körper können nur um ihre jeweiligen Knoten rotieren, und der Abstand zwischen den beiden Knoten bleibt unverändert.

ConnectedBody: Der starre Körper am anderen Ende der Verbindung.

Anker: Der starre Körperankerpunkt, an dem sich das Gelenk befindet

ConnectedAnchor: Der starre Ankerpunkt am anderen Ende der Verbindung

CollideConnected: Ob die starren Körper an beiden Enden der Verbindung kollidieren

Entfernung: Entfernung, 200 Pixel

Frequenz: Elastizität. Wenn der Wert auf 10 eingestellt ist, entsteht zwischen den beiden starren Körpern eine elastische Kraft, so als ob eine Feder die beiden Objekte verbindet. Wenn der Wert auf 0 gesetzt ist, bedeutet dies, dass der Abstand von 200 Pixeln immer unverändert bleibt, genau wie die Wurzeln eines Baumes.

Dämpfungsverhältnis: Dämpfung

Das Gelenk muss zwei starre Körper verbinden. Die beiden Punkte und die gepunktete Linie in der Abbildung stellen die Ankerpunkte der starren Körper und die Verbindungslinien des Gelenks dar.

Der Abstand beträgt 200 und die beiden starren Körper halten immer einen Abstand von 200 ein. Und sie können nur auf ihren jeweiligen Knoten rotieren.

Anwendung:

Der Abstand ist fest, die Knoten an beiden Enden können rotieren und die Gelenke können elastisch eingestellt werden

1. Ein Ende ist fest, es kann zu einem großen Pendel gemacht werden

2. Ein Ende ist fest, elastisch, elastisches großes Pendel

motorisches Gelenk

Cocos-Dokumentdefinition:

Motorgelenke dienen zur Steuerung der Relativbewegung zwischen zwei starren Körpern. Ein typisches Beispiel ist die Steuerung der Bewegung eines dynamischen starren Körpers relativ zum Boden.

veranschaulichen:

Das Motorgelenk schränkt zwei starre Körper ein, sodass ihre relativen Positionen und Winkel konstant bleiben. Wenn sich Position und Winkel von BodyA ändern, bewegt sich BodyB mithilfe der Kräfte von MaxForce und MaxTorque in Richtung der Position und des Winkels von BodyA.

Verbundener Körper: Der starre Körper am anderen Ende der Verbindung

CollideConnected: Ob die starren Körper an beiden Enden der Verbindung kollidieren

LinearOffset: Der Positionsversatz des anderen starren Endkörpers relativ zum starren Startkörper. Das ist die Zielposition von BodyB.

AngularOffset: Der Winkelversatz des anderen starren Körpers relativ zum Ausgangs-starren Körper. Dies ist der Zielwinkel von Körper B.

MaxForce: Die maximale Kraft, die auf den starren Körper ausgeübt werden kann.

Max. Drehmoment: Die maximale Drehmomentkraft, die auf den starren Körper ausgeübt werden kann.

CorrectionFactor: Positionskorrekturfaktor, Bereich [0, 1]. Der Standardwert ist 0,3. Erleichterungsfaktor für KörperB, um sich in Richtung KörperA zu bewegen. Je größer der Wert, desto schneller die Lockerung.

Der lineare Versatz beträgt 200, was bedeutet, dass die Positionen der beiden starren Körper um 200 versetzt sind. Sobald sie von dieser Grenze abweichen, bewegen sich die beiden starren Körper mit einer maximalen Kraft von 300 in eine 200 voneinander entfernte Position.

Angularoffset ist 0 und der Winkelversatz ist 0. Sobald dieser Grenzwert überschritten wird, verwenden die beiden starren Körper die Kraft von Maxtorque 100, um den Winkelversatz der beiden starren Körper auf 0 zu halten.

Anwendung

Verwenden Sie Kraft und Drehmoment, um die Positionen und Winkel der beiden starren Körper konsistent zu halten

1. Ein Ende ist fixiert, es kann zu einem Becher oder einem Boxsack gemacht werden, der auf den Boden gelegt wird

PrismaticJoint Verschiebungsfuge

Cocos-Dokumentdefinition:

Das Translationsgelenk bewirkt, dass der starre Körper nur in eine Richtung bewegt werden kann. Sie können Gelenkgrenzen aktivieren, um den Bewegungsbereich des starren Körpers festzulegen, oder Motoren aktivieren, um Gelenkmotoren zum Antreiben der Bewegung des starren Körpers zu verwenden.

veranschaulichen:

Es kann sich nicht drehen und nur auf eingeschränkten Koordinatenachsen bewegen.

LocalAxisA: Gibt die Richtung an, in die sich der starre Körper bewegen kann. Hier ist X=1, was bedeutet, dass es sich auf der X-Achse nur nach links und rechts bewegen kann.

Referenzwinkel: relativer Winkel. Der relative Winkel zwischen den starren Körpern an beiden Enden der Verbindung.

EnableLimit: Gibt an, ob die Distanzbegrenzung der Verbindung aktiviert werden soll. Wenn aktiviert, kann sich der starre Gelenkkörper nur innerhalb des eingeschränkten Bereichs von LowerLimit und UpperLimit bewegen. Dies bedeutet, dass Sie sich auf der X-Achse nur zwischen 200 und 400 Pixeln bewegen können.

EnableMotor: Gibt an, ob der Motor aktiviert werden soll. Wenn diese Option aktiviert ist, bewegt sich der starre Körper mit der Kraft von „maxmotorforce“ in Richtung der angegebenen Koordinatenachse, bis die Geschwindigkeit die Motorgeschwindigkeit erreicht.

Sie können sehen, dass sich der starre Körper nur auf der x-Achse bewegen kann und der Bewegungsbereich auf 200-400 Pixel begrenzt ist. Dies kann in einigen horizontalen Spielen verwendet werden, bei denen sich Gelände oder Mechanismen nur nach links, rechts oder in eine bestimmte Richtung bewegen können.

Anwendung

Begrenzt die Bewegung in eine bestimmte Richtung, kann nicht rotieren, optionaler Motor, optionaler Grenzbereich

1. Schalten Sie den Motor ein und begrenzen Sie die Bewegung der X-Achse nach links und rechts. Begrenzen Sie den Bewegungsbereich auf zwei Endpunkte. Es kann ein Gleitschienenfahrzeug gebaut werden, das sich hin und her bewegt.

2. Schubladen

revolveGelenk

Cocos-Dokumentdefinition:

Ein Drehgelenk ermöglicht die Drehung zweier starrer Körper um einen Punkt. Sie können den maximalen und minimalen Drehwinkel begrenzen, indem Sie Gelenkgrenzen aktivieren.

Sie können durch Einschalten des Motors eine Drehmomentkraft anwenden, um die Relativgeschwindigkeit der beiden starren Körper an diesem Punkt zu erhöhen.

veranschaulichen:

Ähnlich wie andere Gelenke begrenzen sie einige Winkel- und Kraftparameter.

Der mittlere ist der starre Körper am anderen Ende der Verbindung und sein Typ ist statisch. Der an das Gelenk gebundene starre Körper wird mit einer Kraft von 1000 in einem Abstand von (13,202) vom starren Körper am anderen Ende des Gelenks gedreht.

Wir verwenden Drehgelenke zum Bau eines Autos. Die rote Farbe entspricht der Karosserie des Autos und die weiße Farbe entspricht den Rädern.

Der rote Knoten ist an revoluteJoint gebunden. Der Knoten ist an zwei revoluteJoint-Gelenke gebunden. Die verbundenen Körper der Gelenke sind zwei starre weiße Quaderkörper, die Rädern entsprechen.

Jedes Rad hat eine Kraft von max. Motordrehmoment 500 und eine maximale Geschwindigkeit von Motorgeschwindigkeit 200.

Anwendung

Zwei starre Körper rotieren um einen Punkt, mit optionalem Rotationswinkel und Motor

1. Ein Ende ist fest, und das andere Ende wird durch den Motor zum Drehen, elektrischen Lüfter, Rad eingeschaltet

2. Schalten Sie den Motor aus und stellen Sie den Rotationsbereich nur so ein, dass er die Gelenke des menschlichen Körpers bildet

3. Seil

Warum werden bei Seilen keine Seilverbindungen verwendet? Weil Seilverbindungen den Rotationsbereich, den Positionsbereich oder die Rotationsknoten nicht einschränken können.

SeilGelenk

Cocos-Dokumentdefinition:

Die Seilverbindung gibt lediglich den maximalen Abstand zwischen den beiden starren Körpern an und hat keine weiteren Auswirkungen. Hinweis: Dies kann zu unerwarteten Effekten führen, wenn Sie versuchen, die Länge einer Verbindung dynamisch zu ändern.

veranschaulichen:

maxlength: die maximale Länge des Seils

Es ist nichts Besonderes daran. Sie haben keine Feder, keinen Motor. Es ist wie ein Seil, das zwei starre Körper verbindet, begrenzt auf die maximale Länge von 200.

Anwendung

Begrenzen Sie die maximale Länge

1. Jo-Jo

2. Gassi gehen, Hundeleine

WeldJoint Schweißverbindung (Schweißverbindung, Klebeverbindung)

Cocos-Dokumentdefinition:

Eine Schweißverbindung entspricht dem Zusammenkleben zweier starrer Körper. Bei Schweißverbindungen kann es zu Verzerrungen kommen, da der Constraint-Solver die Werte nur approximiert.

veranschaulichen:

Wie zwei starre Körper, die durch eine Stahlstange zusammengeschweißt sind. Im Vergleich zur Distanzverbindung können sich die beiden starren Körper der Distanzverbindung an ihren jeweiligen Knoten drehen, während sich die beiden starren Körper der Schweißverbindung nicht an ihren jeweiligen Knoten drehen können.

Wenn Sie die Frequenz der elastischen Kraft beispielsweise auf Frequenz = 0,5 einstellen, kann sich der starre Gelenkkörper an seinem eigenen Knoten drehen, der starre Körper am anderen Ende kann sich jedoch nicht drehen.

Anwendung

Zwei starre Körper werden zusammengeschweißt (geklebt), und die Elastizität kann eingestellt werden

1. Starre Körper können zusammengeschweißt werden

2. Es kann auch verstanden werden, dass verschiedene starre Körper zusammengeklebt werden

3. Ein Spiel

4. Nach dem Einstellen der Elastizität kann der starre Körper, in dem sich das Gelenk befindet, rotieren. Beispielsweise kann sich ein weiches Rechteck verbiegen.

Der aus Schweißverbindungen bestehende Ring kann nach Erreichen der Elastizität gebogen werden.

Radgelenk Radgelenk

Cocos-Dokumentdefinition:

Radgelenke bieten zwei Freiheitsgrade: Drehung und Verschiebung entlang einer angegebenen Position in einer Richtung. Sie können Motoren verwenden, um die Rotation eines starren Körpers anzutreiben, indem Sie Gelenkmotoren einschalten. Das Radgelenk ist speziell auf die jeweiligen Kfz-Typen abgestimmt.

veranschaulichen:

Radgelenke, bestehend aus Drehgelenken und Prismengelenken, werden zur Simulation von Kraftfahrzeugrädern verwendet.

LocalAxis: Gibt die Richtung an, in die sich der starre Körper bewegen kann

MaxMotorT...: Die maximale Drehmomentkraft, die auf den starren Körper ausgeübt werden kann

Motordrehzahl: Erwartete Motordrehzahl

EnableMotor: Aktiviert den Motor

Frequenz: Elastizitätskoeffizient

Dämpfungsverhältnis: Dämpfung

Im Vergleich zum RevoluteJoint-Gelenk verfügt es ebenfalls über einen Motor, weist jedoch zusätzlich eine erhöhte Elastizität und eine eingeschränkte Bewegungsrichtung auf.

Frequenz Der Elastizitätskoeffizient ist wie der Stoßdämpfer eines Autoreifens, der es ihm ermöglicht, zu wackeln, wenn sich das Rad bewegt.

Die lokale Achse A begrenzt die Richtung, wodurch die Richtung der stoßdämpfenden elastischen Kraft nur auf nach oben und unten beschränkt werden kann.

In der folgenden Abbildung ist der rote starre Körper an zwei WheelJoint-Gelenke gebunden und ConnectedBody ist auf zwei kreisförmige starre Körper eingestellt.

Der Motor hat ein Drehmoment von 200 und eine Höchstgeschwindigkeit von 1000, was der Antriebskraft und Höchstgeschwindigkeit der Räder entspricht.

Der Elastizitätskoeffizient beträgt 5, die Dämpfung 0,1 und die begrenzte Richtung ist die Y-Achse, was dem Stoßdämpfungssystem dieses Autos entspricht.

Setzen Sie die Ankerpunkte auf den verbundenen Körper, der der Mittelpunkt des Rades ist (wenn das Radgelenk ausgewählt ist, wird eine blaue Markierung angezeigt. Dieses Blau ist der Anker. Ziehen Sie die blaue Markierung einfach in die Mitte des kreisförmigen starren Körpers).

Wählen Sie zwei Räder aus und stellen Sie den Reibungskoeffizienten des kreisförmigen starren Körpers auf 0,8 und den Elastizitätskoeffizienten auf 0,2 ein.

Wenn der Reibungskoeffizient 0 ist, bedeutet dies, dass die Räder ständig auf dem Boden rutschen und sich nicht bewegen können.

Oben finden Sie Einzelheiten zur Verwendung der physischen Engine-Verbindungen in CocosCreator. Weitere Informationen zu den physischen Engine-Verbindungen von CocosCreator finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Unity3D realisiert die Bewegung des Kameraobjektivs und begrenzt den Winkel
  • Detaillierte Erklärung zur Verwendung mehrerer Timer in CocosCreator
  • CocosCreator - modulares Lernskript
  • So verwenden Sie die JSZip-Komprimierung in CocosCreator
  • CocosCreator-Tutorial für den Einstieg: Erstellen Sie Ihr erstes Spiel mit TS
  • Interpretation des CocosCreator-Quellcodes: Engine-Start und Hauptschleife
  • CocosCreator allgemeines Framework-Design Ressourcenmanagement
  • So erstellen Sie eine Liste in CocosCreator
  • So verwenden Sie http und WebSocket in CocosCreator
  • Analyse des neuen Ressourcenmanagementsystems von CocosCreator
  • So verwenden Sie cc.follow zur Kameraverfolgung in CocosCreator

<<:  Tomcat verwendet Log4j zur Ausgabe des catalina.out-Protokolls

>>:  Kurze Analyse von MySQL Union und Union All

Artikel empfehlen

Detaillierte Bereitstellung des Alibaba Cloud Servers (grafisches Tutorial)

Ich habe vor Kurzem Front-End- und Back-End-Techn...

So konfigurieren Sie den virtuellen Nginx-Host in CentOS 7.3

Experimentelle Umgebung Eine minimal installierte...

Vue-Überwachungseigenschaften und berechnete Eigenschaften

Inhaltsverzeichnis 1. Überwachungseigenschaften a...

Das WeChat-Applet implementiert einen Videoplayer, der einen Bullet-Screen sendet

In diesem Artikel wird der spezifische Code für d...

So stellen Sie FastDFS in Docker bereit

Installieren Sie Fastdfs auf Docker Mount-Verzeic...

HTML-Grundstruktur_Powernode Java Academy

Wenn wir lernen, Webseiten zu entwickeln, ist das...

Analyse der Prinzipien von MySQL Dirty Page Flush und Shrinking Table Space

MySQL-Dirty-Pages Aufgrund des WAL-Mechanismus er...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

Vue verwendet Filter zum Formatieren von Daten

In diesem Artikelbeispiel wird der spezifische Co...

Zusätzliche Anweisungen zur Verwendung von Gettern und Aktionen in Vuex

Vorbemerkungen 1.Unterschiede zwischen Vue2.x und...

Eine kurze Diskussion über den Unterschied zwischen src und href in HTML

Einfach ausgedrückt bedeutet src „Ich möchte dies...

...