Jump to content
Unity Insider Forum

Unity's Joints: Fixed Joint


Recommended Posts

Hallo,

 

in dem Letzten Tutorial (http://forum.unity-c...nd-hinge-joint/) habe ich die Funktionalität von den Joints in Unity anhand des Hinge Joints erklärt. Mit diesem konnte man, ein Physikalisches Objekt anhand eines Punktes um eine Achse drehen.

 

Heute Zeige ich euch den Fixed Joint. Was ist also ein Fixed Joint. Nun ja, sicher habt ihr schon mal mit dem Gedanken gespielt, eine Zerstörbare Umgebung in eurem Spiel zu ermöglichen. Wir werden jetzt keine Hochhäuser einstürzen lassen, da für solche Dinge Unity einfach nicht ausgelegt ist, aber bis zu einem gewissen Punkt, können wir mittels Fixed Joint, unsere Umgebung zerstören.

 

In diesem Tutorial Zeige ich das anhand eines Flugzeuges, bei dem die Flügel, sobald sie auf etwas Treffen, abbrechen. Das ist alles hier sehr bescheiden und einfach dargestellt, da ich erstens kein Flugzeugmodell zur Hand habe und 2. ich alles so simpel wie möglich halten möchte.

 

So sieht also die Scene aus:

unbenanntr9tib1xjwp.jpg

 

Die Grünen Cubes sollen unser Flugzeug darstellen, die Violette Plane ist unser Boden. Die Hellen Cubes sind unsere Flügel, der dunklere in der Mitte das Kernstück des Flugzeuges.

 

Wichtig:

Rechts sehen wir, dass alle Cubes nicht miteinander verschachtelt sind. Das Plane Objekt, ist ein EmptyObjekt. Ich habe die Cubes nur zur Übersucht in ein Empty Objekt untergeordnet. Wichtig ist aber, dass die Cubes untereinander nicht miteinander verschachtelt sind, sondern alle auf einer Ebene angeordnet sind.

 

 

Los geht's!

 

Nun schauen wir uns das ganze mal an. Wir haben ein Flugzeug. Da unser Flugzeug mit der Physik reagieren soll, fügen wir nun dem dunkelgrünen Cube einen Rigidbody hinzu. Normalerweise könnte man nun die anderen Cubes, den dunklen Cube unterordnen und wir wären fertig. Somit haben wir zwar ein Flugzeug, welches auf Physik reagiert, aber noch keines, bei welchem wir abbrechende Flügel besitzen. Die Flügel wären jetzt starr und sind fest mit dem dunkleren Cube verbunden.

Doch wir wollen Flügel, welche abbrechen, sobald etwas gegen ihnen stößt, oder wenn das Flugzeug einen Berg oder was auch immer schleift, oder trifft.

Dann geht das ganze nicht mehr so leicht.

 

Da wir unsere Cubes also nicht verschachteln können, müssen wir den Hellgrünen Cubes nun auch einen Rigidbody hinzufügen, damit diese ebenfalls Physikalische Eigenschaften besitzen.

 

Wenn wir jetzt mal die Scene starten, so fallen alle Cubes auf den Boden. Wenn wir das Plane Objekt mit den untergeordneten Cubes etwas an der X Achse lang drehen, und dann mal starten, prallen alle Objekte auf den Boden und fallen einfach um, wie kleine Bauklötze.

 

unbenannthtrdij2kag.jpg

 

Tja wie wir sehen, kommen wir so auch nicht weiter. Die Hellen Cubes, besitzen zwar Physikalische Eigenschaften, sind aber nicht mit dem Dunkleren Cube verbunden. Diese sollen ja erst abbrechen, wenn etwas gegen sie stößt, oder Kräfte wirken, die sie zum abbrechen bringen.

 

Jetzt kommen nun die Fixed Joints ins Spiel.

Heften wir also einfach mal an alle hellen Cubes, die Fixed Joint Komponente an.

Das machen wir, in dem wir alle 4 Hellen Cubes makieren und im Component Menü unter Physics, die Fixed Joint Componente wählen.

Alle 4 Cubes sollten also nun die Fixed Joint Komponente besitzen.

 

Schauen wir uns das mal an:

unbenannte627idnlqf.jpg

 

Im Gegensatz zu den Hinge Joints haben wir lediglich nur 3 Parameter, die wir in dieser Komponente verändern können.

Wenn wir aber nun mal die Scene starten, sehen wir, dass der Dunkel grüne Cube nach unten fällt. doch die hellgrünen Cubes bleiben starr in der Luft stehen. Das soll doch nicht so sein. Was stimmt da also nicht?

 

schauen wir uns erstmal den ersten Parameter an. Und zwar Connected Body. Diesen habe ich in den ersten Tutorial schon mal angeschnitten, jedoch noch nicht ausführlich erläutert. Mit Connected Body haben wir die Möglichkeit, mehrere Rigidbodys miteinander zu verknüpfen. Das heißt, wir können einfach einen anderen Rigidbody, an dem sich unser Objekt mit dem Fixed Joint Orientieren soll, dort zuweisen. Da unsere Flügel sich also am den Dunkleren Cube orientieren sollen, da diese ja in echt am Flugzeug dort angeschraubt sind, weisen wir, dem Connected Body Parameter, einfach den Dunkleren Cube zu.

Dies müssen wir bei jedem Flügel machen.

 

Wenn wir jetzt die Scene starten, so sehen wir, dass unser Flugzeug wieder wie es sein soll komplett auf den Boden fällt. Man sieht ebenfalls, dass die Flügel beim Aufprall etwas wackeln und federn. Ob das jetzt gut oder schlecht ist, sei mal dahin gestellt. Um solche Effekte einzustellen, sollte man auf einen Configurable Joint zurückgreifen, doch jetzt geht es erst einmal um den Fixed Joint.

 

Wir sehen also, unser Flugzeug bleibt ganz. Doch egal wie stark fremde Kräft auf unserem Flugzeug wirken, unsere Flügel bleiben am Flugzeug dran.

 

Das können wir aber nun bei dem nächsten Parameter einstellen.

Und zwar dem Break Force.

 

Dieser Parameter gibt an, wie stark unsere Flügel am Flugzeug "festgenagelt" sind.

Da muss man ein wenig herumexperimentieren, bis man die Perfekte Größe hat.

ich stelle mein Break Force in diesem Fall mal auf 5.

 

Und siehe da, beim Scenen start, prallt das Flugzeug auf den Boden. Da ich mein Flugzeug etwas rotiert habe, Knallt es mit dem vorderen Flügel zuerst auf den Boden. Und siehe da, er bricht vom Flugzeug ab, während die anderen, die nicht so stark auf den Boden geprallt sind, wackeln und sich abfedern, jedoch standhaft bleiben.

 

unbenanntga5rnhxpvs.jpg

 

So ungefähr sollte das aussehen.

 

Beim Letzten Parameter "Break Torque" geht es um die Maximale Rotation, welche der Flügel aushalten soll.

Das kann man etwa mit einem Zahnarzt besuch vergleichen ;)

Wenn der Arzt den Zahn ziehen muss, dreht er diesen hin und her, damit dieser endlich nachgibt.

So etwa ist das hier auch.

 

Wenn sich flügel sich (wieso auch immer) dreht bzw eine Kraft versucht ihn zum drehen zu bringen, kann man mit Break Torque einstellen, wann der Flügel nachgeben soll und abfällt.

 

 

Wie ihr seht, ist vieles in dem Hinge Joint ähnlich und das meiste habe ich in dem vorherigen Tutorial auch schon grob erläutert.

Ich hoffe es hat euch trotzdem gefallen und weitergeholfen :)

 

Mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...