Jump to content

Erweiterter DirectX-Exporter


Empfohlene Beiträge

Moin zusammen,

habe jetzt meine Wassermühlen Modell wie BahnLand und Brummi beschrieben haben nachgebessert auch die Animation noch mal selbst eingebaut, wird alles so von MBS akzeptiert. Nun wollte ich die Materialien mit einer Multitextur zusammenfassen und das gelingt mir nur bedingt. Habe wie abgebildet mehrere Farben und die Texturen von der grünen Hauswand, die Mauersteine, die Dachziegel und die Fenster Lamellen. Die Farben übertragen geht einwandfrei, sobald ich eine Textur übertragen möchte, verändert sich die Darstellung der Textur um ein Vielfaches der tatsächlichen Größe. Meine Frage wie kann ich das einstellen das die Textur so wieder gegeben wird wie ich sie jetzt auf dem Modell  habe.

Wünsch noch einen schönen Sonntag

Dieter

Muele_1a(1).jpg.facfff2076cd53d654e7bb1a00822b20.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin zusammen,

tja, das ist ein Problem der Multitextur. Wenn du die Textur separat verwendest, wird sie auf der Fläche gekachelt dargestellt. Wenn du dann die größe der Textur änderst wird sie entsprechend oft oder weniiger oft auf der Fläche verteilt. Dadurch wirken dann die Dachziegel z.B. größer oder kleiner.

Bei der Multitextur muss die Fläche mit den Dachziegeln der zu texturiernden Fläche entsprechen, damit die Größenverhältnisse passen. Ich wüsste nicht, wie man einen Teil einer Multitextur gekachelt auf eine Fläche bekommt. Aber vielleicht habe ich es ja nur noch nicht gefunden.

Desweiteren besteht irgendwie die Möglichkeit aus den einzeln aufgebrachten Texturen eine passende Multitextur zu erstellen. Aber das habe ich irgendwie nicht verstanden und bei Volumenkörpern geht das glaube ich garnicht.

Also wenn da einer eine Lösung hat, immer her damit.

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

schaue Dir bitte dieses 4-teilige Video in der hier aufgelisteten Reihenfolge an:

Hier wird an einem konkreten Beispiel erklärt, wie man in Sketchup Teile einer Multitextur auf ein Modell aufträgt.

Texturteile wie der Dachausschnitt oder das Ziegelmauerwerk auf der Textur in Deinem letzten Beitrag nennt man Texturkacheln oder kachelbare Texturen. Ihre spezielle Eigenschaft besteht darin, dass sie, wenn man sie nebeneinander und untereinander wie Kacheln anordnet, ein geschlossenes Bild ergeben, bei dem die Ränder zwischen den Kacheln nicht mehr sichtbar sind (man nennt sie deshalb auch "Randlos-Texturen").

Beim Auftragen auf Flächen, die über den Rand der Textur hinaus ragen, wird die Textur immer gekachelt (also aneinandergefügt). Das kann der Modellbauer nicht beeinflussen. Wenn eine Textur nur aus einer solchen Kachel besteht, ist damit alles in Ordnung, weil damit beliebig große Flächen mit einer einzigen Kachel bemalt werden können, ohne dass die Kachelung im Gesamtbild sichtbar wird.

Wird die Kachel dagegen wie auf Deiner Textur oben in eine Multitextur integriert, bezieht sich das automatische Kacheln immer auf die gesamte Textur. Ein Kacheln des Texturausschnitts ist dabei nicht mehr automatisch möglich. Der Modellbauer muss daher entweder die mit der Kachel zu bemalenden Flächen entweder so unterteilen, dass die Kachel genau in jeden Teilbereich passt (die Kachel wird dann in jeden Teilbereich separat eingefügt, damit insgesamt wieder ein große "gekachelte" Fläche entsteht). Oder die Kachelung muss in der Textur selbst geschehen: Ist die mit der Kachel zu versehende Fläche beispielsweise doppelt so breit und doppelt so hoch wie die Kachel, muss diese in der Textur 2-mal nebeneinander und 2-mal übereinander als 4-fach-Kachel enthalten sein (und bei größeren Flächen entsprechend öfters).

