Jump to content

Blender: Gehen/Laufen


Empfohlene Beiträge

Eine Anfrage von @Roter Brummer

https://community.3d-modellbahn.de/forums/topic/2989-modelle-von-reinhard/?page=20&tab=comments#comment-45828

hat mich veranlasst zu erläutern, wie ich versuche Gehen/Laufen (mit Blender) für das 3D-MBS zu realisieren (dies besagt nicht, dass es nicht auch viele andere Möglichkeiten dafür gibt) Hier zeige ich in Beispielen „Gehen“. („Laufen“ verhält sich ebenso):

Vorgabe 1

Die Spezialanimation „_AnimWheel“ bewegt das zugehörige Objekt nach folgender Berechnung:
u = 2*Pi*r
u (Umfang) des Einheitsrades (Durchmesser 1m=Radius 0,5m) =
2*3,14*0,5m = 3,14m
_AnimWheel“ bewegt ein zugehöriges Objekt 3,14m

Vorgabe 2
Die Spezialanimation „_AnimWheel“ führt eine zugehörige Animation aus, egal wie viele Frames sie enthält.

Daraus folgt:
Die Spezialanimation „_AnimWheel“ führt eine Animation (aus n*Frames) aus und bewegt das zugehörige Objekt dabei um 3,14m.

 

 

Für eine Bewegung Gehen (gilt genauso für Laufen) benötige ich 12 Einzelbilder

000-0011_02.jpg.420108ead612f9035c7d90f77bea6f14.jpg

Die Animation von Bild 1 bis Bild 6 (Frame 0-5) entspricht der Animation Bild 7 bis Bild 12 (Frame 6-11) nur für das andere Bein.
Bei der Animation „_AnimWheel“ muss als letzter Frame immer der erste zusätzlich eingefügt werden (Frame12).

Der Rest ist Wiederholung:

Da ein Schritt im Gehen etwa 1m beträgt, wird die Animation „Gehen“ 3mal wiederholt, entspricht ca. 3m
Da ein Schritt im Laufen etwa 1,5m beträgt, wird die Animation „Laufen“ 2mal wiederholt, entspricht ca. 3m

Bild1.thumb.jpg.84902498cc838274382392b244bbc3a4.jpg

Bei der Animation „_AnimWheel“ muss als letzter Frame immer der erste zusätzlich eingefügt werden (Frame36).

