Skalierungsfaktor OBJ / FBX

Laas

Member
Moin, moin,
ich bräuchte mal wieder eine kleine Hilfe...
In meinem Arbeitsablauf habe ich bisher einige Dateien als FBX exportiert und mit Substance Painter materialisiert und anschließend in Stager gerendert. Hat soweit auch gut geklappt. Neuerdings hat scheinbar S Painter (8.1.1) ein Problem mit meinen FBX Dateien. Um das auszugleichen habe ich meine C3D Dateien in OBJ Dateien exportiert und mir ist dabei aufgefallen, das die obj und fbx Dateien unterschiedlich in der Größe/Skalierung exportiert werden.
(Ich will hier auch nicht nach Hilfe für fremde Programme fragen)
Vielleicht habe ich das selbst mal in den C3D Einstellungen verdaddelt und somit entsteht bei mir die Grundsatzfrage, was eigentlich die richtigen Skalierungsfaktoren für im- und Export in C3D sind.
Skalierungseinheiten in cm? also ein Standardwürfel ist demnach 1x1x1 cm oder was würdet ihr empfehlen?
Welche Im/Export Einstellungen sind /sollten Standard bei fbx/obj sein?

Vielen Dank im Voraus!
Laas ais HH

Bildschirmfoto 2022-07-06 um 08.46.50.png
 

frank beckmann

Well-known member
Moin.
Dir bleibt eigentlich nichts anderes übrig als das selbst heraus zu fummeln. Aber als Beispiel kann ich anfügen, dass ich bei 3ds und dae einen Export Skalierungsfaktor von 100 benutze damit ein 1x1x1 Würfel in SketchUp als 1x1x1m Klops ankommt:
1Kubikmeter.png

Ebenfalls Grüße aus HH.
 

Laas

Member
Vielen lieben Dank!
Falls es jemanden interessiert: In der vorigen Version von S Painter sind die von C3D erstellten FBX-Dateien problemlos verarbeitet worden. In der letzten neuen Version kann die fbx-Datei von C3D aus irgendeinem Grund nicht mehr "materialisiert" werden. Nehme ich irgendeine FBX-Datei aus dem Download von Adobe/Substance funktioniert das aber. Gibt es evtl. FBX Datei und FBX Datei mit gravierenden Unterschieden?
 

frank beckmann

Well-known member
Gut möglich dass Autodesk das FBX-SDK upgedated hat, Adobe schon nachgezogen und Martin dies noch nicht berücksichtigt hat.
 

Hasdrubal

Active member
Wenn ich testweise ein (allerdings simples) Modell aus Cheetah als fbx exportiere und im aktuellsten Substance Painter lade, funktioniert das problemlos. FBX verwende ich allerdings normalerweise 2018, Cheetah hat glaub 2014 (da bin ich nicht 100 % sicher). FBX ist zudem zu einem Grossteil abwärtskompatibel (Substance kommt vermutlich noch mit weiteren Versionen klar). Eine entsprechende Neuerung in Substance habe ich nicht gesehen.

Die Frage wäre eher, ob das an einem einzigen Objekt liegt, das möglicherweise irgendwelche Fehler enthält oder an einem nicht bearbeitbar gemachten Modifier (mit denen kommt Cheetah beim Export überraschend gut klar. Empfehlenswert wäre trotzdem, sie aufzulösen). Oder aber ob du das auch mit älteren Modellen erlebst, bei denen der Export früher geklappt hat. Also testweise vielleicht ein altes Modell nochmals exportieren und laden.

