Jump to content

Blender - Objektbeschränkungen


Empfohlene Beiträge

Hallo,

... nachdem ich das Thema hier angestoßen habe und anscheinend auch Interesse besteht hier mal einen kleinen Einblick in die Möglichkeiten...

... da hier im Forum immer wieder angesprochen wurde, daß es mitunter etwas mühsam ist voneinander abhängige Animationen zu erstellen, habe ich mich damit beschäftigt und bin auf die "Objektbeschränkungen" in Blender gestoßen, mit denen man doch einiges vereinfachen kann...

Als erstes Beispiel die Animation von einem Riesenrad um die prinzipiellen Vorgänge zu zeigen...

Das Rad "Rad" hat als Besonderheit sogenannte "Vertexgruppen". Diese dienen später als Referenzobjekte für die angehängten Gondeln
(Anmerkung: Im Bild sind nur die ersten 4 markiert, insgesammt sind es 9)
Hinweis: Vertexgruppen umbenennen geht nur mit einem Doppelklick auf den Namen... nicht über den Rechtsklick!
Bild01.thumb.jpg.46364684bd986b511c3c0ea8be6cbc2c.jpg

... eine Vertexgruppe ist nichts anderes als ein eingefügtes Mesh im Edit-Mode... ich wähle gerne einen Kreis mit 3 Eckpunkten kann aber auch etwas anderes sein (sollte keine Fläche beinhalten, sondern nur Eckpunkte...).
Erzeugt wird eine Vertexgruppe mit der Tastenkombination "STRG + G" ("Zur Gruppe übertragen" erzeugt eine neue Vertexgruuppe)
Bild01a.jpg.06de9ed4f83541d951ed810dff952456.jpg

Die Gondel "Gondel0" kann prinzipiell gesehen an einer beliebigen Stelle erzeugt werden... ich habe den Nullpunkt von "Rad" gewählt.
Bild02.thumb.jpg.76a2e51407c266201e6174f62ec24525.jpg

Nun wird die Animation für "Rad" festgelegt (eine Umdrehung)...
Bild03.jpg.a688b78ac96ffee19ba3731dce8c5407.jpg

Die Objektbeschränkung "Position kopieren" wird "Gondel0" zugewiesen...Bild04.thumb.jpg.595241b4d3507bd7ca049a18e4159df6.jpg

Als "Ziel" wird "Rad" ausgewählt und als Vertexgruppe "Steg0"... "Gondel0" ist nun mit Ihrem Nullpunkt(!) bei "Steg0" und somit mit der Animation von "Rad" verknüpft...
Bild05.thumb.jpg.9932daeabcea676830251bb442e74a1d.jpg

Wird die Animation nun gestartet, dreht sich "Gondel0" mit und hängt immer nach unten...
Bild06.jpg.c3a2a45c33b5f48994ea26ec96fb6ae7.jpg

"Gondel1" ist Duplikat von "Gondel0" (STRG +D) und umbenannt von "Gondel0.001" zu "Gondel1". Die Objektbeschränkung wird mit dupliziert nur als Vertexgruppe muß nun "Steg1" ausgewählt werden...
Bild07.thumb.jpg.855ad28a82c3db4fe48f2e193a7ffeb4.jpg

So werden weitere Gondeln erzeugt (... Auswahl der richtigen Vertexgruppe nicht vergessen!)...
Bild08.thumb.jpg.f51a8fafb8c1ccf04bc70b18d0924664.jpg

Wenn die Animation nun läuft ist die unterste Gondel nun unterhalb der x-y Ebene... also in z zu tief...
Bild09.jpg.fedf423301bdd35c2b60e9a8181f0ec9.jpg

Da die Objektbeschränkung "Position kopieren" ist, muß nun nur das Rad in der z-Position nach oben geschoben werden...
... schon hat die Gondel "Bodenfreiheit"... Eine Verschiebung des Rades "zieht" alle Gondeln nun mit sich... deshalb habe ich auch die Kopie der y-Position zugelassen... einfach mal zum herumexperimentieren... und nebenher noch einen Schreibfehler im Bild weiter oben entdeckt:$ "nichterforderich" ist nicht ein Wort...)
Bild10.thumb.jpg.0eeb1f72afb5a40c2123976faae953f5.jpg

