Objekt-Menge über Material anzeigen - Tutorial

  • Ich möchte eine coole Möglichkeit teilen, wie man eine Ansammlung von Objekten über das Material / Shader anzeigen und steuern kann.


    Als Beispiel nehmen wir mal Pilze. Ich habe ein Mesh mit 5 Pilzen erstellt. Die Anzahl der Pilze die tatsächlich dargestellt wird, kann über das Material gesteuert werden.

    Dafür wird die Vertex Color genutzt. In Blender habe ich im R-Channel jeden Pilz einen Wert von 0,2 bis 1 gegeben. Also immer in 5er Schritten, da wir 5 Pilze haben.




    In der Unreal Engine muss man das Material auf "masked" stellen. Da die Vertex Color als Maske genutzt wird um die einzelnen Pilze ausblenden zu können.
    Die Funktion sieht dazu so aus:




    Es wird ein Parameter erstellt (Amount) der dann die Anzahl der Pilze steuert. Den Wert teilen wird dann nochmal durch die Anzahl.

    Wenn man nun eine Material Instance erstellt, kann man nun im Parameter die Anzahl einstellen:



    Das kann halt für viele verschiedene Sachen super nützlich sein.
    Wenn man z.B. im Spiel einen Spawner für Pilze hat, und dieser immer eine verschiedene zufällige Anzahl an Pilzen spawnt, kann man diese dann dadurch visuell Anzeigen lassen. Der Vorteil bei dem ganzen ist, dass es halt immer noch nur 1 Objekt ist.

    Hier ein Beispiel Blueprint für einen Spawner, an dem man dann die Anzahl zufällig einstellt und es dem Material übergibt:




    Hier sind noch weitere Beispiele in dem dies genutzt werden kann:


    Um eine Anzahl von Münzen visuell darzustellen:




    Oder um die Anzahl von Karten in einem Kartendeck darzustellen:



    Ich hoffe ich habe mal etwas neues zeigen können und jemanden damit helfen können, oder auf Ideen gebracht!