Empfohlen wird in der Regel, fbx statt obj zu verwenden. In Cheetahs Fall habe ich allerdings den Verdacht, dass es nicht viel ausmacht (z. B. keine zusätzlichen Vertex-Colormaps oder dergleichen, die in obj (wie ich glaube) nicht gespeichert würden.
 

Laas

Member
Wenn ich testweise ein (allerdings simples) Modell aus Cheetah als fbx exportiere und im aktuellsten Substance Painter lade, funktioniert das problemlos. FBX verwende ich allerdings normalerweise 2018, Cheetah hat glaub 2014 (da bin ich nicht 100 % sicher). FBX ist zudem zu einem Grossteil abwärtskompatibel (Substance kommt vermutlich noch mit weiteren Versionen klar). Eine entsprechende Neuerung in Substance habe ich nicht gesehen.

Die Frage wäre eher, ob das an einem einzigen Objekt liegt, das möglicherweise irgendwelche Fehler enthält oder an einem nicht bearbeitbar gemachten Modifier (mit denen kommt Cheetah beim Export überraschend gut klar. Empfehlenswert wäre trotzdem, sie aufzulösen). Oder aber ob du das auch mit älteren Modellen erlebst, bei denen der Export früher geklappt hat. Also testweise vielleicht ein altes Modell nochmals exportieren und laden.

Empfohlen wird in der Regel, fbx statt obj zu verwenden. In Cheetahs Fall habe ich allerdings den Verdacht, dass es nicht viel ausmacht (z. B. keine zusätzlichen Vertex-Colormaps oder dergleichen, die in obj (wie ich glaube) nicht gespeichert würden.
Bin nochmal an mein Problem mit FBX-Dateien herangegangen:
Es scheint so, dass die in Cheetah3D erstellten FBX-Dateien ein Problem in Substance Painter (letzte Versionen) erzeugen:
Ich kann zum Beispiel einen einfachen Würfel als FBX in Painter problemlos öffnen, nur wenn ich dann ein Material mit dem Würfel verbinde, wird nur die Hauptfarbe meines Materials auf dem Mesh angezeigt -egal wie ich das Material auch vergrößere oder verkleinere - es nimmt keine Struktur an.
Tue ich das gleiche mit eine OBJ-Datei aus C3D habe ich keine Probleme ... Alles gut ...
Jetzt was gemeines: Wenn ich meine FBX-Datei in Blender importiere, (für den Test mal runtergeladen) und als FBX-Datei wieder abspeichere, diese dann in Painter öffne kann ich SBSAR ohne Probleme (wie auch bei OBJ) platzieren.
Das bringt mich zu der Frage, was mag der Unterschied der Exporte als FBX aus C3D und Blender sein?
 

Attachments

  • Testwürfel3 Blend.fbx.zip
    9.2 KB · Views: 13
  • Testwürfel2 C3D.fbx.zip
    7.6 KB · Views: 9

Hasdrubal

Active member
Der Unterschied ist einzig die Version von FBX, aber es könnte auch an der "Tessellierung" des Objektes liegen, was man testen könnte, indem man allfälliges subdiv bearbeitbar macht und es dann mit dieser Datei versucht (ev. sogar nochmals zusätzlich unterteilt), die Texturen dann aber natürlich für die Materialien der Originaldatei verwendet.

In diesem Fall, ohne die Möglichkeit von Vertex-Color-Maps oder ähnlichem (und die sind genial), sehe ich eigentlich keinen Gewinn durch die Verwendung von fbx-Dateien.

Wäre das Problem nicht am einfachsten gelöst, indem du einfach objs verwendest und beim import unter physical size die Masse für ein Unit angibst?
 

Laas

Member
Ja, der Kompromiss ist die OBJ-Datei. Es hat mich nur gewurmt, dass es mit der Painter Version 7.4.3 keine Probleme gab, wenn ich die fbx Files verwendet habe.... Nur die letzten beiden Versionen wollen es nicht mehr :-(
Danke für die Antwort!
Mal sehen, ob das Substance Team noch was dazu sagt - die Reply-Zeit ist da "etwas länger" :ROFLMAO:
 

Hasdrubal

Active member
In diesem Fall ist es nicht einmal ein Kompromiss, weil du dadurch absolut nichts verlierst. Mit Cheetah kannst du die Vorteile von FBX nicht ohnehin nicht nutzen. Es hat keinen Sinn, fbx nutzen zu wollen, weil "man es halt so macht". Hättest du einen Nachteil, z. B. den Verlust der wahren Masse, könnte man sich das noch näher anschauen, aber die Eingabe 1 Einheit = 1 m oder was auch immer, ist kein Aufwand.
 

Laas

Member
In diesem Fall ist es nicht einmal ein Kompromiss, weil du dadurch absolut nichts verlierst. Mit Cheetah kannst du die Vorteile von FBX nicht ohnehin nicht nutzen. Es hat keinen Sinn, fbx nutzen zu wollen, weil "man es halt so macht". Hättest du einen Nachteil, z. B. den Verlust der wahren Masse, könnte man sich das noch näher anschauen, aber die Eingabe 1 Einheit = 1 m oder was auch immer, ist kein Aufwand.
Moin aus Hamburg!
Noch etwas besonderes mit OBJ Dateien aus C3D: OBJ Dateien aus C3D lassen sich in Painter ohne Probleme öffnen, nur wenn ich die gleiche OBJ Datei in Stager öffne sind alle verwendeten Materialien zwar namentlich erwähnt, aber das komplette Mesh ist transparent, d.h. ich muss alle verwendeten Materialien einzeln anklicken und die Transparenz wieder auf Sichtbar verschieben. Andere verwendete OBJ Dateien (nicht von C3D) sind aber sichtbar.... Habt ihr ne Idee, woran das liegen kann?
 

Hasdrubal

Active member
Und wenn du das mesh aus Painter direkt zu Stager sendest?

(Ich habe "nur" das texturen-abo, also ohne Stager, und kann darum nicht damit experimentieren).

In anderen Programmen hatte ich nie Probleme mit obj-Dateien aus Cheetah. Ein möglicher Grund könnte sein, wie du die Texturen aus Painter abspeicherst.
 

Laas

Member
Danke für die Antwort. Die OBJ Datei in Painter ist ja auch kein Problem. Nur in Stager sieht es so aus:
fbx screensh.jpgobj screensh.jpg
Und da Stager wie man auf dem Screenshot sieht, ein Problem mit FBX aus C3D hat (die Pille sollt eigentlich ein schönes Marmor zeigen) bin ich auf OBJ angewiesen, wenn ich nicht immer über Panier gehen will. Da andere OBJ Dateien (nicht von Stager) aber funktionieren, muss an der OBJ Datei aus C3D irgendetwas anders sein...
 

Laas

Member
Und wenn du das mesh aus Painter direkt zu Stager sendest?

(Ich habe "nur" das texturen-abo, also ohne Stager, und kann darum nicht damit experimentieren).

In anderen Programmen hatte ich nie Probleme mit obj-Dateien aus Cheetah. Ein möglicher Grund könnte sein, wie du die Texturen aus Painter abspeicherst.
Ein OBJ in Painter mit Materialien versehen und direkt an Stager weitergereicht funktioniert aber
 

Laas

Member
Danke für die Antwort. Die OBJ Datei in Painter ist ja auch kein Problem. Nur in Stager sieht es so aus:
View attachment 38768View attachment 38769
Und da Stager wie man auf dem Screenshot sieht, ein Problem mit FBX aus C3D hat (die Pille sollt eigentlich ein schönes Marmor zeigen) bin ich auf OBJ angewiesen, wenn ich nicht immer über Panier gehen will. Da andere OBJ Dateien (nicht von Stager) aber funktionieren, muss an der OBJ Datei aus C3D irgendetwas anders sein...
Ich meinte natürlich "andere OBJ Dateien (nicht von C3D)..."
 

frank beckmann

Well-known member
OBJs bestehen ja eigentlich aus OBJ+mtl (die Materialbeschreibung+Bildnamen zB.) + Bildtexturen. Ist das alles in einem Ordner verstaut- oder irgendwie verstreut auf der Festplatte das dieses "Stager" es nicht zusammendröseln kann?
 

Hasdrubal

Active member
Wie Frank vermutet, könnte es tatsächlich daran liegen, dass Stager Texturen nicht findet (da fehlt dann aber die Fehlermeldung) oder allgemein Schwierigkeiten hat, den Dateipfad zu lesen (z. B. Umlaute im Datei- oder Ordnernamen vielleicht usw.).

Grundsätzliche Probleme mit Obj aus Cheetah konnte ich bisher keine feststellen. Ich nutze es manchmal genau dazu: Dateien in Obj oder FBX umzuwandeln. Abhängig vom Ausgangsmaterial kann es beim Import zwar Probleme geben, aber Obj ist eigentlich genau das Dateiformat, das immer funktioniert, unabhängig vom Zielprogramm.

Deshalb würde mich zusätzlich interessieren, ob das Problem grundsätzlich mit allen Objs auftritt, nur solchen mit Materialien oder solchen mit einem bestimmten Material aus Cheetah.


@Frank: Stager ist der mittlerweile zu Substance gehörende Adobe-Renderer, ehemals Dimension, sowohl real-time als auch raytracing (ohne GPU-Unterstützung auf dem Mac). Nur erhältlich im "grossen" Substance-Abo (und somit ein eher teurer Renderer imho). Keine Ahnung, wie gut das auf dem Mac mittlerweile läuft (Dimension fand ich "unmöglich").
 

Laas

Member
OBJs bestehen ja eigentlich aus OBJ+mtl (die Materialbeschreibung+Bildnamen zB.) + Bildtexturen. Ist das alles in einem Ordner verstaut- oder irgendwie verstreut auf der Festplatte das dieses "Stager" es nicht zusammendröseln kann?
Ja, darauf achte ich immer
Wie Frank vermutet, könnte es tatsächlich daran liegen, dass Stager Texturen nicht findet (da fehlt dann aber die Fehlermeldung) oder allgemein Schwierigkeiten hat, den Dateipfad zu lesen (z. B. Umlaute im Datei- oder Ordnernamen vielleicht usw.).

Grundsätzliche Probleme mit Obj aus Cheetah konnte ich bisher keine feststellen. Ich nutze es manchmal genau dazu: Dateien in Obj oder FBX umzuwandeln. Abhängig vom Ausgangsmaterial kann es beim Import zwar Probleme geben, aber Obj ist eigentlich genau das Dateiformat, das immer funktioniert, unabhängig vom Zielprogramm.

Deshalb würde mich zusätzlich interessieren, ob das Problem grundsätzlich mit allen Objs auftritt, nur solchen mit Materialien oder solchen mit einem bestimmten Material aus Cheetah.


@Frank: Stager ist der mittlerweile zu Substance gehörende Adobe-Renderer, ehemals Dimension, sowohl real-time als auch raytracing (ohne GPU-Unterstützung auf dem Mac). Nur erhältlich im "grossen" Substance-Abo (und somit ein eher teurer Renderer imho). Keine Ahnung, wie gut das auf dem Mac mittlerweile läuft (Dimension fand ich "unmöglich").
Habe noch ein paar Tests gemacht. Wenn ich einen Würfel in cheetah3d ohne Materialzuweisung erstelle, daneben einen weiteren mit dem Standardmaterial zuweise, ist beim importieren nur der zu sehen, der ohne Materialzuweisung ist.
 

Attachments

  • Bildschirmfoto 2022-09-24 um 06.59.55.png
    Bildschirmfoto 2022-09-24 um 06.59.55.png
    304.3 KB · Views: 4

Laas

Member
Da ich mich mit Blender überhaupt nicht auskenne, hat vielleicht jemand anderes mal eine einfache OBJ Vergleichsdatei (z.B.Würfel) mit und ohne Materialzuweisung zum testen?
 

Laas

Member
Zum Vergleich eine FBX Datei (cube) aus Cheetah3D und eine FBX Datei von Substance Assets: Die Letztere hat kein Problem in Stager oder Painter. Die FBX-Datei aus C3D ist leider in beiden Programmen nicht mit Material belegbar es erscheint nur eine Hauptfarbe.

Alternativ: Der Würfel aus C3D als OBJ ist in Painter "materialisierbar" und in Stager erstmal durchsichtig. Eventuelle Materialien müssen erst einzeln von Transparenz auf Sichtbar verschoben werden, d.h. die in der MTL-Datei festgelegten Materialbeschreibungen sind auffindbar, aber erstmal alle transparent.

Es wird noch etwas verwunderlicher:
Eine Datei mit 2 Würfeln in C3D erstellt, einer mit und einer ohne Materialzuweisung exportiert als OBJ-Datei zeigt beim Import in Stager den ohne Materialzuweisung grau an, den anderen transparent.
Wenn ich die gleiche OBJ-Datei nochmals in C3D öffne und neu als OBJ abspeichere, sind plötzlich beide Würfel in Stager transparent.
Ich weiß, es ist ja kein Substance-Forum hier ;-) - nur würde ich ja gerne mit meinem Lieblingsprogram C3D, OBJ oder FBX erstellen, die wie aus anderen Programmen gut funktionieren.
Ich probiere gern auch andere Dateien aus, um den Fehler einzugrenzen ;-)
 

Attachments

  • 2 Würfel.jas.zip
    8.8 KB · Views: 2
  • 2 Würfel aus C3D(obj).zip
    4.1 KB · Views: 3
  • cube_casing_02_substance_assets.fbx.zip
    46.7 KB · Views: 2
  • cubes_export_from_c3d.fbx.zip
    9.4 KB · Views: 4

frank beckmann

Well-known member
Ähnlich wie bei obj+mtl gehören fbx+fbm zusammen. Wo sind die? Die fbm (filmboxmaterials) werden normalerweise in einem Ordner gepackt. Cheetah3d erzeugt die auch - manchmal hängt der Finder hinterher und der Ordner taucht erst auf wenn man die FBX erneut lädt:
FBX.png
 
Top