Inhalt der MTL-Datei

Es gibt 22 Antworten in diesem Thema, welches 19.408 mal aufgerufen wurde. Der letzte Beitrag (22. Februar 2008 um 20:14) ist von vidiot.

  • Hi

    Kennt sich jemand mit dem OBJ-Format und da speziell der MTL-Datei aus.
    Leider fehlen in der .MTL-Datei nach dem Export aus Blender stets einige Angaben der Texturen.

    Beispielweise:
    # Blender3D MTL File: Yak-23V.blend
    # Material Count: 1
    newmtl HLW_1024.tga.001
    Ns 80.392157
    Ka 0.000000 0.000000 0.000000
    Kd 0.640000 0.640000 0.640000
    Ks 0.333000 0.333000 0.333000
    Ni 1.000000
    d 1.000000
    illum 2
    map_Kd 1024.tga

    Dabei ist das 1024.tga nur die Test-Textur.
    Es fehlen:
    - Farbe.tga
    - Bump.tga
    - Spec.tga

    ?( ?( ?(


    ciao
    Naoo

    42

  • Hi Naoo

    Kann dir leider auch nicht weiterhelfen. Vielleicht ein Bug? Die Im-und Export Scripte haben ja manchmal ihre Macken. Benutzt du 2.45? Wenn ja, versuch´s doch mal mit 2.44. Ober mal auf BP nachfragen. Oder noch besser, auf Blender Artists.

  • Hi

    @ Vidiot: Nun ja :-/ ich denke das war nicht wirklich ernst gemeint, sondern eher schnell gedacht. Will den Export eigentlich "nur" nutzen, nicht studieren. Anders ausgedrückt, das Thema könnte etwas zu komplex werden, um es selbst heraus zu finden :(

    @ TheGhost: sowohl 2.44 als auch 2.45 machen den gleichen Fehler :(

    Ich kann nicht glauben, dass es keine Lösung geben soll...


    ciao
    Naoo

    42

    • Offizieller Beitrag

    Ich hab noch nie erlebt, dass beim obj-Export-Import alle Maps mitgegangen wären ;)
    Poser z.B. schreibt zwar alles brav in die mtl, aber wenn man das Objekt dann wieder importiert, ist z.B. die Transparenz weg.
    Nachbearbeitung ist also nach jedem Import angesagt :(


    --- Kein Wind ist günstig für den, der nicht weiß, in welchen Hafen er will. --- (Seneca)

  • Eigentlich reicht die eine Textur - die anderen muß man dann wieder mit draufbappen. Wichtig ist das die Texturkoordinaten korrekt sind - und die finden sich in der *.obj Datei selbst.

    Ich müßte es in Hexagon nochmal probieren - meine aber das es mehrere Layer von Texturen (Bump/Displacement/Diffus ect.) exportiert. Aber das sage ich ohne Gewähr...

    Vid

  • Hi

    @ Vidiot: Kannst ja mal einen Hexagon-Test machen, das wäre nett :)

    Kann es denn sein? Das, wenn ich beispielsweise ein Modell für 20,- Euros kaufe meine Bumpmap von Hand zuladen und einstellen muss? Ich fände das einen schlechten Witz!
    Wenn nicht, so muss es doch gehen...


    ciao
    Naoo

    42

  • Hi Nancy

    Habe mal einen neuen Export von einer anderen Datei gestartet.
    "usemtl " steht schon mal drin :) ...


    Die komplette MTL:

    # Blender3D MTL File: Wustenbaum.blend
    # Material Count: 2
    newmtl Sand
    Ns 868.627451
    Ka 0.000000 0.000000 0.000000
    Kd 0.726337 0.704351 0.587647
    Ks 0.500000 0.500000 0.500000
    Ni 1.000000
    d 1.000000
    illum 2


    newmtl Stamm
    Ns 456.862745
    Ka 0.000000 0.000000 0.000000
    Kd 0.716788 0.677141 0.570901
    Ks 0.300000 0.300000 0.300000
    Ni 1.000000
    d 1.000000
    illum 2

    ----

    Und ein Auszug aus der OBJ:

    usemtl Sand
    s 1
    f 3 1 2
    f 2 1 6...

    usemtl Sand
    s 1
    f 987 985 974
    f 985 987 986...

    usemtl Stamm
    s 1
    f 30031 31123 33367 31160
    f 30031 31160 33403 31315...

    usemtl Sand
    s 1
    f 34520 34776 35320 35136
    f 34520 35136 35342 34785...


    ciao
    Naoo

    42

  • nabend Naoo,

    Zitat

    Kann es denn sein? Das, wenn ich beispielsweise ein Modell für 20,- Euros kaufe meine Bumpmap von Hand zuladen und einstellen muss?

    das lässt sich ja schnell rausfinden, indem du es einfach mal in einem anderen Dateiformat exportierst zb. VRML. Dort kannst du auch super einsehen, welche Materialien er nutzt und welche nicht.

    Was die mtl angeht. Also du kannst die Einstellungen für die Materialien auch ganz schnell nachtragen. Klappt zumindest bei mir immer ganz gut.
    Hier mal nen Auszug aus einer meiner mtls:

    1. newmtl 1
    2. Ka 0 0 0
    3. Kd 0.980392 0.980392 0.980392
    4. Ks 0.0172549 0.0172549 0.0172549
    5. illum 2
    6. Ns 10
    7. map_Kd 1.jpg
    8. map_bump 2.jpg
    9. bump
    10.map_opacity
    11.map_d
    12.refl
    13.map_kS
    14.map_kA
    15.map_Ns
    usw.

    Die Zeilen 1. - 6. stellen das Grundgerüst dar, welches immer vorhanden ist. Dort werden die Farben (Ambiente, usw), Transparenzen usw. definiert.
    Ab Zeile 7. werden die Textureeigenschaften definiert, die man nachträglich ganz schnell ändern kann. das map_Kd stellt z.B. die Haupttextur dar. Deine Bumpmap zb. kannst du einladen lassen, wenn du einfach unter dein Material map_bump und dann die datei schreibst. Du kannst eigentlich alles was du im Programm selbst definierst auch darüber definieren.

    LG Nancy

    Einmal editiert, zuletzt von nancy (21. September 2007 um 00:16)

  • die meissten programme verlangen übrigens unix-notation als trennzeichen, im klartext der slash statt dem dos/windows üblichen backslash.

    map_Kd L:/textures/wood/bla.tiff

    posertypisches indirektes verlinken ist hingegen völlig tabu
    map_Kd :runtimes:textures:wood:bla.tiff

  • Hi Naoo

    Eigentlich sollte das Nachbearbeiten der mtl eher eine Notlösung sein. Ich selbst hatte bisher leider keine Zeit mich mit Blender auseinander zu setzen. Was mich mal interessieren würde: Setzt er die Maps allgemein nicht ein beim Export oder ist das nur obj- spezifisch?

    LG Nancy

  • das kommt darauf an, wie du die Datei wiederverwenden willst und was das Prog dann einlesen kann. Ich persönlich arbeite sehr viel mit 3ds. Da hatte ich auch noch nie Probleme mit dem Im- und Export. Alternativ ging natürlich auch VRML. Beides wird von fast allen Programmen gelesen.

    LG Nancy

  • Hi Nancy

    Na mir ging es natürlich hauptsächlich um den Import in Bryce (Poser, Vue).
    Ich dachte 3Ds wäre ohne Texturen und obj sollte das sicherste sein!?

    Edit:
    Habe 3Ds mal getestet. Die 3Ds ist leider kein ASCII.
    Bryce meldet Importfehler. Blender selbst hat eine Textur wieder importiert (in 3Ds integriert), aber es war nur die Bump als Col. :(

    ciao
    Naoo

    42

    Einmal editiert, zuletzt von Naoo (21. September 2007 um 16:39)

  • 3ds ist ein altes doofes DOS 3D Format das keiner mag.
    :D
    Aber wenn es funktioniert...

    3DS hat Grenzen die das Obj Format nicht hat. z.B. 25.000 tris max./objekt und überhaupt: Tris - das verbietet sich für viele von selbst (außer Standbilderzeuger und Spieleprogrammierer).

    Seit meinen Wings-zeiten und den ersten Stunden mit diversen Unwrappern/Mappern geht bei mir nur noch *.obj - wesenlich flexibler.

    Tris akzeptiere ich nur ungern als Datenformat und FBX ist (bei mir leider ohnehin noch nicht vorhanden) bisher nur schlecht unterstützt.

    Collada "soll" der heilige Gral ja heißen...

    Vid

    PS 3ds gibts als ASCII und binär - wie auch STL und einige andere.

    PPS Habe Hex noch nicht wieder angerührt, sorry - bleibe aber dran. Schon aus Eigeninteresse.

  • 3ds ist wirklich ein recht altes Format aber was die Verwendung unter mehreren Programmen angeht, habe ich damit die bessere Erfahrung gemacht, als mit obj. Was die funktionellen Einschränkungen angeht, da kommts halt wirklich darauf an, was man mit den Dateien vor hat. Bei mir will Bryce 5.5 nicht wirklich jede obj- datei importieren und hat mit 3ds keine Probleme.

    Von Collada habe ich gehört aber selbst noch keine Erfahrungen mit gemacht und kenne auch niemanden der es mal getestet hat, da doch einige Progs wie Poser und Bryce dieses Format nicht unterstützen, soweit ich weiß.

    Hast du das aber mal unter Blender probiert? Was an Informationen es exportiert und dann wieder importiert? Wäre doch mal interessant.

    Es gibt ja auch nette Konvertierungstools, allerdings kosten die meistens recht heftig. Ich hatte mir mal ne testversion von DeepExploration runtergeladen, da ich auch viel mit cadsachen hantiere. Das waren interessante 30 Tage und die Ergebnisse waren wirklich super. Da gab es keine Probleme mit fehlenden Maps in den Obj- dateien.

  • Immer noch auf der Suche nach funktionierendem Obj-Export aus Blender bin ich auf dieses Thema gestoßen.

    Zitat

    Original von nancy
    Hast du das aber mal unter Blender probiert? Was an Informationen es exportiert und dann wieder importiert? Wäre doch mal interessant.

    Das habe ich jetzt mal mit meinem Glas probiert. Erst aus Blender exportiert und dann diese obj-Datei wieder importiert. Und siehe da, das Glasmaterial war nicht mehr da. In den Material-Buttons sind ganz andere Einstellungen. Blender kann das, was es exportiert, selbst nicht richtig importieren. Also ich denke, dass Blender schon beim export was falsch macht.

    DreamSt-Bann468.jpg

  • Blender macht nichts falsch - das ist womöglich einfach in der Spezifikation der Formate *.obj und *.3ds vorgesehen.

    Beide sind auch so alt wie 3D Programme selbst. Ich schätze mindestens 20 Jahre für beide - damals hat man Glasbrechung z.B. noch über Postwork eingebracht und nur gerendert - nicht "geraytraced".
    ;)

    Vid