Grundsätzlich gilt also: Um eine Textur ohne sichtbaren Rand kacheln zu können, muss die Kachel die ganze Textur zwischen den jeweils gegenüber liegen Rändern ausfüllen.  Soll die Textur sowohl in der Breite als auch in der Höhe gekachelt werden können, darf die Textur nur aus dieser einen Kachel bestehen. Genügt es, dass die Textur nur in einer Richtung gekachelt wird (also nur nebeneinander oder nur untereinander), muss sie nur in dieser Richtung von einem mit zum gegenüber liegenden Rand der Textur reichen. dann können neben oder alternativ über/unter der Kachel auch andere Motive (z.B. weitere Kacheln oder Einzelmotive) auf der Multitextur abgelegt sein.

Hier zwei Beispiele:

1550020393_TramPfullingen.thumb.jpg.37b2710284baeed895d133d73c6f74dc.jpg

Dies ist die im den obigen Videos verwendete Multitextur. Sie besitzt in der Mitte einen "Teakholz"-Streifen, der horizontal, aber nicht vertikal kachelbar ist. Man könnte also die Multitextur beliebig oft seitlich aneinander fügen, und man würde es bei der Teakholz-Wand nicht merken. Alle anderen Motive auf dieser Textur sind nicht kachelbar! Die beiden oben in der Mitte abgebildeten Labellen-Texturteile könnte man aber horizontal beliebig weit dehnen, ohne dass der Gesamteindruck der Lamellen verloren ginge.

Bruchsteinbogen.thumb.jpg.91e9d8c0557c0d5f7c5c2af0d4e59691.jpg
(zum Vergrößern anklicken)

Bei dieser Textur können die Texturteile beidseits des Steinbogens vertikal gekachelt werden. Mit dem linken Texturenteil können hiermit beliebig hohe Mauerteile bemalt werden - aber eben nicht in der Breite. Um mit den Texturteilen auf der rechten Seite beliebig breite Flächen "kacheln" zu können, wird die Textur um 90° gedreht. Dann ist aber in der Höhe keine Kachelung möglich.

Zusammengefasst ist also eine Kachelung von Teilen einer Multitextur höchstens in einer Richtung (nur horizontal oder nur vertikal) möglich, wobei der kachelbare Texturteil dann in dieser Richtung die volle Ausdehnung der Multitextur zwischen den beiden Rändern überdecken muss.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

ich verwende gerade bei Gebäuden solche Texturstreifen.

1222.jpg.83212af37f421aaebabbebc87abdfd91.jpg

Die drei oberen Muster bestehen aus kachelbaren Texturen. Da diese von Bildrand zu Bildrand gehen, sind sie zumindest in diese Richtung weiterhin beliebig abwickelbar. Wenn ich zum Beispiel den Ausschnitt mit den Klinkern auf eine Wand aufbringe, kann ich diesen um das gesamte Gebäude herum wickeln.

Ich sehe gerade: @BahnLand hat das oben bereits erwähnt.

HG
Brummi 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand,

habe Deine Ratschläge befolgt  und die 4 Video schon mehr als ein mal angeschaut. Das übertrage von Farben und und Bilder von der Multitextur auf das Modell geht allerbest nur für die kachelbaren Texturen habe ich keine Erklärung gefunden, tut mir leid aber will bei mir nicht klappen. Weis auch nicht was ich da verkehrt mache, bin noch nicht drauf gekommen wie es richtig geht.

Viele Grüße und schönen Abend noch

Dieter

WassermühleVideo.zip  

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

Dein ziü-Paket "WassermüheVideo.zip" ist leer.

vor 5 Stunden schrieb BahnUropa:

für die kachelbaren Texturen habe ich keine Erklärung gefunden

Stimmt. Das war damals auch nicht das Ziel dieser Videos, da die Teakholz-Zeile hier nicht im Vordergrund stand.

Baue Dir einfach zum Ausprobieren eine Textur, die wie das unterste Bild in meinem letzten Beitrag (alle Motive nebeneinander) oder das Bild von Brummis Beitrag (alle Motive übereinander) aussieht, und bemale damit eine Fläche, die größer als die Textur ist. Dann siehst Du selbst, wie die quer zur Motiv-Kette kachelbaren Einzelmotive der jeweiligen Textur entweder übereinander oder nebeneinander jeweils zu einem zusammenhängenden Band "zusammenwachsen".

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo BahnLand.

