Jump to content

Blender - Versuche mit "Driver"


Empfohlene Beiträge

Hallo,

ich bin gerade dabei mich etwas mit "Driver" in Blender zu beschäftigen... dazu habe ich nir den Kurbeltrieb ausgesucht.
... die Konstuktion...
1556842985_Kurbel-Driver000.thumb.jpg.7051aacddf8adfcda49b28c6a53197a2.jpg

... und die geometrischen Verhältnisse...
1987468365_Kurbel-Driver00.thumb.jpg.e2b0ee591f7617c85780cb8a21a9be1b.jpg

... beim Kurbeltrieb gibt es 2 Möglichkeiten...
... den ungeschänkten Kurbeltrieb... (Mittelpunkt Rad und Mittelpunkt Zylinder leigen in der z-Achse auf einer Ebene)
615412934_Kurbel-Driver009.thumb.jpg.e5199c49494355e3a241daa7de921c05.jpg

... und den geschränkten Kurbeltrieb (Zylindermittelpunkt hat einen Versatz zum Radmittelpunkt in der z-Achse)...
2006746849_Kurbel-Driver010.thumb.jpg.75442a5e4ff572273e74a0eff42aacc5.jpg

... meine Grundüberlegung geht davon aus, daß wenn die Position von "Kreuzkopf" bekannt ist (berechnet wird), sich die Bewegung der anderen Teile durch Objektbeschränkungen definieren lassen... so ist die Animation erst einmal nur über das Drehen des Rades definiert...
... x-z-Position von "Antriebsstange" - Position kopieren...
2064806208_Kurbel-Driver002.thumb.jpg.abb847fea7387bf952112e3fdbbbcc0b.jpg

... der Winkel der "Antriebsstange" ist "Verfolgung dämpfen"...
363032203_Kurbel-Driver003.jpg.1087a4effc77c3b16162f51b0d77732a.jpg

... die x-Position der "Kolbenstange" ist "Position kopieren"...
262356235_Kurbel-Driver004.thumb.jpg.ede48917f01095563b8f428e10dfb429.jpg

...die x-Position von Kreuzkopf ist ein "Driver"...
1750289598_Kurbel-Driver005.jpg.c71f3664b58303db77da94157a060854.jpg

...die Driver Definition...
435334531_Kurbel-Driver006.thumb.jpg.98fd3a3750a196f7d014c7c08be12018.jpg

... ist eine Funktion des Winkels von "Rad" und dem Versatz b beim geschränkten Kurbeltrieb (beim ungeschränkten ist b=0)...
... prinzipiell kann man die Definition des Treibers gleich beim Driver Editor eintragen (Ausdruck -> Im Bild rot umranded).
Ich habe mich aber dazu entschlossen den Treiben über eine Funktion zu definieren, die als kleines Phytonskript ausgeführt wird, ich habe dies deshalb getan, weil man auf diese Art auch mehrere oder komplexere Driver-Definitionen machen kann...
770125876_Kurbel-Driver007.thumb.jpg.7b7d431379ee63a0fe3b43c5a9154f31.jpg

... Das Phytonskript muß bei einen Neuaufruf der Datei mit gestartet werden, damit das automatisch geht, kann man es "Registrieren"...
1247480654_Kurbel-Driver008.jpg.28f7d2b9100da33d694372b08a90c3d5.jpg

...bei Blender 2.81 geht das noch im Hintergrund...
Blender 2.83 fragt beim Aufruf der .blender Datei, ob das Skript ausgeführt werden soll...
1377256337_Kurbel-Driver001.thumb.jpg.82cc6a23795121f65923dab2a789393d.jpg

... und zum Schluß noch die .blender Datei und das Phytonskript (.py)...

Kurbel-Driver03.zip

(die .py ist beim schon bei der .blend "registriert" ... müßte also gehen, wenn beide im gleichen Verzeichnis liegen...)

Hinweis: Für Versuche kann die z-Position von "Zylinder" verschoben werden...
...wer es allerdings übertreibt, bei dem gibt die Funktion ein Fehler und es geht nicht mehr... den "Reset" kann man sich ja dann mal als (kleine Übung) überlegen... 

Anmerkung: Dies ist eine Möglichkeit den Kurbeltrieb darzustellen...
... ich habe es zwischenzeitlich nur mit Objektbeschränkungen, dann mit Bones und nun mit einem Driver (und Objektbeschränkungen) realisiert...
... es gibt also mehrere Wege zum Ziel...

Gruß
EASY

Bearbeitet von EASY
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...

Hallo,

vor 52 Minuten schrieb HaNNoveraNer:

Das heißt, Driver werden vom MBS unterstützt?

... leider nein. Die Animation muß noch "gebacken" werden... (wie es aussieht hatte ich das in dem Beitrag von damals nicht erwähnt)...

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, ich wollte die Rotation bei einem PKW mit starren Achsen nutzen, um die Räder um ihren Ursprung zu drehen in Kurven. Also einen Lenkeinschlag erzeugen, der ja den Winkel des Wheelset entspricht. 

Vielleicht geht das dann mit Bones wenn die von Wheelset Objekt mitbewegt werden. Keine Ahnung, wie das intern abläuft im MBS. 

 

Bearbeitet von HaNNoveraNer
Link zu diesem Kommentar
Auf anderen Seiten teilen

11 hours ago, HaNNoveraNer said:

Well, I wanted to use the rotation on a rigid axle car to turn the wheels around their origin in corners. So create a steering angle that corresponds to the angle of the wheelset. 

Maybe that will work with bones if they are moved by the Wheelset object. I have no idea how that works internally at MBS. 

 

 

Yes, I'd already asked about that, to construct a sort of Ackerman steering geometry, driven by the Wheelset pivot. I couldn't get any information on how, in MBS, it would be possible to 'read' the angle of the Wheelset, but I could imagine it being a fairly simple thing to add on to MBS. All that would be required, really, would be a distance declared to the rear of the Wheelset, and its angle, to enable a bone structure to do the rest. I made such a geometry, but couldn't get the angle. A shame, as it would make cars, trucks and buses so much more realistic. Maybe in a future version..?

Ja, danach hatte ich schon gefragt, um eine Art Ackerman-Lenkgeometrie zu konstruieren, die vom Drehpunkt des Radsatzes angetrieben wird. Ich konnte keine Informationen darüber erhalten, wie es in MBS möglich wäre, den Winkel des Radsatzes zu „lesen“, aber ich könnte mir vorstellen, dass es eine ziemlich einfache Sache ist, MBS hinzuzufügen. Alles, was wirklich erforderlich wäre, wäre ein deklarierter Abstand zur Rückseite des Radsatzes und sein Winkel, damit eine Knochenstruktur den Rest erledigen kann. Ich habe eine solche Geometrie erstellt, konnte aber den Winkel nicht ermitteln. Schade, denn es würde Autos, Lastwagen und Busse so viel realistischer machen. Vielleicht in einer zukünftigen Version..?

1861084910_2022-03-1301_09_45-.thumb.jpg.c7980be70ae7d338776f99c6bed14b57.jpg

Bearbeitet von Dad3353
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...