Zentrale Materialdatenbank für diverse Projekte

Mein nächster Auftrag ist für einen großen Hersteller von Roboterzubehör. Ich muss 50 Produkte visualisieren. Jedes hat ca. 500.000 Polygone. Damit kann ich das nicht alle Produkte in eine Datei laden (wird unperformant).

Ich möchte aber das alle Materialien in allen Szenen identisch sind. Ändere ich den Lack in einer Szene ändert er sich auch in allen anderen.

Ich hab das jetzt über X-Ref gemacht. Es geht, aber da habe ich dann keine Materialvorschau mehr (Redshift).

Wie geht das am elegantesten?

Das kann man mittels Shader Assets bewerkkstelligen. Dazu baut man ein Node Material, egal ob RS, Physical oder Standard, das nur aus einem einzigen Shader Asset besteht. Dieses Asset beinhaltet das gesamte Material Setup. Das Material selber kann dann beliebig in Szenen Objekten zugewiesen werden. Wird die Definition des Shader Assets geändert dann ändert sich auch jedes Material, vorausgesetzt alle Installationen verwenden eine gemeinsame Asset Datenbank.
Das ist die gleiche Basis Technik wie hier https://c4dnetwork.com/board/threads/93135-Redshift-Color-Nodes-als-Szenenübergreifende-Instanzen

1 „Gefällt mir“

Puh das ist hart für mich - eine gute halbe Stunde habe ich jetzt recherchiert und mit dem Tutorial denke ich verstanden was du meinst:

//youtu.be/h2obqLwPJ94

Du meinst also:

  • ich lege mein Material an
  • Gehe Rein markiere alle Nodes und mach daraus ein Asset
  • in die anderen Szenen kann ich diese Materialien dann per Copy Paste oder wie auch immer kopieren.
  • Ändere ich irgendwo ein Node-Asset in dem Material ändern sich automatisch alle anderen kopien der Materialien da sie alle auf das selbe Asset verweisen
    korrekt?

Frage 2


In dem Tutorial sieht man diese Ansicht - wo kann man denn diese in und Outputs von Groupnodes festlegen? Ich habe die halbtransparenten schwarzen Balken gar nicht wenn ich Node-Assets editieren will.

1000 Dank - ich hab durch deinen Post jetzt schon sehr sehr viel gelernt!

Zu 1. Ja, aber du musst die Änderungen in dem Asset drin machen. Parameter auf der Aussenseite sind lokal, die ändern sich nicht wenn du das Asset editierst! Die könntest du aber, falls gewollt, lokal in der Szene wo das Material ist definieren, animieren oder anpassen. z.B wenn du eine Szenen spezifische Farbe oder anderen Wert hast.
Faustregel: Alles was zwischen Szenen gleich sein soll aber per Asset geändert wird muss innerhalb des Asset geändert werden. Alles was Szenen lokal ist und sich bei Änderung des Assets nicht ändern soll, sollte als Parameter des Assets ausgeführt werden.
Zu 2. Du kannst einfach einen Port von einem Node nach links ziehen und fallen lassen, dann wird gefragt ob du einen Neuen Port anlegen willst. Die Balken tauchen nach dem Anlegen des ersten Ports auf.

1 „Gefällt mir“

Jonas soll da bitten nen Quicktipp draus machen!

1 „Gefällt mir“

Wow echt was dazu gelernt - vielen Dank.
Vielleicht für dein Beitrag auch mal dazu das ich die Asset Datenbank mal intensiver nutze. Bei Adobe hat es auch viele Jahre gebraucht und jetzt nutze ich die Bibliotheken fast täglich.

aber warum will man das?

Deine Roboter-Assets werden ja nicht alle gleich aussehen und Du willst bestimmt für jedes einzelne Bild/Animation das ideale Material haben. Das bedeutet schon, dass man je nach Licht und Form des Objektes mal ein bisschen schrauben muss, bis es in jeder Szene perfekt aussieht.

Ich mache mir mein Materialsetup in einer Msterdatei, die dann immer wieder für neue Dateien hergenommen wird.

Aber auch hier: wieder was neues gelernt!

Das wäre dann das erste, was ich ändern würde. Bei mir hätte jedes Produkt nur soviele Polygone wie für die Darstellung nötig. Und dann würde alle in dieselbe Szene passen und die Frage nach dem Material käme gar nicht auf :slight_smile:

Mit der Methode kann man sich Serienarbeit vereinfachen. Nehmen wir an es sollen Intros oder Ergebnistabellen für Vereine gerendert werden. Jeder Verein hat ein eigenes 3D Logo und eine spezifische Farbkombination. Jetzt kann man einfach zwei Assets bauen die jeweils Index gesteuert das passende Logo oder Material produzieren. Kommt ein Verein hinzu, einfach beide Assets um einen Index erweitern und Material sowie Logo in das Asset einbauen. Schwupps können alle bestehenden Szenen den neuen Verein rendern.

so mache ich es auch bei einer Datenoptimierung. Cinema hat auch weniger Probleme mit der Polygonanzahl sondern eher mit der Objketanzahl. Schalte ich die nicht benötigten Objekte komplett aus, hab ich auch keine Probleme mit der Performance im Editor. Alle Objekte kann ich dann ohne Probleme über Takes rauslassen.

1 „Gefällt mir“

@ Steppes
Doch die materialien sollen konsistent sein denn es gibt auch eine Animation wo alle Produkte zusammen dargestellt werden. Da muss das Marken-Blau immer gleich aussehen.

@ Stephan
Die Step dateien sind riesig und der exakte Import schwierig (Details werden wirklich unansehnlich wenn ich das zu sehr reduziere) - ich löse das jetzt über Redshift Proxys

Hab jetzt doch noch eine Frage zu Node-Assets. Wie speichere ich die schnell?

Hintergrund:
Wenn ich ein Material im Edit Node-Mode editiere und dann das Ergebnis testen will, geht das erst nach dem Speichern.
Die einzige Art zu speichern, die ich kenne, ist das Fenster zu schließen und dann im Dialog eine neue Version zu speichern.
Dann kann ich mir die Änderung ansehen und wenn ich wieder editieren will, fange ich von vorn an.

Das ist sehr umständlich und ich würde lieber einfach direkt die aktuelle Version des Assets speichern und testen

Das geht soweit ich weiss leider nicht mit Material Assets, wohl aber Scene Node Assets im Objekt Manager.

1 „Gefällt mir“

Vielen dank für die super Antwort die ich aber absolut nicht hören wollte.
Das macht die Bearbeitung echt umständlich. :cry:
Mein Workflow ist dann, dass ich für Änderungen alle Nodes rauskopiere und außerhalb des Assets Anpassungen machen bevor ich dann wieder alles reinkopiere und speichere. Seeeeehr unschön ist das.

Ich stell mich dann mal der Realität. Seufz

Ich bin, glaube ich in eine neue Falle bei diesem Workflow gelaufen.
Wenn ich Substance Materialien importiere und diese in das neue Shader View Node System umwandeln will, geht das nicht. Problem scheint der Node “C4D Diffuse Shader” zu sein, der als Inhalt den jeweiligen “Substance Shader” hat. Lösche ich diesen Node kann ich das Material konvertieren, aber das Material ist dann natürlich wertlos.

Hat jemand eine Idee wie ich Substance Materialien doch in das neue Shader Node System überführen kann?

/Edit
ich arbeite jetzt mit dem System und es funktioniert grundsätzlich wirklich gut