das geht in Opas alten Kopf nicht rein, habe es mit den Kachelstreifen wie Du geschrieben hast nur bekomme ich die einzelnen kachelbaren Texturen nicht an das Objekt. Habe einen Würfel erstellt,

multifarben(0).thumb.jpg.8adea0e225f173abce4c66ab80fdc019.jpg 

dann den Texturstreifen aufgelegt,

multifarben(1).thumb.jpg.42c20dbae709f7d8d42c2dc32a894573.jpg

nun die Reißzwecken an die Fläche gelegt,

multifarben(3).thumb.jpg.42b8e05944d14af44682696a6eee1dad.jpg

jetzt die Textur auseinander und unter  das Objekt gezogen,

 

multifarben(4).thumb.jpg.35edd98e4b71ae3b4dfcdeed7d33a79f.jpg

multifarben(5).thumb.jpg.3ab56803af4c2314bdef3b67e0a2e638.jpg

und das ist das Ergebnis. Weis nicht wie ich die Textur gekachelt auf das Objekt bringen kann.

Viele Grüße  Dieter

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

betrachte einmal das folgende kleine abstrakte Häuschen, dem ich vorab eine Mauertextur und eine Dachziegeltextur, beide aus dem Texturenkatalog von Sketchup und beide kachelbar, zugewiesen habe.

1838832738_11EinfachesBeispiel.thumb.jpg.3102040ff426b584f97df4297ed8f363.jpg

Im obigen Bild sieht man in der Übersicht rechts die beiden Texturen. Auf dem Hausmodell habe ich durch jeweils durch einen hellblauen Rahmen die beiden verwendeten Texturkacheln optisch hervorgehoben. Auf den Wänden und dem Dach werden die beiden Texturkacheln jeweils automatisch nebeneinander und übereinander angeordnet, wodurch die vollständige Bemalung aller Dach- und Wandflächen erreicht wird.

1500863472_12Txturenanzeigenundabspeichern.thumb.jpg.1c789c1013f01f0b4174ef60848cb0c8.jpg

Hat man eine solche Textur ausgewählt, kann man - wenn man in den Einstellungen ein entsprechendes Grafik-Programm eingestellt hat (siehe hier) - mithilfe des oben eingekreisten Buttons die Textur im Grafik-Programm anzeigen lassen und dann auch abspeichern.

1645443500_13c2Einzeltexturen.thumb.jpg.b76c6e58dbf69bcbb4008fb73aa7097c.jpg

Das habe ich mit beiden Texturen gemacht, wobei die Originalgrößen bei der Backsteinmauer 384 x 256 Pixel und bei der Dachziegel-Textur 1392 x 1144 Pixel sind. Um sie zu einer Multitextur zusammenzufügen, habe ich beide Texturen auf eine gemeinsame Breite von 256 Pixeln (2er-Potenz) verkleinert (die Höhe wurde hierbei auf 170 bzw, 210 Pixel reduziert). Da mir bei der Gegenüberstellung im Bild oben die Dachziegel gegenüber den Mauersteinen zu Überdimensioniert erschienen, habe ich die Dachtiegel-Textur noch einmal um 50% verkleinert und zweimal nebeneinander angeordnet, um wieder auf die Breite von 256 Pixeln zu kommen. Die beiden Texturbilder links und rechts habe ich dann übereinander zu einer Multittextur zusammengefügt:

1542296740_14bMultitextur.jpg.de250a16f33997abdc53bf3f1e1ea7e2.jpg

Diese Textur habe ich dem Sketchup-Modell hinzugefügt und die Abbildungsbreite der Texte auf 2048 mm gesetzt (rote Markierung: neue Material erstellen, violette Markierung: Texturdatei hinzufügen, blaue Markierung: Abbildungsbreite festlegen).

989080668_15AnwendungMultitextur.thumb.jpg.b8b1d1d0473c86b586f2e24d7dc2b240.jpg

Bei der Festlegung der Abbildungsbreite muss man etwas herumprobieren, um etwa eine stimmige Größe für die Textur-Abbildung auf den Modellflächen zu erhalten. Bei dem hier gezeigten Beispiel halte ich 2048 mm für einen "geeigneten" Wert (die Höhe wird automatisch mit skaliert, solange man das rechts daneben angezeigte Kettensymbol nicht durch anklicken "aufgebrochen" wird).

