Ich bin gerade maximal verwirrt über die Node Set MaterialInstance Static Switch Parameter Value

  • Hi zusammen.


    Ich bin gerade ein wenig sehr verwirrt. Bekanntermaßen kann, bzw. konnte, man auch bei Materialinstanzen keine Staticwerte, sprich boolsche Werte, in Materialinstancen über das BP ändern.

    Eine Möglichkeit gab es dennoch, man konnte sich per C++ eine Node erstellen, die das dann doch erledigt hat. Nun habe ich diese Node mal wieder rausgekramt und wollte sie anwenden. Aber so wie ich sie damals programmiert habe, scheint sie nicht mehr zu funktionieren in der Version 5.

    Meine weiteren Nachforschungen ergaben, es scheint in der Version 5 tatsächlich von Haus aus eine Node zu geben, die genau das erledigt. In den Docs hier zu finden.


    Set Material Instance Static Switch Parameter Value
    Set Material Instance Static Switch Parameter Value
    docs.unrealengine.com


    Aber, wenn die Node erstellen will, finde ich sie nirgends. In der Anleitung steht ja auch nicht, dass man dazu ein Plugin aktivieren muss, oder es für folgende Versionen geplant wurde. Es steht halt ganz normal in den offiziellen Docs.

    Habe ich da irgendetwas übersehen oder so? Ich meine, so richtig viele Informationen stehen in den Docs ja nicht drin.

  • Sleepy

    Hat den Titel des Themas von „Ich biun gerade maximal verwirrt über die Node Set MaterialInstance Static Switch Parameter Value“ zu „Ich bin gerade maximal verwirrt über die Node Set MaterialInstance Static Switch Parameter Value“ geändert.
  • Bin ich wirklich der Einzige, der sich über diese Node wundert, zum einen, weil sie ja offensichtlich darauf hinzielt, dass man jetzt doch auf Static Bool zugreifen kann und zum anderen der Einzige, der das irgendwie nicht finden kann?

    Ich kann doch auch unmöglich der Einzige sein, der eine derartige Möglichkeit Materialien zur Laufzeit zu manipulieren vermisst hat.

  • Vermisst habe ich so eine Node auch schon immer.
    Arbeite aber noch nicht mit der UE5. Kann ich also nichts weiter zu sagen.

    Nun, mit C++ kannst du dir auch eine eigene Node basteln, die das kann. Ich hatte die mal gaaanz weit am Anfang gebastelt, war gar nicht so schwer. Ich glaube sogar, dass sie zumindest bis 4.2x funktioniert hat, habe sie dann länger nicht mehr benutzt und sie inzwischen mal wieder ausgegraben. Aber in der 5er funktioniert es leider nicht damit.


    Gibt halt die Möglichkeit, dass sich in der API etwas geändert hat. Vielleicht kann ich sie dann ja mal anpassen. Aber um so mehr hat es mich halt gewundert, dass es in der Dokumentation jetzt eine Node gibt, die genau das übernehmen soll. Und noch mehr wundert mich halt auch, dass ich diese Node nirgendwo finden kann. Es gibt auch keine Plugins, seitens Epic, hinter dem man diese Node vermuten könnte. Inzwischen habe ich auch mal die neuste Preview installiert, auch da ist sie nicht vorhanden.

  • Nun, du kannst ja zum Beispiel, nur als Beispiel, ein Licht sagen, an oder aus, wobei aus dann halt vielleicht nicht nur bedeutet, dass es nicht leuchtet, sondern halt ein ganz anderer Materialarm angezeigt wird. In meinem Fall wäre es zum Beispiel, eine LED, die an, aus oder blinkend sein kann. Mit Lerps funktioniert das komischerweise nicht so gut, weil man im BP dann halt auch den boolschen Zustand gut weitergeben kann, ohne extra noch zu sagen Branch true = 1, Branch false = 0 oder so. Es ist übersichtlicher, vermeidet Logikfehler und als ich es mit Lerps ausprobiert habe, funktionierte es auch gar nicht.

  • Hast du Lerp auch wirklich verstanden? Das ist ein lineares interpolieren. Bei hart 0 oder 1 macht das ja eigentlich gar keinen Sinn. Da gibt es dann ja nicht viel zu interpolieren. Wolltest du vielleicht runden? Bei deiner LED waerst du doch viel besser dran fuer die Lichtintensitaet nen Faktor zu nehmen und den dann mit deinem float zu multiplizieren. Wasauchimmer mal null ist immer noch null und mal 1 ist halt was du eingestellt hast. Ich glaub du machst es dir manchmal selber schwer, nimm doch ein material einfach mal als Material, so isses auch gedacht.

  • Ich glaub du machst es dir manchmal selber schwer,

    Wer ich? Niemals. Wie kommst du darauf?


    Aber, ich kann dir ja mal das Material zeigen.


    Externer Inhalt blueprintue.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Ist eigentlich schön kurz, funktioniert außerhalb der BPs einwandfrei, wenige Rechenoperationen. Alles super. Und halt auch eine Aufgabe, die gut vom Material/Graka übernommen werden kann.

  • Bei mir wuerde das so aussehen...




    Round halt weil ich hier mal festlege es gibt nur "an" oder "aus", nix dazwischen, also nur 0 und 1. On/Off 0 oder 1, koennte man noch rounden, aber wozu wenn ich weiss was es macht. Speed einfach Multiplikator - schneller oder langsamer. Ich muss gestehen ich teile deine Leidenschaft fuer static switch Parameter nicht. Gibt sicherlich Faelle wo die total Sinn machen.... Hier? Seh ich nicht.

  • Ja gut, so ähnlich hatte ich es ja am Anfang, wenn auch ohne Round. Hier muss ich die LED an haben UND Blinken, bzw. bei an, dann die Frequenz auf 0 stellen. Ich habe es dann halt so umgeschrieben, dass der Blinkstatus dem OnOffStatus vorrangig geschaltet ist. So wollte ich es halt nutzen. Zudem wollte ich dann halt die boolsche Logik aus den BPs direkt übernehmen können und nicht noch extra in 0, 1 und Speedwert umrechnen.