Sequentielles Channeling im Node Editor (kein PBR-Workflow)
Ich versuche, eine funktionale sequentielle Kanalisierung / Maskierung ohne externe Medien durchzuführen. Um meinen Standpunkt klar zu machen, habe ich dies schnell gemacht, .blendwo eine Ampel auf Rot> Gelb> Grün geht, wenn der Eingabewert steigt.
Dies ist der Effekt, den ich bisher habe:
Dies ist mein Knoten-Setup:
Und das ist die gewünschte Ausgabe:
Ich weiß, dass ich in einem PBRWorkflow einfach ein Bild zum Kanalisieren / Maskieren der Ausgabefarben über UV-Mapping erstellen könnte, aber ich frage mich, ob ich den gleichen Effekt ohne externe Daten erzielen kann
Zielsetzung:
- Erzielen Sie den gewünschten sequentiellen Effekt mit unterschiedlichen Farbausgaben für jedes Element (siehe Beispiel oben).
Regeln:
- Keine externen Medien oder UVs zum Channeling / Masking (PBR-Workflow)
- Keine externen Add-Ons oder Plug-Ins
- Keine Verwendung von Animation / Keyframe
Extrapunkte für:
- Knoteneinrichtung optimieren
- Einen besseren Weg finden und erklären, um den gewünschten Effekt zu erzielen
- Gibt es eine Binärwerteingabe? wie ein EIN / AUS für jedes einzelne Element, anstatt eine
mathBedingung durch numerische Werte zu setzen?
Vielen Dank im Voraus für Ihre Hilfe!
Edit: hier ist die ursprüngliche .blendDatei
Antworten
Sie können den Eingabeknoten "Texturkoordinate" und eine "Farbrampe" verwenden .
Die X-Ausgabe liegt zwischen 0 und 1. Wenn wir also die Farbrampe in drei konstanten Schritten bei 0, 0,3333 und 0,6666 aufteilen, haben wir die Farbe, die wir für die gute Festplatte wünschen.
Für den grauen Teil vergleichen wir einfach den Eingabewert (0, 0,1, 0,2, 0,3) mit X, das in 0 und 0,3 eingeklemmt ist.
Ich konnte nicht anders, als ein unschönes Abwischen in @ Zitronens Antwort zu bemerken. Hier ist eine Variation davon, die wechselt .
..Ich bin sicher, das hat er gemeint ..
Fügen Sie Ihrem Setup einfach eine Verlaufstextur mit einer UV-Karte hinzu.
- Erstellen Sie eine UV-Karte für die Ampeln. (UV> Projekt aus Sicht)
- Fügen Sie für jede Phase eine Texturkoordinate> Verlaufstextur> Farbrampe hinzu
- Die ColorRamp (auf Konstante eingestellt) steuert, welche Lichter während der Phase ein- oder ausgeschaltet werden
Verbinden Sie es mit Ihrem aktuellen Setup.
Nach den guten Antworten und Vorschlägen habe ich meine eigene Antwort mit einigen Ergänzungen für diejenigen gegeben, die mit dieser Workflow-Idee mehr Funktionen wünschen.
Hier ist eine optimierte Ausgabe (inspiriert von allen eingegangenen Vorschlägen):
Und das optimierte Knoten-Setup:
Erläuterung:
mathInsgesamt vier Knoten fungieren als Maskierungsfaktor und eignen sich zum Erweitern der Objektanzahl und ihrer Werte. Um dies zu erreichen, sind die Lichtlampen jetzt individuelle Geometrien (sie sind nicht in die gleiche Masche Gruppe) , und sie wurden mit einem anderen zugeordnet Object Index( Object Properties> Relations> Pass Index) zu jedem. Mit einer eindeutigen Indexidentifikation ist es jetzt einfacher zu steuern, welches Element (oder welche Elemente) sich nacheinander ändert, wenn die Werteingabe zunimmt.
Verwendung: Sie können jetzt weitere Netzelemente und Features hinzufügen, die nacheinander geändert werden sollen
- Trennen Sie das Netz oder fügen Sie eine neue Geometrie hinzu
- Delegieren Sie
Object Indexjeder Geometrie eine Nummer - Fügen
ColorRampSie der oder einer beliebigen Funktion eine zusätzliche Farbe hinzu - Ändern Sie den
ModuloWert so, dass er mit allen Indexnummern übereinstimmt - Subtrahieren Sie 1 Indexnummer von der Summe im
DivideKnoten
Wenn Sie diese Schritte ausführen, können Sie jetzt die sequentielle Ausgabe mit nur einem Klick ohne UVs oder externe Maskierungsmedien steuern :)
Extra Idee:
- Sie können dasselbe
Object Indexan verschiedene Geometrien delegieren , wenn Sie möchten, dass sie bei Bedarf dieselbe Ausgabe haben (z. B. den 3-2-1-Countdown in Rot und das GO! -Licht in Grün). Es ist nicht erforderlich, 4 Farben zu haben, um dies zu erreichen. Sie können einfach die Farben Rot und Grün in das Feld eingebenColorRampund den gleichenObject IndexWert an jede 3-2-1-Sequenz delegieren . Vergessen Sie nicht, die WerteModuloundDivideentsprechend den Gesamtindexwerten zu aktualisieren .
Ich hoffe, Sie finden das nützlich und ich hoffe, Sie haben wie heute neue Dinge gelernt. Neue Vorschläge und Alternativen sind immer willkommen.