Wie verwende und mische ich mehrere Texturen mit benutzerdefinierten Werten in Three.js?

Ist es in Three.js möglich, ein Material (Shader?) Mit einer Reihe von Texturen zu erstellen, von denen jede ihre eigenen Besonderheiten aufweist, diese zu mischen und der Geometrie zuzuweisen? Ich möchte die Papieroberfläche mit verschiedenen Veredelungstechniken wie Folienprägung oder Spot-UV-Lackierung simulieren.

Was ich erreichen möchte, ist ein Material, das die folgenden Eigenschaften aufweist:

'Grundschicht:Papierfarbe (z. B. weiß, cremefarben, beige usw.)SpekularitätReflexionsvermögenUnebenheit (glattes oder strukturiertes Papier)'Bild' Ebene (optional):Bildstruktur (Bildmaterial auf Papier gedruckt, mehrfach mit Basisfarbe gemischt)Folienschicht (optional):S / W-Bildtextur zur Steuerung der EbenentransparenzFarbe (überlappende Basisebene)SpekularitätReflexionsvermögen'Emboss / Deboss'-Ebene (optional):Bump-Textur (Anheben oder Absenken des 'Base'-Bumps)Lackschicht (optional):S / W-Bildtextur zur Steuerung der EbenentransparenzSpekularitätReflexionsvermögenBeule (leicht ansteigende 'Base'-Beule)

Der Grund für alle separaten Ebenen ist, dass ich sie einzeln steuern möchte (verschiedene Texturen ersetzen und Werte zur Laufzeit ändern). Abgesehen von der Ebene "Bild" bin ich mir nicht sicher, welche Überblendungswerte ich für die anderen Ebenen verwenden sollte, um eine realistisch aussehende Simulation zu erzielen.

Schauen Sie sich die folgenden Fotos (mit freundlicher Genehmigung der PrintHouse Corporation) an, um die auf Papier angewandten Veredelungstechniken zu veranschaulichen:

Blindprägung (Muster) & Goldfolienprägung (Logo, Titel)

Silberfolienprägung (Logo) und Spot-UV-Lack (Fotos)

Spot UV Lack (Linien)

Ist das überhaupt möglich? Ich konnte kein Beispiel von Three.j finden, das solch komplexe Materialien verwenden würde. Wenn Sie mir einen Hinweis geben oder erklären könnten, wie ich programmatisch vorgehen soll, wäre ich Ihnen dankbar.

Antworten auf die Frage(0)

Ihre Antwort auf die Frage