Wenn man nun das Haus texturiert, sieht man, dass die Textur zwar in der Breite korrekt nebeneinandergesetzt wird, aber in der Höhe die Kachelung nicht funktioniert. Man muss also die betroffenen Texturteile in der Höhe entsprechend vergrößern. Ganz grob geschätzt benötigt man sowohl für die Backsteinmauer als auch für die Dachziegel etwa die 4-fache Höhe,

1666270763_14dMultitextur.thumb.jpg.5ae657ef49f1dbb441b92076d94a2f90.jpg

weshalb ich eine neue Multitextur kreiert habe, bei der jeder Texturteil der ursprünglichen Multitextur 4 mal untereinander angeordnet ist.

148957031_16Multitextur1.thumb.jpg.344d3a14ff72d029a8ae569a778504ff.jpg

Mit dieser Textur kann nun bei gleicher Einstellung 2048 mm für die Abbildungsbreite jede Wand und jedes Dach dieses Modells vollständig mit der jeweils dafür vorgesehenen Textur bemalt werden.

Da die Textur nun zwar mit 256 Pixeln Breite hier der 2er-Potenz-Vorgabe erfüllt, aber nicht in der Höhe (1100 Pixel), muss sie in der Höhe auf eine 2er-Potenz skaliert werden. Hier bietet sich die Höhe von 1024 Pixeln an. Nach dem Hinzufügen der so korrigierten Textur als neues Material reicht die Höhe der Dachtextur nicht mehr ganz aus, um das Dach vollständig abzudecken.

1876152253_17Texurvergrern.thumb.jpg.73e3a6be9969075b1a60e0d4d66f8908.jpg

Durch ein bisschen Auseinanderzehen der Textur mit der grünen Reißzwecke und nachträgliches Übertragen auch auf die andere Dachhälfte oder ein Anheben der Abbildungsbreite von z.B. 2200 mm lässt sich dieses Problem beheben.

732644381_18VerlngertesHaus.thumb.jpg.414519d1e664f3c59bfecec39d6f79d8.jpg

Da beide Texturteile horizontal kachelbar sind, lässt sich das Haus nachträglich beliebig in die Länge ziehen, ohne dass dadurch die Texturierung geändert werden muss.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

schaue Dir bitte die beiden folgenden Beiträge an:

https://community.3d-modellbahn.de/forums/topic/2373-modelle-von-fex/?do=findComment&comment=23485

https://community.3d-modellbahn.de/forums/topic/5453-texturen/?do=findComment&comment=68102

Im ersten Beitrag habe ich eine Multitextur mit seitlich kachelbarem Texturteil angewendet. Im zweiten Beitrag ist genau beschrieben, wie man eine Textur auf einem Zylinder "anlegt" und diese dann auf den Einzelflächen des Zylinders schrittweise "abwickelt".

Viele Grüße
BahnLand

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hallo BahnLand,

dank Deiner Hilfe hab ich die Wassermühle mit der Bewertung grünes Häkchen mit nur 2 Texturen geschafft. Nun wollte ich meinen Bahnhof auch dort hin bringen, hab ich auch so weit geschafft mit einer Multitextur aber 14295 Polygone. Da steht Uropa mal wieder auf den Schlauch, habe in Wiki wie auch von Walter und Karl die Berichte von LOD Stufen gelesen um die Polygone zu senken, will mir einfach nicht gelingen. Oder brauch man dafür erst eine Zulassung von Neo habe keine Ahnung.

Viele Grüße 

Dieter

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

die LoD-Stufen sind zusätzliche Modelle, die in Sketchup gegenüber dem Original-Modell wesentlich einfacher gebaut werden und daher weniger Polygone besitzen. Diese werden ebenfalls mit dem Sketchup-DirectX-Exporter in x-Dateien umgewandelt. Bei zwei LoD-Stufen verwendet man also 3 Modelle, wobei die Namen der LoD-Stufen gegenüber dem originalen Namen eine Erweiterung besitzen. Wenn die x-Datei des Original-Modells beispielsweise "Muster.x" heißt, werden die LoD-Stufen-Modelle "Muster_LOD1.x" und "Muster_LOD2.x" genannt.

