Jump to content

Ronis Projekte


RoniHB

Empfohlene Beiträge

Hallo @BahnLand,

Vielen Dank für deine Ausführung, dann sollte ich das Licht vielleicht schaltbar ausführen. Sicher eine schöne Übung für den Umgang mit Sketchup.

Hallo @Goetz,

ich habe das schon richtig verstanden, die Intension bei diesem Modell ist, den Umgang mit Sketchup zu erlernen und nicht die richtige Konstruktion von Fachwerken. War vielleicht ungeschickt von mir, eine solche Textur zu verwenden. Hätte mal lieber Ziegel nehmen sollen, aber wer weiss, die kann man ja auch nicht einfach so übereinander stapeln. ;)

Aber vielleicht kannst du mir ja ein Modell aus dem Katalog nennen, an dem ich mich für das nächste mal orientieren kann.

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

vor 3 Stunden schrieb RoniHB:

dann sollte ich das Licht vielleicht schaltbar ausführen. Sicher eine schöne Übung für den Umgang mit Sketchup.

bitte beachte, dass Du in Sketchup das Modell für mögliche Animationen nur vorbereiten kannst, die eigentliche Definition der Animation aber erst nach dem DirectX-Export in der x-Datei selbst anhängen musst. Hier eine kurze Anleitung speziell für das Ein- und Ausschalten der beleuchteten Fenster in Deinem Fachwerkhaus.