Hinweis: bei "ernsthaften" Animationen unnötige Parameter vermeiden! ... ( in diesem Beispiel Y-Position abwählen)

"Objektbeschränkungen" die direkt mit einer Animation verbunden sind (dazu später mehr) werden vom .x -Exporter mit ausgeführt (es braucht also nicht "Apply Modifieres" ausgewäht werden (... ein Modifiere ist sowieso etwas anderes...)
Bild11.jpg.372a8f8096fe37f85834e518591e1bd4.jpg

Das Modell mit der Animation funktioniert nun im MBS... (zumindest bei mir:D)
Bild12.jpg.c27833cfa2d2fde4e3af428b58179ec9.jpg

Hinweis: ... dies ist ein einfaches Beispiel, das so funktioniert... bei komplexeren Animationen gibt es noch ein paar andere Dinge zu beachten...
... dazu später mehr... alles auf einmal ist vielleicht auch etwas viel...

Wichtig!... meine ersten Versuche habe ich mit Blender 2.73 gemacht und hatte unter bestimmten Umständen etwas größere Probleme...
... ich bin nun bei Blender 2.79 (bisher) ohne Probleme...

Wer sich mal versuchen möchte... ich hänge mal noch die .blend Datei (Blender 2.79) mit bei...
... das Rad und die erste Gondel sind mit drin... alles andere habe ich herausgelöscht...:);)

Riesenrad.zip

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Verdammt ist das gut! Um das zu studieren, brauche ich noch ein bisschen, aber das ist wieder mal so super, was mit Blender machbar ist, super danke für diese Erkenntnisse! Bisher hatte ich Vertex-Groups nur für das zuweisen von Materials gesehen.

Das ist so gut, dass du das bitte für das Wiki verfügbar machst! Ich weiß nicht, ob SketchUp-Nutzer das auch so umsetzen können, aber ich glaube, dass das einmal mehr für Blender spricht.

Manno, bin gerade so mit der Fertigstellung des 403/404 beschäftigt... wo bekommt man wohl etwas Zeit gekauft... natürlich nicht von den "grauen Herren" (Momo)

Was dieses 3D-MBS so alles auslöst, ist schon genial...

Gruß und Dankeschön
Reinhard

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

da hast du aber etwas tolles herausgefunden. Ich bin schon gespannt, wie das mit einem Triebwerk für Dampfloks aussieht, da will ich ja noch eine für die Secundärbahn bauen.

Übrigens: Während du das erforscht hast, habe ich mir beigebracht, wie man in Blender einen Textur-Atlas erzeugen kann. Dieser nutzt die Fläche der Grafik zu (fast immer) 100% aus.

HG

Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

... mein Lieblingsthema ist der Kurbeltrieb mit dem ich mich immer wieder beschäftige...
... ich habe den Versuch gemacht einen Kurbeltrieb aus nur einer Animation abzuleiten...

Mein Versuchsobjekt...
Bild00.thumb.jpg.12a3181551ecf88006ab91e0ef3ebe36.jpg

..."RadA" hat folgende Vertexgruppen...
Bild01.thumb.jpg.9d1384bc8a0405e1af614d2d4bedd9fa.jpg

... die in der y-Richtung in ihrer Position an die "Anschlußelemente" angepasst sind.
Bild02.jpg.0f8439c511329bb4301decb405eed670.jpg

Vertexgruppen von "RadB"...
Bild03.thumb.jpg.37389d21dc87b47403ae09e7abd33202.jpg

... auch hier in y-Richtung abgestimmt auf die Anschlußobjekte.
Bild04.jpg.8526e49a5fd09055f96c1f817aeb9774.jpg

