Jump to content
Unity Insider Forum

Workflow 3dsmax -> Painter -> Unity


Recommended Posts

Ich bin schon eine längere Zeit am rumprobieren, komme aber nicht zu einem zufriedenstellenden Ergebnis. Auch mit Google werde ich nicht so recht glücklich, da habe ich schon einiges durch, aber der letzte Kick fehlt mir noch irgendwie. Hier im Forum gibts ja auch einige Themen dazu, aber nichts trifft es so richtig.

 

Ich suche Best-Practices für folgenden Workflow:

 

3ds-Max Low Poly Modell -> Substance Painter -> Unity

 

Ich kann in 3ds-Max ein Modell erstellen und dieses UV-Mappen. Export via FBX, import in Substance Painter.

 

Die Frage ist jetzt: wie muss ich das Modell in 3ds-Max vorbereiten, damit ich in Painter die wenigsten Probleme habe. Multimaterial wäre ein Thema; was mich da allerdings abschreckt, sind die Draw-Calls in Unity. Je mehr Materialien, desto mehr Drawcalls. Ich würde also in 3ds-Max ein Material zuweisen, das Model UV-Mappen und dann im Painter die Feinheiten eintragen sowie alle Maps erstellen, sprich Normal, Reflection, Displacement usw. Ist das so machbar und empfehlenswert?

 

1. Wie bereitet ihr in 3ds-Max ein Low-Poly-Modell für den Painter vor?

2. Wie sieht dann (grob) der Painter-Workflow aus?

3. Gibts dazu gute Tutorials, Tips und Tricks?

 

Ich will möglichst keine Diskussionen, dass 3dCoat besser und Blender billiger ist, dass ich mit Substance Designer erst die Materialien machen muss, dass ZBrush intuitiver ist und überhaupt Cinema4D und so fort. Mir gehts momentan nur um die drei Muscheln - ähem Fragen - oben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du in 3Ds Max mehrere Mats definierst bekommst du diese nachher separat im Painter angezeigt, kann man machen finde ich aber ziemlich dämlich da du ja wie gesagt dadurch mehrere Mats hättest die mehrere Drawcalls verbrauchen, das macht nur Sinn wenn du wirklich mehrere Maps brauchst weil es die Größe des Modells verlangt.

 

Kommst du mit einer UV aus, dann verwende auch nur ein Mat, dafür ist der Painter ja da.

Das einzige worauf du achten musst, ist das deine UV Map anständig ist.

 

Du könntest eine ColorID Map erzeugen und was weiß ich, aber das alles brauchst du nicht machen da dir der Painter soviele Hilfsmittel gibt das du alles direkt dort erledigen kannst.

Du hast doch im Painter die Möglichkeit Polygone oder Polygon Gruppen auszuwählen die du dann als Maske definieren kannst, was brauchst du mehr ?

 

Mach eine saubere UV erzeuge die Nomralmap und lass alles andere vom Painter erzeugen, definiere deine Masken und fertig.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was verstehst du unter einer sauberen UV-Map? Ich nehme an, dass auf der UV die wesentlichen Teile des Models getrennt dargestellt werden sollen? Also wenn ich einen Hammer habe, der Stiel und der Kopf erkennbar auf der UV-Map getrennt sind, richtig?

 

Hm, und wie erzeugst du in 3ds-Max die Normal-Map? Ist das nicht auch im Painter einfacher?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, saubere UV Map bedeutet das du den Platz der UV Map so gut wie möglich nutzt.

Nicht viele kleine Stückchen sondern versuchen möglichst große zusammenhängende Faces zu erstellen da jedes Face eine "Umrandung" bekommt wo später die Faceinhalte (wie Farben) etwas überlappen, das sorgt dafür das später keine Seams zu sehen sind.

 

Wenn du zu viele Einzelteile erstellst verschwendest du zu viel Platz.

Du solltest aber auch darauf achten das deine Faces so relaxt wie möglich sind, nur große Faces alleine macht keinen Sinn wenn sie an vielen Bereichen zu sehr verzerrt sind. Manches mal hilft da ein kleiner Schnitt ab und an muss man dann einfach ein neuen Bereich (Neues Face) erstellen.

 

Normalmaps erzeugst du in dem du in 3DsMax ein Highpoly und ein LowPoly deines Modells übereinander lagerst und dann einen Cage da drüber packst...dann noch hier und da etliche Konfigurationen und deine Normal wird erzeugt.

 

Ich habe es extra nur mal so Grob beschrieben da denke ich mal ein Video Tut von Youtube viel aussagekräftiger ist, Normalmaps in Max zu erzeugen ist dummerweise nicht sonderlich Benutzerfreundlich.