Diese Animation wird nun in eine x-Datei exportiert (mit dem modifizierten Blender_x-Exporter von @BahnLand https://www.3d-modellbahn.de/wiki/8071#Sec11 )

Dabei müssen in Blender im Exportfenster für die Übernahme der Animation diese Einstellungen vorgenommen werden:

Bild2.jpg.6fc4ed71a660e67a12c17f99dc2d3f87.jpg

Nun muss noch eine Anim-Datei erstellt werden, welche den gleichen Namen hat, wie die exportierte Blender_x_Datei und die Frames für die Animation „_AnimWheel““ beschreibt.
Eine Text-Datei, welche diese Zeile enthält

_AnimWheel;0;36;NoAutoPlay;Loop
(für Laufen _AnimWheel;0;24;NoAutoPlay;Loop)

erfüllt genau diesen Zweck. Diese Datei muss nun nicht als *.txt Datei, sondern als *.anim-Datei abgespeichert werden. Ich glaube, dass die Definitionen „NoAutoPlay“ und „Loop“ nicht mal enthalten sein müssen, da diese beiden Funktionen in „_AnimWheel“ Grundbedingung sind. Aber ich habe noch nicht probiert, ob die Animation auch ohne diese beiden Einträge läuft.

Gruß
Reinhard

Bearbeitet von Reinhard
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @fmkberlin

vor 14 Minuten schrieb fmkberlin:

Verwendest Du tatsächlich den Direct-X-Exporter von BahnLand? Für Blender gibt es den von Neo.

Öhm... Wie jetzt? Welcher ist denn der von @Neo? Ich habe versucht, die Wiki-Prozedur zu beschreiben, da wird auf @Bahnlands Exporter verwiesen, was ist da falsch?

Anmerkung: bei "@Bahnland" funktioniert die Blau-Markierung nicht, noch was falsch?

Gruß
Reinhard

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Reinhard,

ein Auszug aus der Wiki -

hier der Exporter von Neo (Rot markiert)

Angepassten DirectX-Exporter herunterladen und nach "C:\Program Files\Blender Foundation\Blender\<Version>\scripts\addons" entpacken, dabei das vorhandene Verzeichnis "io_scene_x" überschreiben. Der Exporter enthält ein paar Modifikationen, damit die DirectX-Modelle vollständig zum 3D-Modellbahn Studio kompatibel sind (weitere Informationen siehe "__init__.py" im Archiv).

und her der von Bahnland -

Download des DirectX-Exporters inkl. Bedienungsanleitung, zur Verfügung gestellt von BahnLand

Reinhard, ich möchte hier nicht kritisieren, sondern nur Missverständnissen vorbeugen. Wenn das schon wieder Falsch ist, entschuldige ich mich dafür und Halte mich Raus!

Viel Grüße

fmkberlin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Frank, @fmkberlin,

ich bin davon ausgegangen, dass "der Exporter von Neo" von @BahnLand erstellt wurde. Ich habe mir die Teile nie genau angesehen sondern darauf vertraut, dass es wie beschrieben funktioniert - und so ist es ja auch. Vielleicht kann uns ja @BahnLand mal beschreiben, welche Änderungen notwendig sind, damit der Direct-x-Exporter für das 3D-MBS tauglich ist.

vor 8 Stunden schrieb fmkberlin:

Reinhard, ich möchte hier nicht kritisieren, sondern nur Missverständnissen vorbeugen. Wenn das schon wieder Falsch ist, entschuldige ich mich dafür und Halte mich Raus!

"Raushalten" ist immer schlecht, weil alle hier im Forum von den Erfahrungen, von dem Gelernten und von dem Können anderer profitieren, so verstehe ich das Forum. Auch auf dem Weg passieren Fehler, die wiederunm von denen, die bereits weiter sind, korrigiert werden. Auch davon lernen wieder alle.

Was nicht geht ist, zu glauben, dass man selbst über anderen steht, alles kann und darum "besser" ist, als andere.

Wir lesen hier täglich, dass es immer wieder neue Erfahrungen gibt, die für alle Interessierten nützlich sein können. So verstehe ich auch deine Erläuterungen hier im Forum und so meine ich auch meine Erläuterungen. Man gibt wieder, was man meint, zu können und lernt, was andere können und auch besser können.

Gruß
Reinhard

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Reinhard,

für Blender gibt es ja offenbar einen (integrierten ?) DirectX-Exporter, der nicht MBS-geeignet ist. Deshalb hat @Neo einen "MBS-kompatiblen" DirectX-Exporter für Blender bereitgestellt. Den "Sketchup-DirectX-Exporter" habe ich speziell für den Export von Sketchup-Modellen geschrieben, wobei mir als Grundlage der Exporter von Erwan de Cadoudal diente (dieser Exporter war sehr rudimentär, hatte noch Fehler und bezog sich ausschließlich auf Modelle im Zoll-Format). Inwieweit sich Neo beim Bereitstellen des DirectX-Exporters an meinem Exporter orientiert hat, weiß ich nicht. Ich kenne jedenfalls seinen "Blender-DirectX-Exporter" nicht.

Viele Grüße
BahnLand

P.S.:
Die beiden DirectX-Exporter von Neo und mir unterscheiden sich auch in der Programiersprache (an der jeweiligen Datei-Endung zu erkennen).

  • Der Sketchup-DirectX-Exporter (von mir) ist in der Sprache "Ruby" programmiert, in der alle von Sketchup auszuwertenden Plugins realisiert sind (Endung der Export-Datei = rb).
  • Der Blener-DirectX-Exporter (von Neo) besitzt die Endung py, woraus ich vermute, das die Programmiersprache hier "Python" ist.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Reinhard,

vor 12 Stunden schrieb Reinhard:

Vorgabe 1

Die Spezialanimation „_AnimWheel“ bewegt das zugehörige Objekt nach folgender Berechnung:
u = 2*Pi*r
u (Umfang) des Einheitsrades (Durchmesser 1m=Radius 0,5m) =
2*3,14*0,5m = 3,14m
_AnimWheel“ bewegt ein zugehöriges Objekt 3,14m

... stimmt zwar theoreisch allerdings ergibt sich aus der Geschichte des MBS eine etwas andere Formel.
Die Grundlage des Einheitskreises ist ein Radius von 1cm (10mm) also ein Durchmesser von 20 mm bezogen auf den Maßstab H0. (In der Vorgängerversion vom MBS als das Ding noch "Eisenbahnplaner" war, war der Bezug für alle Modelle der Maßstab H0 (im Eisenbahnplaner Skalierung 1) und die Grundeinheit war 1 cm. Daran hat sich auch für das MBS (wahrscheinlich aus Kompatibilitätsgründen) nichts geändert.

Im Maßstab H0 legt eine Animation mit „_AnimWheel"  20mm * pi =  62,83185 mm zurück.
Im Maßstab 1:1 ergibt das 20mm * pi * 87 = 5466,37 mm sind also rund 5,5 m. Dies ist die Grundlage wie oft eine Animation bezogen auf die Schrittlänge widerholt werden sollte. Bei dieser Art von Animation gehen natürlich nur ganzzahlige Vielfache.

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

vor 8 Stunden schrieb BahnLand:

Inwieweit sich Neo beim Bereitstellen des DirectX-Exporters an meinem Exporter orientiert hat, weiß ich nicht.

kleiner Hinweis, der Blender-Exporter stammt nicht von mir, sondern von Chris Foster und ist offizieller Bestandteil von Blender. Ich habe diesen Exporter lediglich so angepasst, dass Modelle mit typischen DirectX-Engines kompatibel sind und auf die Verwendung negativer Skalierungen verzichten. So gesehen haben die Anpassungen auch gar nichts mit dem Studio zu tun, sondern eher der Kompatibilität bei der Konvertierung OpenGL (Blender) zu DirectX.

Viele Grüße,

Neo

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...