In das Modellbahn-Studio "explizit" hochgeladen wird nur das Original-Modell. Findet das Modellbahn-Studio in jenem Verzeichnis, welches die x-Datei "Muster.x" befindet, auch die Dateien "Muster_LOD1.x" und/oder "Muster_LOD2.x" vor, werden diese vom Modellbahn-Studio automatisch mit hochgeladen und demselben Modell "Muster" zugeordnet.

LoD-Stufen-Anzeige.thumb.jpg.d9970dd4dd8696a416938cb20bb5fdeb.jpg

Dass die LoD-Stufen für das Modell mit hochgeladen wurden, kann im Nachhinein im 3D-Modelleditor feststellen. Über das Pfeil-Pärchen neben der "Detailstufe" können die Daten für die verschiedenen LoD-Stufen eingeblendet und begutachtet werden. 

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

Dein Hauptmodell heißt "Bahnhof 01a .skp" (mit Leerzeichen zwischen dem "a" und dem Punkt) entsprechend heißt auch die exportierte x-Datei "Bahnhof 01a .x". Dazu passen die Dateien "Bahnhof 01a_LOD1.x" und "Bahnhof01a_LOD2.x" (jeweils ohne Leerzeichen zwischen dem "a" und dem Unterstrich) natürlich nicht. Deshalb funktioniert die Übernahme der LoD-Stufen durch das Modellbahn-Studio nicht, wenn Du die Datei "Bahnhof 01a .x" hochlädst.

Alledings habe ich in Deinem Verzeicnis auch eine Datei "Bahnhof 01a.x" (ohne Leerzeichen) entdeckt, zu der ich aber keine skp-Datei in Deinem Verzeichnis gesehen habe. Wenn Du diese in das Modellbahn-Sudio hochlädst, werden auch die beiden Lod-Stufen-Dateien mitgenommen. Ich weiß jetzt nur nicht, welches tatsächlich die "richtige" der beiden Dateien ist ("Bahnhof 01a .x" oder "Bahnhof 01a.x"), die Du in das Modellbahn-Studio hochladen möchtest. Die Namen der Dateien ..._LOD1.x und ..._LOD2.x müssen in jedem Fall vor dem Unterstrich identisch mit jenem der Hauptdatei  ....x sein.

Viele Grüße
BahnLand

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hallo BahnLand,

Opa braucht mal wieder Deine Hilfe, habe jetzt meine Windmühle Rohbau fertig und die Achse für den Flügel wie bei der Wassermühle eingebaut, siehe das es läuft nur nicht wie es soll. Habe die Achse auf der roten Linie gebaut und dann um 15° angekippt und das ist mein Fehler, Das Flügelrad eiert so sehr, so das nur ein Flügel am Gehäuse vorbeikommt. Nun meine Frage was muss an der Rotationsdatei geändert werden oder sonst noch etwas. Hab mal den Ordner der Windmühle mit Angehängt.   

Liebe Grüße

Dieter

A-Ordner Windmühle.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin BahnLand,

habe das Problem nach meinen Verständnis gelöst, was wahrscheinlich nicht ganz im Sinne von MBS ist aber es geht. Habe das ganze Modell jetzt mit 15° Neigung  gespeichert nach MBS hochgeladen und hier wieder senkrecht gestellt und siehe da die Windmühle läuft korrekt.

Gruß Dieter

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

der Trick, den Du hier angewendet hast, ist schon genial - auch wenn er den kleinen Nachteil hat, dass die Mühle, nachdem sie aus dem Katalog gezogen wurde, erst einmal "gerade gerückt" werden muss. Tatsächlich sind schräge Drehachsen, die nicht parallel zu einer der Koordinaten-Achsen verlaufen, bei Sketchup-Modellen etwas komplexer zu behandeln - ebenfalls über den Animationkey für die Rotration in der AnimationSet-Definition, indem man die Drehungen um die Rotationsachse der Flügel und um die Neigungsachse kombiniert. Ich ziehe es aber in diesem Fall vor, zwei Rotations-Animationen für die Windmühlenflügel zu realisieren, wobei die Neigungs-Rotation auf eine der Flügel-Gruppe übergeordnete Gruppe und die Flügel-Rotation direkt auf die Flügel-Gruppe wirkt. Dann kann man beide Drehungen "wie gehabt" definieren, und die rotierenden Flügel können über die äußere Rotation geneigt werden. Wählt man den "geneigten" Zustand als "Ausgangszustand" (dessen Animation im Modell einfach ignoriert wird), erhält man ebenfalls das gewünschte Ergebnis, ohne dass die Windmühle nachträglich gekippt werden muss.