Leider kann ich Dein Hausmodell nicht mehr aus dem Katalog auf die Anlage ziehen. Aber ich meine mich zu erinnern, dass dieses auf allen 4 Seiten beleuchtete Fenster besitzt. Um diese schaltbar zu machen, must Du wie folgt vorgehen.

  1. In Deinem Haus gibt es Fenster, deren Scheiben mit dem "Emissive"-Teil Deiner Textur bemalt wurden (das sind die leuchtenden Fenster), und solche, deren Scheiben mit dem anderen Teil der Textur bemalt wurden (das sind die dunklen Fenster). Damit Du die Beleuchtung der mit dem Emissive-Teil der Textur bemalten Fenster später mittels einer Animation schalten kannst, musst Du diese in Sketchup zunächst in eine Gruppe zusammenfassen, der Du einen eindeutigen Namen gibst (ein geeigneter Name wäre "Fenster_hell"). Ferner benötigst Du ein Duplikat dieser Fenstergruppe, welchem Du beispielsweise die Bezeichnung "Fenster_dunkel" gibst. Diese Fenstergruppe muss in Deinem Modell an derselben Stelle wie die Gruppe "Fenster_hell" positioniert sein. Die Scheiben der Gruppe "Fenster_dunkel" musst Du mit dem "nicht-Emissive-Teil" Deiner Textur bemalen (genauso wie die anderen dunklen Fenster). Bei der späteren Animation werden dann in Abhängigkeit davon, ob das Licht an- oder ausgeschaltet sein soll, entweder die Gruppe "Fenster_hell" oder die Gruppe "Fenster_dunkel" angezeigt, und die jeweils andere Gruppe "versteckt".

    Beachte bitte, dass die Gruppenbezeichnungen nur aus den Zeichen A-Z, a-z, 0-9, dem Unterstrich ("_") und dem Minuszeichen ("-") bestehen und keine Leerzeichen enthalten dürfen.
     
  2. Nachdem Du Dein Modell in Sketchup in eine x-Datei exportiert hast, öffnest Du diese und hängst hinten folgende Zeilen an:
     
    Zitat

     

    AnimTicksPerSecond {
      100;
    }

    AnimationSet Leuchtfenster {

         Animation {
              {Fenster_dunkel}
              AnimationKey {  // Scale  
                   1;
                   002;
                   000; 3; 1.0, 1.0, 1.0;;,
                   001; 3; 0.0, 0.0, 0.0;;;
              }
         }
     
         Animation {
              {Fenster_hell}
              AnimationKey {  // Scale  
                   1;
                   002;
                   000; 3; 0.0, 0.0, 0.0;;,
                   001; 3; 1.0, 1.0, 1.0;;;
              }
         }

    }


    Der erste Abschnitt "AnimTicksPerSecond" gibt an, wie schnell die Animaton ablaufen soll. Die Zahl 100 bedeutet, dass ein Animationsschritt 1/100 Sekunde dauern soll. Da die Animation nur aus den beiden Zuständen "An" und "Aus" besteht, bedeutet dies, dass die Umschaltung praktisch "schlagartig" erfolgt.

    Die eigentliche Animationsdefinition nennt sich "AnimationSet" und wird mit einem beliebigen Namen (ich habe hier "Leuchtfenster" gewählt) versehen. Innerhalb der geschweiften Klammer von "AnimationSet" gibt es für jede der beiden Gruppen "Fenster_dunkel" und "Fenster_hell" eine "Animation" (wird jeweils in der geschweiften Klammer danach referenziert) und innerhalb der jeweiligen "Animation" einen "AnimationKey", der die eigentliche Animationsfolge für einen bestimmten Ablauf innerhalb der Animation (hier eine Kontraktion ("Scale")) enthält. Der AnimationKey vom Typ "Scale" wird über den ersten Wert 1 identifiziert (neben der Scale-Animation gibt es auch eine Verschiebungs-Animation und eine Dreh-Animation, die beide hier nicht benötigt werden). Der nächste Wert 2 besagt, dass die Animation aus genau den 2 nachfolgenden Zuständen besteht, die jeweils in einer Zeile, beginnend mit der Zustandsposition 0 und 1, stehen. Die 3 Zahlen dahinter sind die Skalierungsfaktoren in x-, z- und y-Richtung (in dieser Reihenfolge!), wobei das Tripel "1.0, 1.0, 1.0" die volle Ausdehnung der jeweiligen Gruppe (im Modell sichtbar) und das Tripel "0.0, 0.0, 0.0" die Kontraktion der Gruppe auf einen Punkt in der Mitte der Gruppe (Ausdehnung 0, daher unsichtbar) darstellt (bitte beachte: Dezimalzahlen werden immer mit einem Dezimalpunkt geschrieben. Kommas und Semicolons sind Trenner, die exakt so wie oben angegeben gesetzt sein müssen).

    Läuft die Animation vorwärts, wird die Gruppe "Fenster_dunkel" zusammengezogen und die Gruppe "Fenster_hell" auf die volle Größe ausgedehnt. Der Vorwärtslauf der Animation entspricht also dem Anschalten des Lichts. Entsprechend wird das Licht ausgeschaltet, indem die Animation rückwärts abläuft.

    Nachdem die obige AnimationSet-Defintion an den Inhalt der x-Datei hinten angehängt wurde, wird diese wieder abgespeichert.

  3. Damit die Animation im Modellbahn-Studio nach dem Platzieren des Hauses auf der Anlage nicht automatisch anläuft und sich in einer Endlosschleife bewegt, wird eine Datei mit der Endung ".anim" benötigt, die "vorne" genauso heißt wie die x-Datei. Diese muss folgenden Inhalt besitzen:
     

    Zitat

    Fensterbeleuchtung;0;1;NoAutoPlay;NoLoop


    Hierbei ist der Name "Fensterbeleuchtung" frei erfunden. Es ist dies jener Name, der im Modellbahn-Studio als Bezeichnung dieser Animation angezeigt wird. Die beiden Zahlen dahinter kennzeichnen die Positionen (0 und 1) der Animation, zwischen welchen diese abläuft. Im vorliegenden Beispiel ist dies die gesamte Animation. Bei komplexeren Beispielen kann die Gesamtanimation aus mehreren Teilanimationen bestehen, die dann bestimmte Abschnitte innerhalb der Gesamtanimation belegen. Mit den beiden nachfolgenden Schlüsselwörtern wird schließlich verhindert, dass die Animation nach dem Positionieren des Modells auf der Anlage automatisch anläuft und endlos schleift.
     

  4. Beim Hochladen der x-Datei in das Modellbahn-Studio wird die zugehörige anim-Datei automatisch mit eingelesen, wenn sie denselben Namen wie die x-Datei besitzt. Nach dem Positionieren des Modells auf der Anlage ist die Animation im Eigenschaftsfenster des Modells zu finden, solange das Modell markiert (ausgewählt) ist.
     

Viele Grüße
BahnLand


  1.  
Bearbeitet von BahnLand
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand,

vielen Dank für deine, wie immer, ausführliche Beschreibung. Ich werde das mal in dem Modell umsetzen.

