Ich versuche, ein Osterei für ein 3D-Spiel in Unity3D zu erstellen. Ich möchte mein Spiel momentan in ASCII-Grafik rendern.
Meine erste Idee ist, einen Shader zu erstellen, aber ich bin mir nicht sicher, ob es der richtige Weg ist.
Ich versuche, ein Osterei für ein 3D-Spiel in Unity3D zu erstellen. Ich möchte mein Spiel momentan in ASCII-Grafik rendern.
Meine erste Idee ist, einen Shader zu erstellen, aber ich bin mir nicht sicher, ob es der richtige Weg ist.
Antworten:
Ich kenne keine Plug-and-Play-Lösung dafür, aber hier ist ein Algorithmus, der im Pixel-Shader nur mit einer Textur als zusätzlichen Bestandteilen arbeitet .
Das erforderliche Asset ist eine kleine Textur mit einer einzelnen Reihe aus einer Reihe von Kacheln, wobei die am weitesten links die dunkelste und die am weitesten rechts die hellste ist.
Was dann passiert ist (pro Frame):
(col.r+col.g+col.b) / 3.0
reicht wahrscheinlich aus, auch wenn das nicht ganz so ist, wie Augen funktionieren)floor(grayscale * TILE_COUNT)
)vec2( whichTile * TILE_WIDTH + tileX, tileY ) / vec2( TILE_WIDTH * TILE_COUNT, TILE_HEIGHT )
Die verlinkte Seite enthält mehrere Bilder mit Beispielen. Eine Sache, die ich als Addition betrachten würde, wäre ein leichtes Rauschen des berechneten Graustufenwerts, sodass es kein großer Block von MMMMMMMMMMMMMMMM
s ist
Aktualisiert: @Lokkij hat im Chatroom von gamedev ein vollständigeres Tutorial für Unity veröffentlicht: http://pentahelix.github.io/ASCII-Tutorial-Revisited/