Animationsdefinition von "RadA"...
Bild05.jpg.ca4bc9936b5e541fa6e34a75da4e9f8b.jpg

... und die Objektbeschränkung von "RadB" (Rotation kopieren)...
(zugegeben die Animation von "RadB" ist einfach zu erstellen (gleiche Definition wie "RadA") aber ich wollte ja mit einer Animationsdefinition auskommen...)
Bild06.jpg.a77520687d90f032cc8a80422359be48.jpg

Objektbeschränkung von "SchubstangeV" (Position kopieren)
(Anmerkung: Die Auswahl von Position "y" ist eigentlich nicht notwendig... ich habe sie trotzdem gesetzt, da es noch eine "SchubstangeH" an einer anderen y-Position gibt... damit sind die Vorbereitungen getroffen "SchubstengeH" ais Duplikat von "SchubstangeV" zu erzeugen...
Bild07.thumb.jpg.be4bd9921464c0798240263512b15e58.jpg

Vertexgruppe von "AntriebsstangeV"...
Bild08.thumb.jpg.885593c0294c4f64bbc8dd90a67bc345.jpg

... und die (erste) Objektbeschränkung von "AntriebsstangeV" (Position kopieren)
Anmerkung: y-Position auch nur wegen späterem Duplikat.
Bild09.thumb.jpg.b1e84a9f37317d96e3a62de5652ff559.jpg

Vertexgruppe von "KreuzkopfV"...
Bild10.thumb.jpg.0c23207f3b43701a621780cd84720bb0.jpg

... und die Objektbeschränkung von "KreuzkopfV" (Position kopieren)
Anmerkung: y-Position auch nur wegen späterem Duplikat.
Bild11.thumb.jpg.bae04a5872799c563f3352df20df9c90.jpg

Da die Antriebsstange während der Drehung immmer auf den Kreuzkopf ausgerichtet sein muß...
... die zweite Objektbeschränkung von "AntriebsstangeV" (Verfolgung dämpfen).
Bild12.thumb.jpg.6ccfa5c088f17340351c7b9a275a5660.jpg

Die Objektbeschränkung von "KolbenstangeV" (Position kopieren)
Anmerkung: y-Position auch nur wegen späterem Duplikat.
Bild13.thumb.jpg.0bb26fd46519460244aaa4e15e3beace.jpg

"ZylinderV" ist zur Abwechslung mal ganz einfach nur positioniert...
Bild14.jpg.a1b93bb2820943f971e10e65c21791db.jpg

... Fortsetzung folgt...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Objektbeschränkungen werden beim duplizieren von Objekten mit kopiert, deshalb wird das hintere Gestänge aus dem vorderen abgeleitet...

"SchubstangeH" ist ein Duplikat von "SchubstangeV" und umbenannt... die Objektbeschränkung muß auch noch angepasst werden.
Bild15.thumb.jpg.0b869f9ade197a3895c08906376a3bfd.jpg

Achtung!
Bevor die "AntriebsstangeV" dupliziert wird, muß die 2.Objektbeschränkung (Verfolgung dämpfen) deaktiviert werden!

"AntriebsstangeH" ist ein Duplikat von "AntriebsstangeV" und umbenannt... die erste Objektbeschränkung muß auch noch angepasst werden.
Bild16.thumb.jpg.81627ac894155c2d3e447ed130acbe80.jpg

Hinweis: Nicht vergessen 2. Objektbeschränkung von "AntriebsstangeV" wieder aktivieren.

"KreuzkopfH" ist ein Duplikat von "KreuzkopfV" und umbenannt... die Objektbeschränkung muß auch noch angepasst werden.
Bild17.thumb.jpg.996984d27e9d4aa552795f1367267d33.jpg

Nun kann die zweite Objektbeschränkung von "AntriebsstangeH" angepasst und wieder aktiviert werden.
Bild18.thumb.jpg.66ea112e20e2555a1bd105f231ce22bb.jpg

Hinweis: Es kann vorkommen, daß die "AntriebsstangeH"in ihrer Ausrichtung nicht stimmt (dazu später mehr)...
Bild19.jpg.9c032a52017dc29865c3b98488492eed.jpg

... um Abhilfe zu schaffen... mit der Animation einen Frame vor und dann einen Frame zurück fahren...
Bild20.jpg.f315a0e1f1286e7d114453cf52865fce.jpg
(... geht auch mit einem Recktslick auf den aktuellen Frame)... dann wird die Animation "richtig" berechnet.

"KolbenstangeH" ist ein Duplikat von "KolbenstangeV" und umbenannt... die Objektbeschränkung muß auch noch angepasst werden.
Bild21.thumb.jpg.dcdd1b22c2629208cd367546cd0779fd.jpg

"ZylinderH" ist ein Duplikat von "ZylinderV" und umbenannt... dieses Objekt wird einfach nur positioniert (x und z Werte bleiben erhalten, y wert negieren)...
Bild22.jpg.29e3368748d9f877d169a71e67faf6d3.jpg

... nun müßte es so aussehen...
Bild23.thumb.jpg.cb75062eceb613f7b56045a9e827b2c8.jpg

... ist nun wie im Fernsehen... wenn es Interessant wird, folgt eine Pause für Werbung:(...

... Fortsetzung folgt...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der .x Exporter berücksichtigt zwar Objektbeschränkungen, aber nur diejenigen, die direkt mit einer definierten Animation verbunden sind.
Die Objektbeschränkung der Kreuzköpfe z.B. ist nicht direkt an "RadA" angebunden... hier muß die Animation "gebacken" werden (->Blender simuliert die Animation und setzt Keyframes).

 "Aktion backen"...
Bild30.jpg.54633a8909db4000f4c619223495d137.jpg

Beispliel für die Einstellungen von "Aktion backen" von "KreuzkopfV"
Bild31.jpg.f212ccaebc89537939a0d17af6b31a97.jpg

Hinweis: Die Animationen der beiden Kreuzköpfe und der beiden Antriebsstangen muß gebacken werden.
Die Animation von "Kreuzkopf" muß vor(!) der Animation "Antriebsstange" gebacken werden.

(Prinzipiell kann man auch alle Animationen backen...)

Im MBS sieht es dann so aus:
Bild32.thumb.jpg.940af49821dba06d0376dcd9dd0d962c.jpg

Hinweis zum MBS-V4:
Im MBS-V4 gibt es eine "Optimierung" der Animationen bei Einlesen der .x Datei. Hierhei werden (leider) kleine Winkel nicht als Animation "anerkannt" was derzeit zu Darstellungsfehlern im MBS-V4 führt.

Bild33.jpg.7754fedc44c3c65bf3ac0202e089cbd6.jpg

Anmerkung1: Ich kenne zwar die Hintergründe warum und sehe diese auch ein.
Aber ich finde es ist nicht meine Aufgabe dies näher zu erklären... da müßt Ihr Euch schon an Neo wenden.

Anmerkung2: Soweit ich informiert bin, arbeitet Neo an einer Lösung dieses Problems.

Anmerkung3: Wenn Neo dieses Problem mit einem Update gelöst hat, kann dieser Absatz von einem Moderator gelösch werden (falls ich es vergesse).

Hinweis: Bei meinem letzten Projekt "Brunton's Mechanical Traveller" hatte ich dieses Problem auch. Neo hat mir dann eine "fehlerfreie" .mbe Datei erstellt, so daß ich das Modell veröffentlichen konnte.
Wenn jemand also zwischenzeitlich ein Modell mit diesem Problem veröffentlichen möchte... meldet Euch einfach vorher bei Neo.

Wer sich versuchen möchte... anbei noch die Blenderdatei (... natürlich nur als "Rohmodell" ohne Objektbeschränkungen9_9)
Bild34.jpg.6afe1f15acb76e684369e79712d5122d.jpg

Kurbelantrieb.zip

Gruß
EASY

 

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

tolle Sachen findest Du da heraus. Ich bin begeistert!

Nun habe ich aber eine Frage - Könnte man mit diesen Objektbeschränkungen auch Seilbahngondeln animieren?

5aa45a2f1fc45_Seilbahnaufhngung.jpg.731a7fb524c298c7eb593af8794d69da.jpg

Seilbahnfahrwerk als Fahrzeug -

Seilbahnkabine.thumb.jpg.81d6be814d3b441ec97e9691ed2d95a1.jpg

und dann daran die Kbine mit den Objektbeschränkungen anhängen?

Ich arbeite noch mit Blender 2.73 und kann deshalb nicht testen.

Viele Grüße

fmkberlin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

... ich habe es mit fmkberlin direkt besprochen, möchte allerdings hier doch noch eine Antwort (für Interessierte) geben.

Am 10.3.2018 um 23:26 schrieb fmkberlin:

ich arbeite noch mit Blender 2.73 und kann deshalb nicht testen.

da habe ich mich wohl etwas missverständlich ausgedrückt... Natürlich gibt es die Objektbeschränkungen auch im Blender 2.73 und sie fünktionieren auch.
Es gibt nur so etwas wie Spezialfälle (z.B. der Kurbeltrieb), wo ich mit Blender 2.73 große Probleme hatte... Die Objektbeschränkungen von "Antriebsstange" und "Kreuzkopf" bedingen einander (ist also ein interaktiver Prozess bis die "richtige" Position und Ausrichtung gefunden ist... und da waren die Abweichungen in Blender 2.73 sehr deutlich zu sehen... Blender 2.79 kommt mit solchen "Situationen" offenbar besser klar...

... das mit der Seilbahn geht so nicht wie gewünscht... Eine Objektbeschränkung ist eine Eigenschaft innerhalb der Animation in Blender... Sie ist keine Eigenschaft, die mit dem .x Exporter mit übertragen werden kann...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

Hallo,

etwas was mich schon lange beschäftigt, ist die Darstellung im MBS einer Zugkette, wie sie z.B. bei Erdöl-Förderpumpen vorkommt... hier mal ein Lösungsvorschlag...

Die Lauffläche "Lauf"...
Bild00.jpg.4ef872562322ca1f113073a476cdd660.jpg

... hinzu kommt ein Hilskreis mit der gleichen Auflösung allerdings in der Drehung so versetzt, daß im Nulldurchgang in Z ein senkrechtes Segment entsteht...
Bild01.thumb.jpg.a26634332610f347c75bee23c13ca45b.jpg

... Mittig zu "Lauf"
Bild02.jpg.9d34c5f066327ec048957507c1c6d548.jpg

Die Kettensegmente "KetteA" und "KetteB" haben nun genau die Länge dieses Kreissegmentes und bekommen eine Vertexgruppe als Referenz...
Bild03.thumb.jpg.14ee98668529671cb8cb802292d76364.jpg
Bild04.thumb.jpg.7cdcd91a95862861967d7ccb5df56382.jpg

... konstruktiv angelehnt an eine Fahrradkette...
Bild05.jpg.d947d95f1ce60a42dd04f02648faa764.jpg

Im Bereich in der die Kette laufen soll bekommt nun "Lauf" auf dem Hilfskreis Vertexgruppen als Referenzen (im Abstand der Kreissegmente)
Bild06.thumb.jpg.c7d7eb4330cd96f5b8a248bed7207d79.jpg

... der Hilfskreis kann gelöscht werden...
Bild07.thumb.jpg.51d9ccee9c310713077d74d4d0b285b5.jpg

... bezogen auf die letzte Referenz wird "Lauf" um eine Befestigungslasche erweitert...
Bild08.jpg.a2b4f9c4487faad91c1275971dde2a54.jpg

Positionierung des ersten Kettensegmentes "KetteB"...
Bild09.thumb.jpg.d60f226d92236f9d0425746e374605a4.jpg

... über Definitionen von Objektbeschränkungen...
Bild10.thumb.jpg.7dd7c9f994cc74e318b65f964704b42e.jpg

Wenn nun "Lauf" gedreht wird, und das Kettensegment unter die Nulllinie von Z kommt, stimmt die Ausrichtung nicht (Kette hängt nicht nach unten)...
Bild11.jpg.3394bb742c4496c74cda1afd4146286a.jpg

... deshalb gibt es noch eine Objektbeschränkung..."Rotation begrenzen"...
... durch das Setzen von "Min" = 0 werden negative Winkel ignoriert und die Kette hängt nach unten...
Bild12.thumb.jpg.a69fc723347e6f70152e848fc756a393.jpg

Setzen des zweiten Kettensegmentes "KetteA" und die dazugehörigen Objektbeschränkungen...
Bild13.thumb.jpg.0f6a0080ab713ad734db7ca2ecfcd79d.jpg

... sieht dann so aus...
Bild14.thumb.jpg.0ffd0b6211ec395f31baa6ee2156f784.jpg
Bild15.jpg.07a3e70a3acbd49f015849c77a027570.jpg

Das nächte Kettenelement ist wieder von der Art "KetteB"...
... Duplikat von "KetteB" mit erweitertem Namen "KetteB.001" und angepassten Objektbeschränkungen...
Bild16.thumb.jpg.596b5b270a38148e07b8b566a34ff14b.jpg

Das nächte Kettenelement ist wieder von der Art "KetteA"...
... Duplikat von "KetteA" mit erweitertem Namen "KetteA.001" und angepassten Objektbeschränkungen...
Bild17.thumb.jpg.e8f18e51ccfd4f53463afa2502edf70c.jpg

... systematische Fleißarbeit für die nächsten Kettenelemente...
Bild18.thumb.jpg.41643d4b868b3a9c3ab80e3750490891.jpg

... bis zu diesem Punkt...
Bild19.thumb.jpg.280631cfe0b34051afb1201558303769.jpg

... da ab hier die Kette sowieso nach unten hängt...
können für weitere Kettenelemente die letzen beiden Objektbeschränkungen entfallen...
Bild20.thumb.jpg.6cc4c212a5c2b0c36c1842b3db26b1e9.jpg

Das letze Kettenelement zur Stange umkonstruiert...
Bild21.thumb.jpg.fe0209b69e70602c096f2bb64e504da7.jpg

Animationsdefinition von Lauf... (Animation mit 100 Frames)
Frame 0...
Bild22.jpg.09b2a23a780a76a3e6dafb6d24ae1a65.jpg

... Frame 50...
Bild23.jpg.9deb4f3e18d6ecd249349385851cc856.jpg

... und Frame 100
Bild24.jpg.8efea4e313fed61ab138a12efeaa44d8.jpg

... und damit das ganze nicht im Erdboden versinkt... noch ein offset in Z
Bild25.jpg.fd4a73e0673523536a03775a07c0860e.jpg

Außer für "Lauf" müssen nun alle Animationen "gebacken" werden... ("Aktion backen")...
... beginnend mit dem 1. Kettensegment "KetteB"... dann "KetteA", "KetteB.001", "KetteA.001", "KetteB.002"... bis "Stange".
Bild26.jpg.d2892d789ae710c5e1c1cf797626e826.jpg

.. jeweils mit folgender Definition...
Bild27.jpg.f0e5fee3ec9bc13425057daa4838e0c5.jpg

... und so sieht es dann im MBS aus...
Bild28.jpg.a1ba3e8b8dbe47539bdb356a78f68b62.jpg

... soweit mal diese Beschreibung...

Gruß
EASY

 

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

da es etwas Spezielles ist, freut es mich, daß es gefällt...

@BahnLand
... da Du schon am Bahnhof bist... vielleicht steigst Du ja mal ein in den Blender-Zug;)

@Wüstenfuchs
... hast Du mal einen Versuch von Dir (auch wenn es [scheinbar] blöd aussieht) als Ansatz für einen Lösungsversuch?

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...