dynamische Nummerierung


Abonniere unseren Kanal auf WhatsApp (klicke hier zum abonnieren).
  • Hallo Railsimmer,


    hat sich vielleicht schon einer von Euch mit der dynamischen Nummerierung beschäftigt ?
    Ich komme einfach nicht klar damit, ich bin mir nicht einmal sicher, ob die mit Canvas schon möglich ist, in den englischen Foren finde ICH auch keine konkrete Aussage zu dem Thema. Wenn ich überhaupt etwas sehe ist es immer die "primarynumber" die ja eigentlich ersetzt werden sollte.
    Meine Texturen dürften passen (.tga mit 1 Bit Alpha), aber ich bin verwirrt von Submaterial,usw.
    Mir wäre schon geholfen, wenn ich wüßte, ob es mit Canvas überhaupt schon möglich ist.


    Bitte vielleicht kann mir wer helfen ?


    lg cri

  • Hallo cri,


    ich hab mich vor einiger Zeit auch schon mal mit der dynamischen Nummerierung des RS beschäftigt. Leider auch (noch) nicht mit Erfolg. Deswegen bin ich auch am Lösungsweg interessiert. Ich arbeite zwar mit Blender und nicht mehr mit 3DC pro, aber das macht nicht den großen Unterschied bei diesem Problem.


    Evt. bekommen wir das ja zusammen zum Laufen.


    Also, grundsätzlich sollte das mit der dynamischen Nummerierung mit allen 3D Programmen gehen, weil es sich ja um eine simple Texturierung eines Objektes handelt.


    Ich habe mir 8 einfache Flächen (Planes) für meine Lok (218 452-1) genommen, und diese 1cm vor meinem Lokaufbau platziert.Diese 8 Flächen habe ich mit je einer separaten UV-Textur (Typ: Image) überzogen. Die Texturdateien heißen bei mir Ziffer_1.tga, Ziffer_2,tga, .... und sind vom Typ RGB+1Bit Alpha (128x256pix), wie in der RS Dokumentation beschrieben.


    Das ganze landet ja dann beim Exportieren in das RS Format in die .igs Datei der Lok, wie man unschwer erkennen kann, wenn man sich die Datei mal ansieht.


    Der RS übersetzt sich die einzelnen Ziffern der dynamischen Nummern aus der .csv Datei im machine-Ordner der Lok, mit Hilfe der "NamedTextureSetBlueprint" xml-Datei im Textures Ordner. Der RS weiß also jetzt welche Textur er für welche Ziffer auf die Flächen ziehen soll.Die geschieht ja dann dynamisch während der Simulation.


    Welche "NamedTextureSetBlueprint" der RS nehmen soll trägt man ja im Haupt EngineBlueprint ein.


    Somit sollten eigentlich die dynamischen Nummern im RS auf den Loks erscheinen.
    Tun sie aber bei mir nicht. :( sind nur schwarze Felder.


    Frage: Muß man einen bestimmten Shader benutzen?




    Gruß


    Henning

  • Halllo Henning,


    der Shader sollte der TrainBasicObjectDiffuse und Transparency auf TRANS sein, so wie ich das verstanden habe.


    Nur, die Flächen überziehe ich mich mit einer "Platzhaltertextur" die Primarynumber_x.ace benannt wird.
    Wobei x für die Stelle Steht (1 für die Einerstelle, 2 für die Zehnerstelle usw.). Bei mir erscheint aber nur diese Platzhaltertextur. Das Programm kann scheinbar keine Verknüpfung zwischen "named texture set" und unseren Zahlentexturen finden.
    Aber wie benennst Du die "Flächen" ?, denn für eine 5 stellige Zahl müßten Sie 1_0128_primarydigits_5 benannt werden, doch wie kann man 5 Objekten 1 Namnen geben ?


    Ich gaube, das Problem sind die shapes (also unsere Flächen)
    Tschuldigung wenn ich etwas wirr schreibe, aber ich bin mitten unter der Arbeit.
    lg cri

  • Hi cri,


    du hast ja vollkommen recht. Der RS muß natürlich auch den Namen der Objekte (= der einzelnen Flächen) kennen, damit er weiß welche Zifferntextur er dynamisch auf die Flächen ziehen soll. Die "Übersetzungstabelle" Ziffern auf Texturnamen steht ja, wie oben beschrieben, in der "NamedTextureSetBlueprint" xml-Datei im Textures Ordner. Der Texturname kann also frei gewählt werden.


    Aber so wie ich das verstehen müssen die Flächen dann natürlich 1_0xxx_primarydigits_0, 1_0xxx_primarydigits_1, ... usw heißen. Die letzte Ziffer aus der .csv Datei mit dem Nummernbereich sollte dann auf die Fläche 1_0xxx_primarydigits_0 gezogen werden, die vorletzte auf die ...digits_1, usw. Der RS muß ja die Nummern in der richtigen Reihenfolge auf die Flächen packen. Dazu müssen sie natürlich, anhand des vorgeschriebenen Namens, unterschieden werden können.


    Ich hab noch ein anders Problem: Die Vorlagen für die Zifferntexturen hab ich als RGB+1Bit Alpha erstellt im .tga Format erstellt. Nach der Konvertierung mit ToAce erscheinen dann aber im RS die Ziffern auf schwarzen Hintergrund und nicht transparent. Welche Einstellen/Formate muß ich beim Konvertieren mit ToAce nehmen?



    Gruß


    Henning

  • Hallo Henning,


    Das mit der ToAce Einstellung kann ich jetzt nicht auswendig sagen, glaube jedoch, daß ich die Voreinstellung (RGBA 32 Bit ?? oder so )einfach übernommen habe, aber wegen der Benennung, im Beispiel wird ein Objekt mit einer 5 Stelligen Zahl primarydigits_5 benannt, wenn Du aber bei 5 Objekten mit 0 zu nummerieren beginnst, ist die 5te Stelle primarydigits_4.
    Was ich auch nicht verstehe, laut DevDocs wird zuerst das Objekt mit den Nummern texturiert, soweit so gut, aber anschließend wird das Objekt mit den Platzhaltertexturen texturiert, was ja Sinn macht.
    Ich habe schon so viel probiert, aber es funktioniert nicht. (könnte bei mir auch an Canvas liegen)
    Aber es ist trotzdem toll, daß Kuju so viele interne Informationen veröffentlicht hat, immerhin ist das Programm noch keine 4 Monate auf dem Markt und wir diskutieren schon über Programminterna.


    lg cri

  • Ja das muss man ihnen wirklich lassen, das ist ne tolle sache. Und das beste kommt noch, es wurde bereits des öfteren gesagt dass wenn RSDL aufhört zu existieren sie den Programmcode rausgeben werden. Das würde dann bedeuten: Everything possible 8)

  • Hi,


    derzeit schreibe ich noch an meinem Python script für Blender, welches die Vorarbeit für steampsi's Blender export script in das RS .igs Format macht. steampsi's script stellt sich etwas an, wenn nicht alle Randbedingungen genau erfüllt sind.
    Ich kann zZ meine Lok nicht ins .igs format exportieren.


    Wenn mein Script fertig ist und ich wieder meine Lok in den RS rüberexportieren kann, DANN kann ich endlich auch mit den Texturen für die Betriebsnummern weiter forschen.Wenn etwas Zeit vom Wochenende abknapsen kann, wird der export/import wohl am Sonntag wieder (reibungslos?) laufen.


    Wenn ich rausgefunden habe wie die Sache mit den Nummern funzt, sage ich mal bescheid.


    Gruß


    Henning

  • Hallo an alle Railsimmer,


    das Problem mit der dynamischen Nummerierung könnte gelöst sein:


    Man braucht 5 kleine Texturen z.B. 64x64 und die können einfärbig sein, diese werden von -primarynumber_1 bis primarynumber_5 benannt, in .ace files umgewandelt und kommen in den Textur Folder.
    Natürlich braucht man auch ein Nummern Set von number_0.ace bis number_9.ace.


    Bis jetzt nichts neues, aber:


    importiere die example Engine (Dampf für 3 Nummern, Vorn, links, rechts) oder (Elektro für links und rechts) aus dem Developer-Folder.


    Die Example Engine enthält ein Objekt 1_128_primarydigits_5, diese Objekt in die Objektlibrary kopieren.


    Aus der Objektlibrary kann das Objekt in die eigene Szene übernommen werden, auf die richtige Größe bringen wenn notwendig und den Folder in dem sich das Objekt befindet 1_128_primarydigits_5 oder bei Canvas (automatische LOD erstellung) in primarydigits_5 umbenennen.


    Exportiere das Modell und stelle sicher, das du das Blueprint Set richtig eingegeben hast.


    Damit sollte die automatische Nummerierung funktionieren, jedoch hat die Erste Lok die du ins Szenerio stellst eine graue Textur statt der Nummern, bein nächsten Szenariostart erschein jedoch die Nummer.


    Diese Methode wurde angeblich mit RSDL abgeklärt und die sind froh, daß endlich eine Lösung gefunden wurde


    Darf aber NUR für FREEWARE verwendet werden.


    Der Beitrag stand heute in 3D Canvas Discussion Forums und ist von Kevin ( http://www.amabilis.com/discussion.htm">http://www.amabilis.com/discussion.htm )


    Ich hoffe, ich habe trotz meines schwachen Englisch alles Wesentliche rübergebracht, ausprobiert habe ich es noch nicht (nur den Import, und der funktioniert).


    lg cri