2D Texture zu Material umwandeln

  • Du kannst in deinem Material per BP andere Texturen zuweisen. Meinst du das vielleicht?


    Das würde dann so aussehen, du erstellst ein Grundmaterial, keine Ahnung, vielleicht nur aus Basecolor bestehend, und dann kannst du diese Basecolor halt austauschen. Und das Material weist du halt deinem Actor zu, wie gehabt.


    Dazu musst du im Material nur statt TextureSample -> TextureParameter2D nehmen.

  • So richtig Sinn macht deine Frage nicht hier mal die Begriffserlärung:


    1.Eine Textur ist im grunde nichts anderes als ein Bild.

    2.Ein Material ist ein Container der aus mehren Texturen besteht. Man könnte auch sagen ein Material ist das Herzstück wo Diffuse, Normal, Roughness Metallic usw zusammenläuft. In einem Material befinden sich mehre Texturen.


    Eine Textur in ein Material umwandeln würde demnach folgende Steps bedeuten:


    1. Auf Knopfdruck wird ein neues (leeres) Materials erstellt.

    2. Die Textur wird wird in dieses Material kopiert und beispielsweise dem Diffuse Channel zugewiesen.

    3.Weitere Texturen wie beispielsweise ein Normalmap könnten so zugewiesen werden.


    Ich bin bei Tomarr: Es wäre einfacher die Texturen in einem bereits vorhandenen Material zu wechseln bzw du hast mehre Materials und diese wechselt du einfach.


    Vielleicht erklärst du was du konkret vorhast.

  • Stimmt, die Frage nach dem warum du es so machen willst habe ich in meinem Beitrag irgendwie vergessen.


    Es gibt schon einen Grund dafür, warum man Texturen nicht einfach so auf einen Actor klatscht, was rein technisch mit Sicherheit auch so möglich wäre, einige ältere Engines machen das sogar so. Das ist aber schon lange her.


    Es würde wirklich mehr Sinn ergeben, entweder ein Grundmaterial zu erstellen, funktioniert genauso wie ich es oben beschrieben habe, zum Beispiel Metalle mit allen Eigenschaften die Metalle so haben, wie glänzen, eventuelle Kratzer oder was auch immer, davon dann Instanzen zu erstellen mit den unterschiedlichen Materialien und diese dann gegebenenfalls im Spiel zur Laufzeit auszutauschen.


    So habe ich das zum Beispiel in einem Testprojekt gemacht, als ich noch ganz am Anfang mit der Unreal Engine war, da habe ich ein Material "Grundmetall" erstellt, und ich konnte dann relativ einfach daraus die Instanzen für Stahl, Kupfer, Gold usw. erstellen, indem ich nur ein paar Parameter geändert habe, wie zum Beispiel die Farbe, Glanzintensität oder halt ganz selten auch mal die Textur.