Sofern du ein High und ein Lowpoly besitzt würde ich dir raten eher mit dem Programm XNormal zu arbeiten, das ist extrem Bedienerfreundlich und auch noch kostenlos.

 

Solltest du nicht wissen was ein Highpoly ist und wie man es erzeugt, dann würde ich sagen solltest du dich in das Thema etwas einlesen.

 

Der Painter und der Designer können ebenfalls eine Normalmap erstellen sofern du ein Highpoly hast, dazu muss man sagen das Substance da auch extrem benutzerfreuntlich ist. Du solltest mal testen welches der Programme die besten Ergebnisse liefert.

 

Wenn du eine Normal hast, kannst du auch alle anderen Maps erzeugen im Painter wie die Ambient Occlusion map, Curavture map, Position map usw.

Die sind dann wichtig wenn Rost oder Staub den du im Painter hinzufügen kannst physikalisch korrekt dargestellt wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie man ein High-Poly erstellt, ist klar. Das Low-Poly entsteht dann durch Retopo. Das mit dem Cage hab ich schon mal in einem Youtube Video gesehen, kam mir aber SEHR umständlich vor in 3ds-Max. Nach dem was du sagst, kam mir das nicht nur so vor. Das mit XNormal sehe ich mir an, oder ich probiere es gleich im Painter. Mal sehen.

 

Vielen Dank, Harlyk, das hat mir alles schon sehr weiter geholfen. Ich werde mal noch ein wenig Zeit investieren und schauen, wo ich hin komme.

 

Wenn jemand noch was zu Harlyks Tipps beitragen kann, ich bin für alles dankbar.

 

Ihr könnt auch gerne euere bevorzugten Workflows hier posten, vielleicht ergibt sich dadurch was völlig anderes...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schön das es dir geholfen hat. Schau dir am besten direkt nen Video an.

Painter ist auch easy. Bei XNormal wählst du dein Higpoly als Datei aus, danach dein LowPoly, dann lässt man ihn 20 Sekunden berechnen und drückt danach auf Maps erstellen.

 

Vorab muss man auswählen welche Maps man gerne hätte, aber ich würde dann auch nur die Normal erzeugen lassen, alles andere dauert zu lange das errechnet der Painter schneller aus der Normalmap.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich wollte nur noch was zu der Cage Geschichte beitragen. Hört sich kompliziert an, ist aber sehr simpel.

Du machst ein Retopo vom Highpoly. Das ist dann obv. dein Lowpoly.

Jetzt ist es so, dass manche Faces des Lowpolys teilweise noch ein bisschen im Highpoly Mesh liegen.

Um das auszugleichen erstellst du ein Cagemesh.

Das ist einfach eine Kopie des Lowpoly Meshs. Den Cage musst du jetzt so vergrössern, dass keins der beiden Meshes (High- und Lowpoly) mehr zu sehen sind. Also quasi eingeschlossen vom Cage.

 

Zum Baken kann ich auch XNormal empfehlen.

Du exportierst alle 3 Meshes z.B. als .obj.

 

-Klickst in XNormal auf "High definition meshes" und wählst dein Highpoly aus.

-Dann auf "Low definition meshes" und wählst dein Lowpoly aus.

- Jetzt klickst du mit RMB aufs Lowpoly und wählst "Browse external cage file" und wählst dein Cage Mesh.

- "Generate Maps" Button betätigen und das wars dann für gewöhnlich.

 

grüsse

reinerSCT

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kann man machen Reiner aber XNormal kann den Cage auch komplett alleine errechnen ohne das man was machen muss.

Bei Tools gibt es ein Button "Ray distance Calcultor" der startet die Cageberechnung aus heigh und lowpoly.

 

20 Sekunden laufen lassen und dann stoppen und auf copy results klicken.

Fertig, schon kann man die Maps generieren

Link zu diesem Kommentar
Auf anderen Seiten teilen

Harlyk hat das super beschreiben.

 

Ich möcht auch nochmal erwähnen das gute UVs das aller allers wichtigste ist.

 

Folgendes ist dabei zu beachten:

 

1. Deine UV-Shells solltest alle komplett unfoldet sein.