Ich werde Dir demnächst eine entsprechende Realisierung als Demo zur Verfügung stellen.

Viele Grüße
BahnLand

Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Dieter,

anbei nun die Erklärung, wie man die Neigung der Drehachse mittels der AnimationSet-Definition hinbekommt:

Die von Dir in der AnimationSet-Definition spezifizierte Dreh-Animation

    AnimationKey {  // Rotation
      0;
      3;
      00; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;,
      12; 4;  0.0000000,  1.0000000,  0.0000000,  0.0000000;;,
      24; 4; -1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }
    //         Drehung um    x-Achse       z-Achse        y-Achse

ist eine Drehung um die x-Achse. Das bedeutet, dass die Flügel Deiner Windmühle sich nicht um die korrekte Drehachse drehen und daher "torkeln".

01DrehachsederFlgel.thumb.JPG.2c011d4f299322f1aec0920df608d036.JPG

Damit sich die Flügel korrekt drehen, muss daher in der Animationset-Definition die korrekte Drehachse spezifiziert werden. Bekannt ist, dass die Spalten 2, 3 und 4 für die Drehungen um die x-, die z- und die y-Achse zuständig sind. Die Neigung der Drehachse der Windmühlenflügel liegt zwischen der x- und der z-Achse, wobei die Drehanimation um die z-Achse so aussehen würde:

    AnimationKey {  // Rotation
      0;
      3;
      00; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;,
      12; 4;  0.0000000,  0.0000000,  1.0000000,  0.0000000;;,
      24; 4; -1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }
    //         Drehung um    x-Achse       z-Achse        y-Achse

Für die Drehung um eine Achse, deren Neigung zwischen der x-Achse und der z-Achse liegt, müssen die Werte für die x- und z-Achse innerhalb der Drehanimation entsprechend aufgeteilt werden. Konkret werden die Werte für den x-Anteil und den z-Anteil der Drehachse entsprechend dem Anteil des Neigungswinkels 15° zwischen 0° (x-Achse) und 90° (z-Achse) mithilfe der trigonometrischen Funkion Sinus und Cosinus berechnet: cos(15°) = 0,9659258, sin(15°) = 0,2588190. Wenn man also für die Drehanimation die Werte

    AnimationKey {  // Rotation
      0;
      3;
      00; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;,
      12; 4;  0.0000000,  0.96592580.2588190,  0.0000000;;,
      24; 4; -1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }

eingibt, hat man für die Drehachse die richtige Neigung eingestellt, und die Windmühlenflügel drehen sich genau so, wie es erwartet wird.


Wem die Berechnung der Drehachse in der Drehanimation zu komplex ist, kann die Drehung der Windmühlenflügel um die korrekte Achse auch über einen anderen Weg bekommen. Hierbei wird die Drehanimation tatsächlich um die x-Achse realisiert und dann das gesamte Rotationssystem um 15° nach hinten gekippt, wodurch man wieder die korrekte Drehachse erhält.

02Doppelhlle.thumb.jpg.2bac5c183004654c423e5c629a068b30.jpg

Hierzu muss aber zuerst die Ebene der Windmühlenflügel in die Vertikale gekippt werden, damit diese beim Drehen um die x-Achse nicht "torkeln". Die Drehanimaton für die Windmühlenflügel ist dann die klassische Rotation um die x-Achse vom Anfang dieses Beitrags. Um das gesamte Rotationssystem aus der x-Achse heraus um die erforderliche Neigung von 15° nach hinten zu kippen, wird für die Drehgruppe "Fluegel" eine übergeordnete Gruppe (hier als "Huelle"bezeichnet) angelegt, die ihrerseits ein "_AP"-Objekt besitzt das auf der parallel zur y-Achse ausgerichteten Drehachse für´die Neigung liegt (im vorliegenden Beispiel ist die Drehachse genau jene, um welche die Windmühlenflügel im Sketchup-Modell in die vertikale Stellung gedreht wurden). Im obigen Bild sieht man in der Gliederung rechts Die Verschachtelung der Gruppen "Huelle" und "Fluegel" mit jeweils eigenem _AP-Objekt innerhalb der jeweiligen Sketchup-Gruppe.

