Hallo zusammen,
ich möchte das Verhalten eines Matrixscheinwerfers in der UE modellieren. Dieser besteht aus einer Lichtmatrix, welche wiederum aus vielen einzelnen Lichtquellen (bspw. LEDs) besteht, die unabhängig voneinander angesteuert werden können. Meine Idee ist es, ein Spotlight zu einem Diaprojektor umzufunktionieren. Als Dia möchte ich eine Textur verwenden, die die Lichtverteilung des Scheinwerfers beschreibt.
Im Bild sieht man, was ich meine. Hier habe ich eine einfache Textur als Light Function verwendet. Jedoch ist diese zur Laufzeit fix. Wenn man sich die verwendete Textur als 2D-Array vorstellt, das aus Grauwerten besteht, könnte man die Textur so beschreiben: [[255, 0], [0, 255]]. Ich möchte diese Werte in jedem Frame anpassen können und die korrespondierende Lichtverteilung erhalten.
Ich habe nur wenig Erfahrung mit der UE. Leider scheint es auch keine Ressourcen zu geben, die mir bei diesem Problem helfen. Ich habe zwar Tutorials gefunden, wie man mit Spotlights Videos in die virtuelle Welt projizieren kann, aber das ist nicht das, was ich erreichen möchte. Also ich möchte keine vorgefertigte Sequenz von Lichtverteilungen/Grauwerttexturen "abspielen".
Ich denke, der vielversprechendste Ansatz ist die Light Function. Nur habe ich keine Idee, wie ich die fehlende Dynamik einbringen kann. Der alternative Ansatz, eine eigene Lichtquelle zu programmieren, die einen Matrixscheinwerfer implementiert, ist für mich vermutlich nicht umsetzbar, da ich hier das Rendering innerhalb der Engine verstehen und erweitern müsste und mir dafür schlichtweg das nötige Know-how fehlt.
Was sind eure Gedanken dazu? Fallen euch evtl. noch andere Ansätze ein, die nicht auf den Light Functions fußen? Habt ihr eine Idee, wie man die beschriebene Dynamik mit Light Functions umsetzen könnte?
Viele Grüße
Kiwano