Jump to content

Unwandeln von 3D-Dateien


Ray-Hardy

Empfohlene Beiträge

Hallo Frank,

leider komme ich mit WIKI auch nicht weiter. Das SketchUp-Prg. 2014 hat leider nur 8 Stunden funktioniert und da das Prg. in der obigen Leiste keine PlugIns aufzeigt ist jetzt nur eine Abspeicherung in "DAE" möglich. Ich habe dann die Version 8 des SketchUp geladen - da gibt es die Möglichkeit des DirektX-Exporters, aber da ist in vielen Fällen das Ergebnis nicht wie bei der original "SKP"-Datei. Manche Farben werden nicht so dargestellt.
Bitte was meinst Du mit: "Beachte unbedingt die Bedingungen für Texturen." ?

Viele Grüße aus Nürnberg

Ray-Hardy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ray-Hardy,

damit meinte ich die Größe der Texturen, -"Texturen müssen eine Breite und Höhe von "2 hoch n" besitzen, also z.B. 128x128 oder 512x64."-

Ansonsten hilft bei der Darstellung der Farben nur probieren, probieren

Noch ein Tip - Wenn Du gerade anfängst Modelle zu bauen und mit dem Gedanken spielst, vielleicht auch mal animierte Modelle zu bauen, schaue Dir das Programm Blender an.

Grüße aus Berlin

Frank

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ray-Hardy,

ich verwende für die Erstellung meiner MBS-Modelle nur die Version 8 von Sketchup, da es hier problemlos möglich ist, über das Einfügen in das Plugins-Verzeichnis einen (Direct)X-Exporter einzubinden. Ich habe sowohl Versuche mit dem von 2008 stammenden "xExporter" von "edecadoudal" als auch mit dem im Wiki genannten "3D-Rad-Exporter" gemacht.

Möchte man für seine Modelle spezielle "Bauteile" mit bestimmten Funktionen definieren (z.B. Drehgestelle, Radanimationen, Leuchtkörper, ...), so müssen diese für das 3D- Modellbahnstudio in separaten "Gruppen" zusammengefasst sein, die in der zu übergebenden (Direct)X-Datei als "Frames" definiert sein müssen. Hierzu definiert man beim Erstellen des Modells in Sketchup einzelne Gruppen, denen man jeweils einen Namen (z.B. "Rad0", "Rad1" für Drehgestelle, "RadAnim..." für animierte Räder oder "_LS..." für Leuchtkörper) zuweist.

Beim Exportieren des Modells mit dem "edecadoudal"-Exporter werden zwar die Gruppen erkannt und jeweils in einem eigenen "Mesh" zusammengefasst, aber der Exporter erzeugt keine "Frame"-Definitionen. Damit werden die Gruppen im Modellbahnstudio nicht wirksam. Beim Exportieren des Sketchup-Modells mit dem 3D-Rad-Exporter habe ich zwar eine (über das Mesh gestülpte) Frame-Definition bekommen, aber eben nur eine für das komplette Modell. Ich konnte daher mit keinem der beiden Exporter die oben aufgelisteten "Funktions-Gruppen" realisieren.

Während es sich bei dem 3D-Rad-Exporter um ein "verschlüsseltes" Ruby-Script handelt, liegt das Ruby-Script des "edecadoudal"-Exporters in lesbarer Form vor. Mit etwas  Programmier-Erfahrung kann man daher dieses Script selbst modifizieren.

Mein "DirectX-Exporter" (siehe beiliegendes ZIP-Paket) basiert auf dem "edecadoudal"-Exporter, ist jedoch so erweitert, dass jedes erzeugte "Mesh" durch eine "Frame"-Definition mit gleichem Namen eingeklammert wird. Dadurch kann das Modellbahnstudio die einzelnen Modellbaugruppen identifizieren und korrekt darstellen. Eine ausführliche Beschreibung zum Exporter findet man in der im ZIP-Paket enthaltenen PDF-Datei.

Der Exporter unterstützt Drehgestelle (Rad0, Rad1), Radanimationen (RadAnim...), Andockpunkte (_CP...) und Leuchtkörper (_LS..., _LC...).
"Geschachtelte" Gruppen (z.B. Drehgestelle mit animierten Rädern) und mit "AnimationSet" definierte Animationen werden bisher nicht unterstützt. Hier muss die vom Exporter erzeugte X-Datei von Hand nachbearbeitet werden (z.B. Ergänzung um die "AnimationSet"-Definition für schaltbare Signale).