Für die Drehung der Gruppe "Huelle" um die y-Achse wird nun eine neue Drehanimaton definiert deren Rotationskoordinaten sich aus dem halben Drehwinkel 7,5° ergeben:

    AnimationKey {  // Rotation
      0;
      2;   //    cos(-7,5°)                                               sin(-7.5°)
      25; 4;  0.9144449,  0.0000000,  0.0000000, -0.1305252;;,
      30; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }
    //         Drehung um    x-Achse       z-Achse        y-Achse

Durch die Spezifikation der geneigten Stellung an erster Stelle wird diese als Ausgangsstellung angesehen, sodass die Windmühlenflügel nach dem Herausziehen aus dem Katalog nicht erst in die richtige Stellung gebracht werden müssen. Tatsächlich angestoßen wird die Animation nicht, da die Windmühlenflügel ja nie in die Senkrechte gestellt werden sollen (man könnte es aber tun).

Da das Modell nun 2 Animationen besitzt, die innerhalb der AnimationSet-Definition "hintereinandergeschaltet" sind,

AnimationSet Windmuehle {
  Animation {
    {Fluegel}
    AnimationKey {  // Rotation
      0;
      3;
      00; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;,
      12; 4;  0.0000000,  1.0000000,  0.0000000,  0.0000000;;,
      24; 4; -1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }
  }
  Animation {
    {Huelle}
    AnimationKey {  // Rotation
      0;
      2;
      25; 4;  0.9144449,  0.0000000,  0.0000000, -0.1305252;;,
      30; 4;  1.0000000,  0.0000000,  0.0000000,  0.0000000;;;
    }
  }
}

wird nun eine anim-Datei benötigt, in der die beiden Animationen aufgetrennt werden und gleichzeitig festgelegt wird, dass die erste Animation automatisch in einer Endlossschleife ablaufen und die zweite Animation nicht gestartet werden soll:

Flügel;00;24;AutoPlay;Loop
Neigung;25;30;NoAutoPlay;NoLoop

Im beiliegenden zip-Paket

Hollaender Windmuehle.zip

befinden sich 3 Windmühlen-Varianten, wobei die erste die obige "direkte" Lösung mit einer einzigen Drehanimation repräsentiert.

In Variante 2 wurden "nur" die Windmühlenflügel gerade gestellt und mit der ursprünglichen Drehanimation ausgestattet. Gegenüber der ursprünglichen Version von Dir drehen sich die Windmühlenflügel jetzt zwar immer noch um die x-Achse und kommen daher mit dem Windmühlen-Gebäude in Konflikt, aber sie torkeln nicht mehr.

Bei der dritten Variante wurde zur 2. Variante die Kipp-Animation hinzugefügt, wodurch das gesamte Rotationssystem in die richtige Drehachse ausgerichtet wird. Damit führen die Varianten 1 und 3 zum selben Ergebnis.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand,

die Idee mit der übergeordneten Gruppe ist absolut genial. Wenn ich das bei der Neukonstruktion der Märklin-Trafos schon gewusst hätte, wären mir viele Stunden Experimente erspart geblieben, bis die Rotation des schräg gestellten Drehknopfs gepasst hat.

Vielen, vielen Dank für deine Erklärung. Diese gehört meiner Meinung nach unbedingt dauerhaft ins WIKI.

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb BahnLand:

Hallo Dieter,

anbei nun die Erklärung, wie man die Neigung der Drehachse mittels der AnimationSet-Definition hinbekommt:

Moin BahnLand,

danke für die aufschlussreiche Erklärung, habe die Werte in meine Animation eingegeben und die Windmühle läuft wunderbar, die Berechnung der Drehachse in der Drehanimation werde ich wohl nicht mehr erlernen aber die anderen Vorschläge sagen mir schon was und werde sie später mal ausprobieren. Jetzt will ich die Windmühle erst mal fertig bauen.

Liebe Grüße

Dieter

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