PBR, FBX: Fragen, Fallstricke, Fehler

From now, the TrainzDepot is in a read-only mode, see our announcement). From now, our new place-to-go, https://www.trainz.de is available.
Since 28.02.2019 personal data (e.g. profile contents, private messagers) has been deleted.
  • Um nicht ganz vom Zug der Zeit ueberrollt zu werden, habe ich angefangen mit mit FBX-Export und PBR-Materialien zu befassen. Mein erster Versuch sieht so aus:




    Das Material dazu:




    Die Drei Maps sind alle 24Bit-Tga:


    box_albedo.tga



    box_normal.tga



    box_parameters.tga


    Bei letzterem sehen die Kanaele wie folgt aus:


    R


    G


    B


    Soweit hatte auch alles gut funktioniert, auch wenn ich das Ergebnis noch nicht so wirklich ueberzeugend fand. Dann habe ich die Ambient Color dunkler gemacht, weil die Mauer Nachts wie mit Self-Illumination geleuchtet hatte, neu exportiert und ploetzlich trat beim Einbinden (Commit) dieser Fehler auf:


    ; <kuid:206616:100048> Validating <kuid:206616:100048>
    ; <NULL> MeshResource::LoadResource> <NULL> | arc:fld:$(local)/hash-6B||kuid 206616 100048.tzarc|
    ; <NULL> Loading mesh box.trainzmesh
    ; <kuid:206616:100048> Mismatch: Diffuse color mismatch
    - <kuid:206616:100048> VE186: Material 'arc:fld:$(local)/hash-6B||kuid 206616 100048.tzarc|**box.m.pbrmetal' is shared between multiple chunks in this asset but the material parameters conflict.


    Woran liegt das?



    Und ups, eben nochmal geoeffnet und wieder eingebunden und der Fehler ist weg. Ist zwar schoen, aber doch keine Loesung. Also hat jemand eine Idee, was da schief gelaufen sein koennte?

  • Moin,


    ich erlese aus der Meldung, dass die neue mit der alten Datei verglichen wurden.

    Dabei wurde der Unterschied im "Diffuse color" festgestellt.

    Zudem ist an allen Flächen das gleiche Material verwendet wurden...

    Diese Meldung ist insofern Quatsch, da es unsinnig ist, einen Körper unterschiedliche Material-Namen zu geben, wenn mit nur einer Textur (hier die Ziegel) gearbeitet wird...


    Ich vermute so etwas ähnliches wie einen "Laufzeitfehler" im Programm, der beim zweiten Versuch einfach nicht mehr aufgetreten ist....


    Nachtrag:

    Evtl. ist das Ganze nicht als Fehlermeldung gedacht, sondern eher als Hinweis auf das Ändern der Datei...?

  • Hallo Mick,


    setze (färbe) doch bitte den Red-Channel in der "parameters"-Textur komplett schwarz (0,0,0), und überprüfe ob dein Objekt dann weiterhin "leuchtet".


    Gruß,

    Alex

  • ich erlese aus der Meldung, dass die neue mit der alten Datei verglichen wurden.

    Ich denke nicht, laut N3V tritt der Fehler auf, wenn man z.B. bei unterschiedlichen LODs das gleiche Material verwendet und z.B. bei einem LOD die Werte des Materials geaendert hat. Sprich, ein Materialname, aber mit unterschiedlichen Einstellungen des Materials.


    Nichts von dem triff hier zu, da nur eine LOD-Stufe...


    Einen Verdacht habe ich. Der Fehler trat auf als ich dieses Objekt im Surveyor betrachtete und es gleichzeitig im CM editiert habe, vielleicht geht da etwas schief.

    setze (färbe) doch bitte den Red-Channel in der "parameters"-Textur komplett schwarz (0,0,0), und überprüfe ob dein Objekt dann weiterhin "leuchtet".

    Danke, bezueglich des Leuchtens ist das die Loesung!

  • Siecht recht ansprechend aus, aber irgendwie fehlt mir noch die wirkliche Begeisterung...


    Build 4.6, PBR-Material, gekachelt


    Build 4.5, m.ontex, gekachelt



    Build 4.5, m.tbumptex, gerendert


  • Danke Alex!


    Die Seite hatte ich schon mal studiert, war nur nicht mehr auf meinem Schirm.


    Ich hab mal eine extreme Hight-Map benutzt:



    Das wirkt tatsaechlich ziemlich gut:



    Nur mache ich wieder einen Fehler, oder TRS19. Die hinteren Mauern sind korrekt gekachelt nur das Asset mit FBX nicht. Kann man oben gut sehen. Richtig waeren ca. 6 Ziegelreihen, sind aber doppelt soviele. Wo liegt der Fehler?


    Ach ja, mit einem FBX_Viewer kann man sehen, dass alles korrekt exportiert wurde:



    Mick!

  • Ich gehe mal davon aus, das du mit "Tiling" gearbeitet hast. Im Bereich .fbx-Mesh habe ich mit eben jenem auch nur erschreckend schlechte Ergebnisse erzielt. Woran das liegt mag ich leider nicht auszumachen. Wäre aber interessant, falls jemand der mitlesenden hier den passenden Tipp hätte.

    Wenn du allerdings das Tiling über die UVW-Map regelst (doofe Angelegenheit) wird alles korrekt dargestellt.

  • gute Frage

    Ich benutze fuer den UVW Map Modifier generell Real World Size (Die Bitmaps sind auch entsprechend eingestellt, hier U=2, V=2) und danach wird mit Unwrap UVW das Mapping erstellt...


    Ich sehe gerade an Deinem Bild, dass alle Deine Polygone von 1,1 nach Links und Unten gehen. Kann es das sein?


    Mick!

  • Ich benutze fuer den UVW Map Modifier generell Real World Size

    Benutze ich eig. selten bzw. garnicht, kann ich also wenig dazu sagen.

    Ich sehe gerade an Deinem Bild, dass alle Deine Polygone von 1,1 nach Links und Unten gehen. Kann es das sein?

    *Edit.: Würde ich auf einen Versuch ankommen lassen. Könnte mir das aber ehrlichgesagt nicht vorstellen das es explizit daran liegen sollte.

  • Hier noch die ganzen TXT, vielleicht steck da ja der Wurm drin...


    Erst die xxx.texture.txt:


    Primary=dirt_normal.tga
    Alpha=dirt_normal.tga
    Tile=st
    NormalMapHint=normalmap

    --------------------------------------------------------------

    Primary=dirt.tga
    Tile=st

    --------------------------------------------------------------

    Primary=box_albedo.tga
    Alpha=box_albedo.tga
    Tile=st

    --------------------------------------------------------------

    Primary=box_normal.tga
    Alpha=box_normal.tga
    Tile=st
    NormalMapHint=normalmap

    --------------------------------------------------------------

    Primary=box parameters.tga
    Alpha=box parameters.tga
    Tile=st

    --------------------------------------------------------------


    Das Mesh metadata file:


    materials
    {
    box.m.pbrmetaldetail
    {
    detail-scale 80
    }
    }


    config.txt:


    username "box fbx"
    kuid <kuid:206616:100048>
    trainz-build 4.6
    category-region "DE"
    category-era "1930s"
    category-class "BH"
    kind "scenery"
    author "Michael Vogt alias mick1960"
    license "(C) by Michael Vogt
    Dieses Trainz-Asset-Objekt ist Public Domain
    Ein Veraendern, Reskinnen oder aehnliches ist jederzeit erlaubt, solange die Ursprungsquelle genannt wird.
    Weiterhin muss ein veraendertes Asset frei und ohne jedwede Anmeldung und ebenfalls auch auf der Auran DLS verfuegbar sein."
    contact-email "m_vogt@gmx.net"
    height-range -50,50
    description "fbx test"
    enable-pfx-collisions 0

    obsolete-table
    {
    }
    mesh-detail-level-count 1
    mesh-table-lod-transition-distances 100

    mesh-table
    {
    lod0n
    {
    mesh "box.trainzmesh"
    auto-create 1
    lod-level 0
    }
    }

    thumbnails
    {
      0
    {
    image "screenshot.jpg"
    width 240
    height 180
    }
    }

    kuid-table
    {
    }


  • Nur mal so...

    wenn Du auf U=2 und V=2 stellst, wird die Textur dann nicht doppelt (nebeneinander) gemappt?


    Und noch eine Frage:

    Können bei nur einer LOD-Stufe die Einträge zu lod in der Config nicht weg gelassen werden...?


    Jörg

  • So, nach dem Chat mit Christian und nun heissen Ohren, haben wir den Fehler erwischt.


    Hier erst einmal das (erwuenschte) Ergebnis. Die Mauer hat als Grundtextur (Diffuse Color Kanal) eine Drecktextur und darueber wird eine hochaufloesende Ziegeltextur (Ambient Color Kanal) gekachelt. Vorteil, alle die gekachelte Texturen bieten, plus eine recht kleine Textur fuer den Dreck auf der Mauer.

    Fuer das Ganze benoetigt man den Materialtyp xxx.m.pbrmetaldetail


    Links, nur gekachelt. Rechts, Dreck als Grundtextur, Ziegel darueber gekachelt.



    So schaut das Material aus:




    Damit die Ziegel hernach auch korrekt gekachelt werden, stellt man den Faktor in der


    lod0n.txt


    ein. Das Mesh heisst lod0n.fbx


    materials
    {
    box.m.pbrmetaldetail
    {
    detail-scale 4
    }
    }


    Wer will kann sich das ganze einmal anschauen: box fbx.cdp

  • Intressant, aber kloppen sich hier jetzt nicht Bump und PBR nicht?

    So gesehen ist jetzt nur der Schmutz PBR und die Mauer selber ist Normal.


    Gruss Blacktiger

  • So gesehen ist jetzt nur der Schmutz PBR und die Mauer selber ist Normal.

    Das Material ist insgesamt ein PBR Material. Die Rauheit-, Ao-, Illumination- und Metalleigenschaften der Mauer werden über die Schmutztextur gesteuert. Die Normal Maps beider Texturen ergänzen sich. Also ein PBR Material + Albedo- und Normalmap der gekachelten Textur.

    wenn du deiner Normal-Map noch einen Alpha-Channel verpasst führt das vielleicht zu dem erhofftem "Wow"-Effekt. Diesen Blogeintrag kann ich wärmstens empfehlen.

    Der Wermutstropfen bei dieser Sache ist, dass die gekachelte Textur (Mauer) bei *.m.pbrmetaldetail keinen Parallax Kanal haben darf. Gerade für Mauern wäre dieser aber schön gewesen.


    cheers

    Christian

  • Ok weiß ich bescheid, danke dir fuer die Info ChWerwick.

    Sorry das ich jetzt erst Antworte, war heute Unterwegs.


    gruss Blacktiger