Ich habe im Forum deinen Beitrag von 2015 zu Animationen mit Sketchup gefunden.
Ist die noch so gültig? Kann ich sie verwenden für weitere Animationen wie drehen und bewegen?

LG Ronald

Schon fertig. Hat super funktioniert.

Jetzt schaue ich mir noch mal das Fachwerk an, denn vielleicht stelle ich es doch noch in den Katalog. Wäre ja schade wenn es denn in den Tiefen meiner SSD verschwindet. ;)

Bearbeitet von RoniHB
Ergänzung
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

ich vermute, dass Du diesen Beitrag meinst.

Ja, die Inhalte zur AnimationSet-Definition sind weiterhin gültig.

Bei den Rad- und Drehgestell-Animationen, die ja allein über das Schlüsselwort gesteuert werden und keine separate Animations-Beschreibung benötigen, hat sich jedoch einiges geändert:

Einzelne Räder (Radsätze mit Achse) werden heute nicht mehr mit RadAnim0, RadAnim1, RadAnim2 usw., sondern mit _Wheel0 _Wheel1, _Wheel2 usw. bezeichnet. Die Drehgestelle heißen heute nicht mehr Rad0 und Rad1, sondern _WheelSet0 und _WheelSet1, wobei _WheelSet0 immer das vordere und _WheelSet1 immer das hintere Drehgestell im Modell ist. Die Beschreibung für die sich drehenden Räder und die Drehgestelle ist bis auf die geänderten Bezeichnungen weiterhin gültig, soweit sie nicht in Kombination eingesetzt werden. Die Beschreibung für den Einsatz sich drehender Räder innerhalb von Drehgestellen ist nicht mehr aktuell. Es genügt heute, die Räder mit den Gruppen-Bezeichnungen _Wheel0, _Wheel1 usw. in Sketchup einfach innerhalb der Gruppe für das übergeordnete Drehgestell (_WheelSet0 oder _WheelSet1) zu platzieren. Den Rest erledigt der Sketchup-DirectX-Exporter inzwischen automatisch, sodass die etwas komplexe Beschreibung für sich drehende Räder innerhalb von Drehgestellen heute ignoriert werden kann.

Auch bei der vom Prinzip her weiterhin gültigen Beschreibung für die AnimationSet-Definition gibt es Vereinfachungen, die mir 2015 so noch nicht bewusst waren:

Handelt es sich bei einer Animation oder einem Teilbereich davon um eine gleichförmige Bewegung (eine gleichmäßige Verschiebung zwischen zwei Koordinatenpunkten oder  eine gleichmäßige Skalierung (Streckung der Schrumpfung) oder eine Drehung mit konstanter Rotationsgeschwindigkeit), brauchen dazwischen befindliche Animationszustände nicht aufgelistet zu werden.

Als Beispiel hierfür betrachte man eine Tür, die beim Öffnen langsam um 90° gedreht werden soll.   Angenommen, das Drehen der Tür solle 5 Sekunden dauern. Da man bei "AnimTicksPerSecond" nur ganze Zahlen für die Animationsschritte, die innerhalb einer Sekunde abgespielt werden sollen, angeben kann, muss man bei über einen längeren Zeitraum laufenden Animationen den Vorgang in mehrere Animationsschritte aufteilen, um die vorgesehene Animationszeit zu erreichen. Das langsamste, was man bei AnimTicksPerSecond einstellen kann, ist ein Animationsschritt pro Sekunde. Deshalb werden bei dem betrachteten Beispiel mindestens 5 Animationsschritte (bei AnimTicksPerSecond=1) benötigt, um beim Öffnen der Tür in 18°-Schritten 5 Sekunden verstreichen lassen zu können. Nach der Beschreibung aus dem genannten Beitrag bräuchte man also eine Dreh-Animation mit 6 Animationszuständen (0°, 8°, 36°, 54°, 72° und 90°), die man in dem AnimationKey für die Drehanimation hinterlegen müsste:

AnimationKey {
   0;      Schlüsselcode für Drehanimation
   6;      Anzahl der nachfolgend aufgelisteten Animationszustände
   0;  4;  Rotationskoordinaten für Drehwinkel 0° (4 Werte),
   1; 4;   Rotationskoordinaten für Drehwinkel 18° (4 Werte),
   2;  4;  Rotationskoordinaten für Drehwinkel 36° (4 Werte),
   3;  4;  Rotationskoordinaten für Drehwinkel 54° (4 Werte),
   4;  4;  Rotationskoordinaten für Drehwinkel 72° (4 Werte),
   5;  4;  Rotationskoordinaten für Drehwinkel 90° (4 Werte);
}