Der Exporter kann sowohl im Maßstab 1:1 erstellte Sketchup-Modelle als auch solche, die im Maßstab 1:87 (H0) oder 1:100 erstellt wurden, verarbeiten, wobei die an das Modellbahnstudio zu übergebende X-Datei dann stets ein H0-Modell abliefert. Ferner erkennt der Exporter, ob eine in Sketchup definierte Fläche eine Farb- oder Textur-Zuordnung enthält. Flächen, denen in Sketchup weder eine Farbe noch eine Textur zugeordnet wurde, können beim Erzeugen der X-Datei "ausgeklammert" werden. Dann ist jedoch darauf zu achten, dass jede in Sketchup definierte "Gruppe" mindestens eine Fläche mit Farb- oder Textur-Zuordnung enthält. Sonst wird der Export mit Fehler abgebrochen.

Der Exporter überträgt alle Farb- und Textur-Zuordnungen aus dem Sketchup-Modell in das im Modellbahnstudio anzuzeigende Modell korrekt. Probiere den Exporter doch einfach mal aus.

Viele Grüße
BahnLand

Directx_exporter_20140220.zip

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Bahnland,

ich habe Dein Plugin mal ausprobiert. Leider funktioniert es bei mir nicht so recht.

Wenn ich die dae.Datei in das X Format umgewandelt habe und es im Programm als neues Modell "improtieren" will,

kommt immer folgende Fehlermeldung:

Fehler3dmbs.jpg

Haste einen Tip, was ich Falsch mache ? Oder an was kann der Fehler sonst noch liegen ?

Schönen Sonntag noch

astt

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo astt,

diese Meldung kommt meistens, wenn ein Modell nicht sauber gebaut wurde, soll heissen:

Doppelte Mesh-Bezeichnungen  -- Beim Kopieren oder Einfügen von Objekten aus Fremddateien kann es vorkommen, dass ein Objektname doppelt vorhanden ist.

Fehlende Texturen oder Materialien  -- Damit das MBS die Modelle korrekt darstellen kann, muss jedes Poly eines Modells zumindest eine Standardfarbe oder Textur besitzen.

Kopierfehler bei zusammengesetzten Objekten aus Fremddateien -- Wenn ein anderes Format eingefügt wird.

Wenn du dein Modell in verschiedene Objekte aufgeteilt hast, kannst du durch Ausblenden einzelner Objekte und abspeichern herausfinden, welches Teil-Objekt deines Modells mit einem Fehler behaftet ist.

Gruß Seehund

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo astt,

ich verstehe Deine Aussage nicht so richtig. Denn mein Exporter verwendet keine DAE-Dateien. Wenn Du die SKP-Datei in das Sketchup geladen hast, rufst Du dort das Plugin auf, um die X-Datei zu erstellen, wobei kein anderes Dateiformat im Spiel ist.

Die von Dir gezeigte Fehlermeldung habe ich vor allem dann bekommen, wenn die Syntax der erzeugten X-Datei nicht korrekt war. Die Ursache hierfür konnte eine geschweifte Klammer zu wenig oder zu viel sein, oder dass die Anzahl der Koordinaten-Definitionen nicht mit der Anzahl der Texturkoordinaten-Definitionen oder jener der Polygon-Definitionen korrespondierte, oder dass die Referenzen in der Mesh-Material-Liste nicht mit den Material-Definitionen übereinstimmten.  Auch die von Seehund genannten "doppelten Objektnamen" können einen Ursache sein (insbesondere darf dieselbe Bezeichnung nicht gleichzeitig für ein Mesh und eine Materialdefinition verwendet werden). Und ganz wichtig: man muss vor allem darauf achten, dass die Bezeichner in der X-Datei  nur aus den Buchstaben A-Z, a-z, den Ziffern 0-9 und dem Unterstrich ("_")  bestehen dürfen, wobei Groß- und Kleinbuchstaben unterschieden werden ("Abc" und "abc" sind verschiedene Bezeichner) und am Anfang keine Ziffer stehen darf.  Insbesondere dürfen keine Umlaute und keine Leerzeichen oder Bindestriche ("-") in den Bezeichnern enthalten sein. In der X-Datei händisch eingegebene Dezimalwerte müssen einen Dezimalpunkt (kein Komma!) enthalten, da das Komma zur Trennung der Werte innerhalb einer Liste verwendet wird.

