Jump to content
Unity Insider Forum

Shadowmap


Polywonk

Recommended Posts

Bin mir nicht sicher, ob ich hier bei den Shadern richtig bin, aber ich werd schon nicht meinen Kopf riskieren.

shadowmap.gif

Ich würde gerne in meinen Tile-basierenden Level Editor unpassierbare Bereiche abdunkeln, damit Hindernisse und Plattformen hervorgehoben werden.
Jetzt fehlt uns ein Ansatz, wie man das am schönsten und Ressourcenschonendsten hinbekommen. Ich hatte die Idee einen Layer einzubauen, der aus einer großen Textur/Material/Shader besteht, auf welcher die Schatten der Tiles in groben Pixeln eingezeichnet werden.
shadowmap3.png
Ähnlich wie eine transparente Minimap, die sich über das ganze Level erstreckt. Das Ergebnis müsste dann mit einem Shader weichgezeichnet werden. (und evtl. mit den Hintergründen Multipliziert werden falls keine Transparenz unterstützt wird.(was ich nicht glaube))
shadowmap2.png

Jetzt ist meine Frage; ist das möglich oder überhaupt Ratsam? Gibt es besser Methoden um so eine Art "Fog of War" zu erstellen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist der ideale Anwendungsfall für einen Kameraeffekt-Shader. Dieser Effektshader verarbeitet dabei aber den gesamten Blickbereich (Frustum) der Kamera. 
Nun muss man aber diverse Dinge beachten / bedenken:
- bewegt sich deine Kamera, also folgt sie dem Spieler, d.h. verschiebt sich das Kamera-Frustum?
- soll auch der Hintergrund durch den Effektshader beeinflusst werden?

Sollte sich die Kamera mit dem Spieler mitbewegen, wird es komplexer, da sich hier der Bildschirmausschnitt mit verschiebt und dadurch der Ausschnitt der Shadowmap mit verschoben werden muss. Soll der Effektshader nur bestimmte Gegenstände beeinflussen, dann müssen diese Gegenstände in einen eigenen Layer und die "Effektkamera" darf dann nur diese Objekte rendern. Das "Weichzeichnen" nennt sich Antialiasing. Es gibt Effektshader die einen Antialiasing Effekt erzeugen können, indem Fall müsste man so einen umschreiben, daß er nur die Shadowmap weichzeichnet und nicht die Maintextur ... Die Farbwerte (Helligkeit) der Shadowmap würden dann im letzten Schritt mit den Farbwerten der Maintextur vermischt werden (die Maintextur ist bei einem Effektshader immer der Bildschirminhalt der Kamera)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...