Die einzelnen Animationszustände sind hierbei mit fortlaufenden Positionsnummern am Anfang jeder Zustandszeile versehen.

Da es sich hier jedoch um eine gleichmäßige Bewegung mit konstanter Drehgeschwindigkeit handeln soll, genügt es, nur den ersten und den letzten Zustand zu spezifizieren:

AnimationKey {
   0;      Schlüsselcode für Drehanimation
   2;      Anzahl der nachfolgend aufgelisteten Animationszustände
   0; 4;  Rotationskoordinaten für Drehwinkel 0° (4 Werte),
   5; 4;  Rotationskoordinaten für Drehwinkel 90° (4 Werte);
}

Hierbei ist zu beachten, dass die Positionsnummern der verbleibenden Animationszustände beibehalten werden. Die Zustände mit den Positionsnummern 1-4 werden nun vom Modellbahn-Studio durch Interpolation automatisch berechnet. Da in dem AnimationKey nun nur noch 2 Zustandsdefinitionen vorhanden sind, muss auch die davor angegebene Anzahl entsprechend reduziert werden.

Mit dieser Ergänzung ist die oben referenzierte Beschreibung aus den Jahr 2015 weiterhin gültig.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand,

vielen Dank für die Info, wie immer, sehr detailliert. Ich denke damit komm ich klar.

@Roter Brummer, hallo,
ich habe mich dazu entschlossen das Fachwerk von dem Haus zu überarbeiten. Hier die Vorderseite:

temp.JPG.a4d7795bbb68799c9a47270698a1baa8.JPG

ich habe mich dabei an dem Modell Altstadt01 von dir orientiert. Wenn das so ok ist würde mit den weiteren 3 Seiten so verfahren. vielen Dank schon mal für deine Unterstützung.

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hall @RoniHB,

viel besser!

Ich muss dazu sagen, dass dieses Häuschen, an dem du dich orientiert hast, ursprünglich nicht von mir, sondern vom ehemaligen Mitglied Robinwood stammt. Dort waren aber massenweise Texturen und Polygone verarbeitet, die ich versucht habe, so gut es ging, zu reduzieren. Damit das Häuschen später auf älteren Anlagen nicht verrutscht, hat es auch einen Nullpunkt, der da eigentlich nicht hin gehört.

Ich habe mir erlaubt, einige Anmerkungen in dein obiges Bild einzubauen.

1230.jpg.192895990cefcc6620b458032817df72.jpg

Grün: Dieser Balken (eine sogenannte Winkelstrebe) sollte anders herum verlaufen, weil sie damit die Strebe, das ist der schräge Balken links daneben, entlastet.

Orange: Diese Winkelstreben können wegfallen, weil sie keine statische Funktion haben. Fachwerk wurde zunächst immer so sparsam wie möglich gebaut. Das sieht man besonders gut bei Bauten im Bergischen Land, im Sauerland und in der Eifel, die ja früher sehr arme Gegenden waren. Beim fränkischen Fachwerk war dagegen wohl mehr Geld vorhanden. Dann könnte an diesen Stellen der "Fränkische Mann" eingebaut sein, der aber keine statische Funktion ausübt, sondern schmückendes Beiwerk ist.

Gelb: Bei der von dir gewählten Vorlage sind diese Balken auch so dick. Das ist der ursprünglichen Version des Hauses von Robinwood geschuldet. In der Realität wären solche Balken für einen privaten Hausbau unerschwinglich teuer, weil ja gigantische Bäume dafür gefällt werden müssten. Diese Rahmhölzer sollten also dünner sein.

Zu den Fenstern: Eine, wie ich finde, ganz gute Methode ist, wenn man mit Google Earth irgendwo auf der Welt einen Spaziergang unternimmt, vor einem geeigneten Haus anhält und sich zu diesem hin dreht, so dass man von vorne draufschaut. Dann macht man eine Screenshot und hat super geeignete realistische Aufnahmen von Fenstern, die man ausschneiden und damit als Glasflächen in die Grafik einsetzen kann.

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Zur Schwelle: Das Erdgeschoss ist oft gemauert bzw. ist wenigstens unter dem unteren Schwellrahmen eine Schicht zur Isolation vor Feuchtigkeit aus dem Untergrund.