Du siehst also, es gibt mannigfach viele Möglichketen, in eine X-Datei einen Fehler einzubauen (sei es in der X-Datei selbst oder bereits bei der Bezeichner-Wahl in Sketchup).

Leider gibt das Modellbahnstudio zu der Fehlermeldung keinerlei Detailinformationen aus (die es beim Versuch, das Modell zu laden,  wohl von DirectX selbst schon nicht bekommt), sodass ein Diagnose-Versuch ohne die von Seehund vorgeschlagene "Annäherung an den Fehler" durch Beginn des Ladeversuchs mit kleinen Teilmengen des Modells mit sukzessiver Komplettierung eher einer "Kaffeesatz-Leserei" gleich kommt.

Wenn Du den Fehler mittels der oben genannten Hinweise zur Syntax und den Hinweisen von Seehund nicht weg bekommst, könnte ich nur noch versuchen, Deine SKP-Datei selbst einmal bei mir in eine X-Datei umzuwandeln, um eventuell den Fehler zu "entdecken". Ich würde Dich dann bitten, Deine SKP-Datei (in eine ZIP-Datei verpackt), hier als "Datei"-Anhang zu hinterlegen. Die SKP-Datei muss aber mit der Sketchup-Version 8 erzeugt sein, weil ich SKP-Dateien der aktuellen Sketchup-Version 14 nicht einlesen kann.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Seehund, Hallo Bahnland

danke für Eure Antworten. Muss ich mal sehen, an was es liegen könnte. Habe ja jetzt ein paar Lösungen, die ich überprüfen kann.

Ich hab die Dateien immer erst in "dae" umgewandelt, ehe ich Sie in Direkt X gewandelt habe. Vielleicht ist dies schon der Fehler.

Da ich nicht zu Hause bin (Montage) werde ich am WE weiter probieren und die Fehlerquelle suchen.

Wünsche Euch eine schöne Woche

astt

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Monate später...

ich nutz diesen post einfach mal für mein problem mit bahnlands exporter.

habe versucht ein model nach anleitung mit drehbaren Drehgestellen und rädern auszustatten, als ich dieses dann versuchte zu exportieren, wurde mir kein datei format angeboten und es kam im skript eine error meldung das die gewünschte datei nich existiert. kann mir das einer erklären?

hier noch ein foto der meldung.

Exporter.png

und natürlich abschliesend noch gesundes neues

 

Guß vom ollen kai

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Kai,

ich weiß nicht, ob es an Ruby oder an DirectX liegt: Jedenfalls habe ich festgestellt, dass Umlaute im Datei- oder Pfadnamen nicht vertragen werden ("C:\Users\kai\Documents\modellbahnstudio\Modellvorlagen\züge\talent2.x"). Benenne bitte das Teilverzeichnis "züge" einmal in "zuege" um und probiere es dann noch einmal. Ich hoffe, dass es dann funktioniert.

Noch ein Hinweis zu den Andockpunkt-Definitionen "_CP1":
Ich hab im MBS die Erfahrung gemacht, dass bei der Verwendung identischer Bezeichnungen für verschiedene Andockpunkte im MBS nur einer davon "verarbeitet" wird. Also bitte die Andockpunkte mit verschiedenen Bezeichnungen versehen! Außerdem wird der "Wert" hinter "_CP" (hier "1") von meinem DirectX-Exporter als "Winkelwert" interpretiert und zur Definition der "Drehkoordinaten" in der "FrameTransformMatrix" des Mesches "_CP<wert>" verwendet. Schau Dir hierzu bitte den entsprechenden Abschnitt in meiner dem Exporter beigefügten Beschreibung an (DirectX-Exporter.pdf), in der Du am Ende auch die Einschränkungen bezüglich der im "Dateinamen" erlaubten Zeichen findest.

Viele Grüße
BahnLand

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