2.Deine UVs sollte alle nach World ausgerichtet (Dies bedeutet das deine UVs in ihrer Größer proportinal angepasst werden.

3.Eine Checker Textur verwenden

4.Alle Kacheln der Checker Textur müssen auf deinem Mesh gleich groß sein. Das gilt auch wenn dein Mesh aus mehren teilen besteht ( Stichwort World ausrichten)

5.Deine UV-Shells sollten aus möglichst großen teilen bestehen.

6.Deine UV-Shells sollten nicht einfach irgend wie aneinander gemacht werden sondern sinnvoll.

Was sinnvoll ist das bekommst du mit der Zeit raus.

 

Wenn du willst kannst du auch gern mal ein Screenshot mit deinem Mesh + Checkertextur und UV posten dann kann ich dir dazu eventuell noch ein paar Tipps geben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, Sleepy.

 

Da kommen doch gleich noch ein paar Fragen auf:

 

- Was ist eine UV-Shell? Ich denke, das ist ein zusammenhängender Bereich von Faces auf der UV-Map. Ist das richtig?

- Komplett unfoldet? Mit Flatten Mapping? Oder ist das was anderes?

- Wie richte ich die UVs nach World aus? Ich verstehe, dass die Sockelleiste einer Wand weniger Platz in der UV-Map belegt als z.B. die Wand selbst. Meinst du das damit?

 

Das mit dem Screenshot werde ich noch machen, danke für das Angebot.

Link zu diesem Kommentar
Auf anderen Seiten teilen

1. UVShell ja das sind zusammenhängende Flächen im UV Editor. Jedes UV Teilstück ist somit eine UV-Shell.

Umso mehr Teile du zusammen fügst umso weniger UV-Shells hast du und umso platzsparender wird dein gesamter UV-Space (UV Bereich)

 

Umso mehr UV-Shells du hast umso mehr leer Räume entstehen zwischen den UV-Shells. (Verschenkter Platz = kleine Auflösung)

 

2. Nein das Flatten mapping und auch die anderen Mapping verfahren sind Tools die dir dabei helfen eine gute Basis zu haben. Sie tragen aber nichts zur späteren Qualität der UV bei.

 

Unfold ist ein anderes Tool das eine UV-Shell immer soweit ausbreitet wie es geht. Das kannst du dir so vorstellen als würdest du ein Stück Stoff soweit es geht auseinander ziehen dabei bleibt die Höhe und breite aber gleich.

Unfold ist sozusagen ein algorithmus der versucht eine UV-Shell soweit es geht in alle Richtungen zu dehnen.

Mit dem Unfolden der UVShell bekommst du die Verzerrungen raus. Und das ist einer der wichtigen Punkte die man beim UVMapping beachten sollte.

(Einfach mal googel = UNFOLD 3DsMax)

 

3. Nehmen wir mal an du hast einen würfel der ist 1 Breit und 2 Meter hoch. (Doppelt so hoch als Breit)

Nun könntest du ja beide Seiten Unfolden und das 2 Meter Stück aber kleiner Skalen wie das 1 Meter Stück.

 

Wenn du nun eine 1024*1024 px Textur verwenden würdest, dann würde das gedanklich bedeuten das deine 2m Stück 512 *512 Pixel von deinen 1024 Pixel bekommt und das 1m Stück ebenfalls 512*512 Pixel

Ich hoffe du verstehst das Problem: Da dein 2m Stück nun genau soviele Pixel abbekommt wie dein 1 M stück wird dein 2 Meter Stück verpixelt aussehen.

 

Ausrichtung nach World bedeutet also das dein 2Meter Stück durch einen Algorithmus exakt doppelt so groß sein muss wie dein 1 Meter Stück. (Nicht kleiner und nicht größer)

 

Ich will jetzt nicht angeben aber hier siehst du ein Modell von mir, an den Kacheln siehst du das alle sehr gerade verleuft (Keine Verzerrungen)

Alle Kacheln sind gleich groß = nach World ausgerichtet.

 

Und das obwohl es mehre Objekte sind.

Hier das Bild:

 

post-2400-0-60487100-1439371383_thumb.jpg

post-2400-0-65182400-1439371326_thumb.jpg

 

Wie man in Max nach World bzw unfoldet kann ich dir nicht sagen aber durch googel fragen findest du da auf jedenfall etwas.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sehr gut erklärt, danke.

 

Das meiste habe ich auch schon so gemacht bzw. gewusst. Nur die Begriffe waren mir nicht geläufig. Das mit der Google-Suche nach Unfold mache ich. Und dass in einem so sauber gemappten Modell sehr viel Arbeit steckt, habe ich mittlerweile auch mitbekommen. Das Bild hilft mir beim Verständnis sehr.

 

Was ich bisher mitnehme:

 

- gutes UV-Mapping ist Pflicht, hier pfuschen heißt später büßen.

- High-Poly zu Low-Poly über 3dsMax-Cage, über XNormal oder gleich im Painter.

- in den Painter so weit einarbeiten, dass aus dem Modell dann die Maps gemacht werden können.

 

Gefällt mir schon ganz gut bisher. Danke, Leute.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...