a.thumb.JPG.82049ecd08ea4e72fc52707b7a2262e8.JPG b.thumb.JPG.cd110c6c1c96fec0535d840fec691839.JPG c.thumb.jpg.2f539953e6a5dc9a4785326c5d8b4cfd.jpg

Scherungsklräfte werden durch Diagonalen aufgefangen. Man kennt das auch von Regalen eines bekannten schwedischen Möbelhauses. Anders sieht es beim Tudor-Fachwerk aus. Hier sieht man hauptsächlich starke Balken mit einer strukturellen Betonung der Vertikalen. (https://www.alamy.de/stockfoto-city-of-london-das-tudor-fachwerk-staple-inn-in-high-holborn-135548396.html) Aber auch hier findet man oft diagonale Strukturen, wenn auch nicht so häufig, wir im kontinentalen Europa.  (z.B. https://www.pinterest.fr/pin/rouen-fachwerk-frankreich--435441857720740033/).

Viele Grüße

kdlamann

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Roni,

bis jetzt gut gelungen, ... alle Achtung!

Zwei, drei Mängel wären noch zu beseitigen. Betrachte 'mal das Modell mit kritischem Blick. Am Kamin wird dir etwas auffallen, die Unterseite des Dachüberstand der Mansarde nochmal begutachten. Ebenso nachgucken: die Fachwerk-Textur an die Modellkanten angleichen, sodass die weißen Ränder nicht mehr sichtbar sind.

...auf geht's Ronald

Gruß Karl

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

die von dir verwendete Textur für die Dachziegel ist aber nicht der Realität entsprechend. Da kannst du ja nichts für, aber die würde ich austauschen. Dachziegel liegen in der Horizontalen immer in einer Reihe nebeneinander. Einen 50%-Versatz nach oben oder unten gibt es nicht. Wenn, dann gibt es beim Biberschwanz eine seitlichen Versatz um die Hälfte.

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Roter Brummer:

die von dir verwendete Textur für die Dachziegel ist aber nicht der Realität entsprechend.

Hallo Brummi,
da hast du wohl recht, mir gefällt die Dachtextur auch nicht so richtig, es fehlen ja auch die Firstpfannen. Auch bei dem Fachwerk ist die Holzmaserung bei der Erstellung der Multitextur verloren gegangen. Ich werde wohl das Ganze nochmal neu erstellen.

Eigentlich diente das Ganze ja nur, um den Umgang mit Autosketch zu erlernen und um zu beurteilen, ob ich mit Blender oder mit Autosketch Modelle baue, aber jetzt hat das Ganze eine gewisse Eigendynamik entwickelt und bei mir den Ehrgeiz geweckt, das Häuschen so gut wie möglich zu bauen. schauen wir mal, wie lange die Motivation bei mir noch anhält. Also seid gespannt.

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo liebe Leute,
ich kämpfe mal wieder mit SketchUp. Wie ist das da mit dem Sonderobjekt _Coupler0. Ich habe jetzt ein kleines Quadrat mit dem Gruppnnamen versehen, weil mein Tiny House an einer bestimmten Stelle am Zugfahrzeug ankuppeln soll. gelingt mir aber nicht. Wo und wie muss dieses Teil genau im Modell platziert werden, damit es funktioniert. Der _Coupler0 ist vorne in der Anhängerkupplung platziert.
temp.thumb.JPG.767a10bafd50cc52115c19bfe266f962.JPG

Wie groß darf eine Tauschtextur im Verhältnis zum Modell sein? Ich bekomme beim erstellen im Studio die Meldung ich mus die Textur um 25% verkleinern.
Die eine Multitextur ist 2048 x 2048

Wie reduziere ich die Anzahl der Polygone, gibt's da auch einen Automatismus wie bei Blender?

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

vor 11 Minuten schrieb RoniHB:

Wie ist das da mit dem Sonderobjekt _Coupler0. Ich habe jetzt ein kleines Quadrat mit dem Gruppnnamen versehen, weil mein Tiny House an einer bestimmten Stelle am Zugfahrzeug ankuppeln soll. gelingt mir aber nicht. Wo und wie muss dieses Teil genau im Modell platziert werden, damit es funktioniert. Der _Coupler0 ist vorne in der Anhängerkupplung platziert.

hast Du das "_Coupler0"-Quadrat auch "bemalt"? Es muss mit irgend etwas eingefärbt sein, damit es vom Sketchup-DirectX-Exporter in die x-Datei übernommen werden kann. Wenn Du das _Coupler0-Objekt im Kupplungskopf Deiner Anhängerkupplung platziert hast, müsste es eigentlich funktionieren. Zeigt Deine Kupplung auch in Sketchup wirklich nach "vorne" (in Richtung der positiven x-Achse)? Diese definiert nämlich, wo im Modell "vorne" und "hinten" ist. Und darauf bezogen muss sich "_Coupler0" immer in der vorderen Hälfte des Modells und "_Coupler1" immer in dessen hinterer Hälfte befinden.

vor 17 Minuten schrieb RoniHB:

Wie groß darf eine Tauschtextur im Verhältnis zum Modell sein? Ich bekomme beim erstellen im Studio die Meldung ich mus die Textur um 25% verkleinern.
Die eine Multitextur ist 2048 x 2048

Das hängt von der Größe (räumlichen Ausdehnung) des Modells ab (die Komplexität des Modells spielt hier (meine ich) keine Rolle). Wenn Du Deine Textur einfach auf 1024x1024 Pixel zusammenschiebst (damit hast Du sie dann sogar um 75% verkleinert), kannst Du sie auf Dein Modell weiterhin erfolgreich anwenden, ohne dass Du die Texturierung nochmals durchführen musst. Einziger Nachteil: Die auf das Modell aufgebrachte Textur besitzt nun eine niedrigere Auflösung.  Du kannst die Textur natürlich auf nur in eine Richtung von 2048 auf 1024 Pixel zusammenschieben. Dann hast Du sie insgesamt nur um 50% reduziert. Du hast dann aber in den beiden Richtungen verschiedene Auflösungen, und ich weiß nicht, ob dass dann von Dir gewollt ist.

vor 25 Minuten schrieb RoniHB:

Wie reduziere ich die Anzahl der Polygone, gibt's da auch einen Automatismus wie bei Blender?

Ich kenne keinen und mache dies immer von Hand. Dann kann ich auch insbesondere gewichten, wo ich ein stärkere Vereinfachung und wo eine geringere Vereinfachung durchführen möchte.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Bahnland,

vor 49 Minuten schrieb BahnLand:

Zeigt Deine Kupplung auch in Sketchup wirklich nach "vorne" (in Richtung der positiven x-Achse)?

Daran hat es tatsächlich gelegen, danke für den Tipp.

Die Polys "zu Fuß" zu reduzieren ist doch sicherlich sehr mühselig, oder?

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Ronald,

ich bezweifle, dass dies nur ein Sketchup-Problem ist. Es hat in jedem Fall etwas mit Gruppen-Bezeichnungen und im Umfang modifizierten Teilobjekten in den höheren LoD-Stufen zu tun, weshalb der Fehler nicht auftritt, wenn Du die LoD-Stufe separat als eigenständiges Modell in das Modellbahn-Studio hochlädst. Grundsätzlich solltest Du folgendes beachten, wenn Du in Deinen Modellen Gruppen verwendest, die auch in den höheren LoD-Stufen auftreten:

Wenn das Modellbahn-Studio in einer LoD-Stufe Frames erkennt (beim DirectX-Export werden aus den Sketchup-Gruppen Frames), deren Bezeichnung auch bereits in einer niedrigeren LoD-Stufe (dies ist normalerweise das Hautmodell) vorhanden ist, spart sich das Modellbahn-Studio die Berechnung der Gruppen-Koordinaten innerhalb der LoD-Sufe und nimmt stattdessen die Koordinaten der Gruppe aus dem Hauptmodell her. Wenn die Koordinaten der besagten Gruppe in den beiden Detailstufen übereinstimmen, ist alles in Ordnung. Besitzt aber die Gruppe in der höheren LoD-Stufe andere Koordinaten, werden stattdessen die Koordinaten aus dem Hautmodell verwendet, was dann zu einer Verschiebung der (Bau-)Gruppe bei der Anzeige der höheren LoD-Stufe führt.

Um eine ungewollte Verschiebung von Baugruppen in höheren LoD-Stufen zu verhindern sind daher folgende Vorkehrungen zu treffen:

  1. Gib jeder Gruppe eine explizite eindeutige Bezeichnung.
    Werden den Sketchup-Gruppen keine expliziten Namen zugeordnet, werden sie in Sketchup alle "Gruppe" genannt. Der Sketchup-DirectX-Exporter erkennt zwar solche"unbenannten" Gruppen und ändert die Bezeichnung in "GrpXXX" ("XXX" = fortlaufende Nummer) ab, um sie "eindeutig" zu machen. Die Nummerierung der Gruppen erfolgt in jener Reihenfolge, in welcher die Gruppen von Sketchup in der Eingabedatei für den Sketchup-DirectX-Exporter hinterlegt sind.

    Und diese Reihenfolge muss bei den verschiedenen LoD-Stufen nicht unbedingt übereinstimmen. Dies hängt damit zusammen, dass im Sketchup-Modell die Gruppen in der zeitlichen Reihenfolge ihrer Bearbeitung hinterlegt sind. Und wenn man dann später eine solche Gruppe erneut öffnet und modifiziert, rutscht sie automatisch an das Ende der internen Gruppen-Folge im Modell.

    Nehmen wir nun einmal an, dass bei Deinem Tiny-Haus sowohl das Fahrgestell als auch der Aufbau zwei unbenannte Gruppen sind, die im Hauptmodell und in der LOD1-Stufe in unterschiedlicher Reihenfolge hinterlegt sind. Wird z.B. der Aufbau im Hauptmodell mit "Grp1" und im LOD1-odell mit "Grp2" bezeichnet, während das Fahrgestell im Hauptmodell die Bezeichnung "Grp2" und in der LOD1-Stufe die Bezeichnung "Grp1" besitzt, wird vom Modellbahn-Studio bei der Anzeige von LOD1 der Aufbau an den Koordinaten des Fahrgestells und das Fahrgestell an den Koordinate des Aufbaus angezeigt.

    Diese Vertauschung der Gruppen-Bezeichnungen kann verhindert werden, indem man allen verwendeten Sketchup-Gruppen eindeutige Namen zuweist.
     
  2. Verwende keine Gruppenbezeichnung mehrfach.
    Wenn ein Bauteil innerhalb des Modells mehrfach eingesetzt werden soll, müssen die einzelnen Ausprägungen des Bauteils verschiedene Gruppen-Namen besitzen. Angenommen, in einem Reisezugwagen sei ein Sitz modelliert, als Gruppe zusammengefasst (Bezeichnung "Sitz") und dann z.B. 40 mal kopiert worden. Behält man nun die Bezeichnung "Sitz" für alle diese Baugruppen bei, erkennt das Modellbahn-Studio bei der Darstellung des LOD1-Modells bei jeder dieser einzelnen Baugruppen, dass es die Gruppe "Sitz" im Hauptmodell bereits gibt (schon beim ersten Treffer). Als Folge werden bei der Anzeige des LOD1-Modells alle 41 Sitze an jener Position dargestellt, welche der erste Treffer im Hauptmodell besitzt. Man sieht also in der LOD1-Stufe nur noch einen Sitz.
     
  3. Gleiche Gruppen in verschiedenen LoD-Stufen müssen identische Koordinaten besitzen.
    Auch hierzu ein Beispiel: Angenommen, im Hautmodell werde ein Tisch mit vollständigem Untergestell dargestellt, während bei der LOD1-Stufe die Tischbeine weggelassen werden und nur die Tischplatte realisiert wird. Ohne spezielle Vorkehrung legt Sketchup für jede Gruppe den Nullpunkt "irgendwo" in der Mitte der Gruppe fest (hierbei spielt insbesondere die Gewichtung der Flächen innerhalb der Gruppe eine Rolle). Die Position dieses Nullpunkts wird dann in Form von Koordinaten der Gruppe relativ zur übergeordneten Gruppe oder zum Gesamtmodell ausgegeben. Der Nullpunkt des Tisches mit Beinen befindet sich damit etwa auf halber Höhe des Tisches, während beim Tisch ohne Beine (in LOD1) dessen Nullpunkt innerhalb der Tischplatte liegt. Besitzt nun der Tisch im Hauptmodell und in LOD1 dieselbe Gruppenbezeichnung, rutscht die Tischplatte bei der Darstellung der LOD1-Stufe nach unten, weil die Koordinaten des Tisches aus dem Hauptmodell verwendet werden.

    Für den Sketchup-DirectX-Exporter wurde nun das Objekt "_AP" ("Ankerpunkt") erfunden. Dieses ist ein einfaches Bauteil (z.B. ein Quadrat), dessen Kanten und bemalte Fläche zu einer Gruppe mit der Bezeichnung "_AP" zusammengefasst werden. Wird dieses _AP-Objekt nun innerhalb einer Sketchup-Gruppe an einer bestimmten Position platziert, wird der Nullpunkt der Gruppe an exakt diesem Punkt festgelegt. Die relativen Koordinaten der Sketchup-Gruppe sind dann genau die Koordinaten des darin befindlichen _AP-Objekts - relativ zu jener Sketchup-Gruppe (oder dem Gesamtmodell), die der das _AP-Objekt enthaltenden Gruppe übergeordnet ist. Die Fläche des _AP-Objekts muss bemalt (texturiert) sein, damit es vom Sketchup-DirectX-Exporter als Objekt erfasst und ausgewertet werden kann.

    Platziert man nun ein solches _AP-Objekt sowohl im Hauptmodell als auch in der LOD1-Stufe mittig am Boden des hier betrachteten Tisch-Beispiels, legt der DirectX-Exporter in beiden Detailstufen jeweils diese Position als Nullpunkt des Tischs fest. Damit ist der Tisch-Nullpunkt in beiden LoD-Stufen identisch, und die Tischplatte in LOD1 wir auf derselben Höhe dargestellt wie beim Tisch mit Beinen im Hauptmodell.

    Das _AP-Objekt besitzt immer die Bezeichnung "_AP", auch wenn es in mehreren Gruppen des Sketchup-Modells zum Einsatz kommt. Es wird ausschließlich im Sketchup-DirectX-Exorter zur Festlegung des Gruppen-Nullpunkts ausgewertet und nicht in die x-Datei für das Modellbahn-Studio übernommen.

Viele Grüße
BahnLand

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @BahnLand ,

vielen Dank für deine, wie immer, ausführliche und einleuchtende Erklärung. Ich habe tatsächlich für die LOD1 einige Gruppen des Modells entfernt und bearbeitet. Um solche Dinge muss man sich bei Blender nicht kümmern.  Da reduziert man einfach mittels eines Tools die Polys und gut ist.

LG Ronald

Link zu diesem Kommentar
Auf anderen Seiten teilen

58 minutes ago, RoniHB said:

...You don't have to worry about such things with Blender...

As a bonus, MBS recognises Gltf files for importing new models, which Blender creates with ease. I'm glad I changes horses when I did..! :)

Als Bonus erkennt MBS Gltf-Dateien zum Importieren neuer Modelle, die Blender mit Leichtigkeit erstellt. Ich bin froh, dass ich die Pferde gewechselt habe, als ich es tat!

Douglas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Für die LOD-Stufen gehe ich so vor: ich markiere das gesammte Modell und nehme Spezialobjekte mit "Shift"+Mausklick aus der Selektion heraus, dann wende ich den Befehl "Explode" an. Jetzt erfolgt der X-Export. Mit "Rückgängig" werden nun die Objekte und Gruppen wieder hergestellt für eine weitere Bearbeitung.

In SketchUp gibt es Gruppen und Komponenten. Ein Unterschied zeigt sich bei der Bearbeitung. Wenn ich die Instanz einer Gruppe bearbeite, wird nur diese Instanz verändert. Habe ich also eine Bank als Gruppe definiert, kann jede Bank einzeln verändert werden. Bei Komponenten wirkt sich die Bearbeitung auf alle Instanzen der Komponente aus. Ist die Bank also als Komponente definiert und ich ändere Form oder Textur, ändern sich alle Instanzen von Bank im Modell. Individuelle Namen kann ich sowohl Gruppen, als auch Komponenten geben. Die Verwendung von Gruppen und Komponenten vereinfacht die Arbeit erheblich, vor allem was Korrekturen oder Veränderungen betrifft.

Viele Grüße

kdlamann

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