Möglich Schatten auf transparente Objekte fallen zu lassen?

Hallo!

 

Weiß jemand ob es möglich ist Schatten auf transparente Objekte fallen zu lassen? In Kapitel 6.1.4 werden für den Tracer zwei Fußböden definiert. Ein (teil-)transparenter zum drauf fahren und 2m darunter ein nicht-transparenter, auf dem auch der Schatten des Tracers abgebildet wird. Ich will etwas ähnliches bauen, wobei ich aber Schatten auf der transparenten Fläche haben möchte. Ist das möglich? Im Internet habe ich bislang ein paar Beispiele mit Shader-Code gefunden, die bei mir in Unity alle nicht funktioniert haben...

 

Lange Erklärung:

Meine Idee ist, ein Autorennspiel  zu realisieren, bei dem man innerhalb einer fotografierten Landschaft fährt. Dazu mache ich ein 360 Grad (sphärisches) Panoramafoto, das ich in Unity als Skybox - auch für den Fußboden - benutze. Darin möchte ich nun direkt mit meinem modellierten Auto fahren. Das Auto sollte aber einen Schatten werfen, damit man den Eindruck bekommt, dass es sich wirklich in der Szene befindet. Da die Skybox aber keine Schatten empfängt muss ich ein Objekt in die Szene einfügen, worauf der Schatten des Autos fallen kann. Damit man die Skybox noch sieht möchte ich dieses Objekt transparent machen. Oder kann sich jemand einen anderen Weg vorstellen?

 

Vielen Dank schon einmal für mögliche Anregungen und viele Grüße,

Patrick

gefragt04.09.2015
patmik3
patmik

2 Antworten

Hmm,

 

Schatten auf transparenten Flächen scheint mir irgendwie widersprüchlich zu sein... ich meine, Schatten werden durch die Abwesenheit von Licht erzeugt, bzw. durch das unterschiedlich  starke Vorhandensein von Licht. Und transparente Flächen lassen das Licht hindurch, sodass die Lichtstärke bei solchen Objekten ja eigentlich keine Rolle spielen sollte - es ist und bleibt lichtdurchlässig und damit konsequenterweise "schattendurchlässig".

 

Aber die Idee gefällt mir, mit meinen begrenzten Mitteln würde mir nur einfallen, das Foto für den Boden als Textur für eine Plane zu verwenden, aber das ist dir sicherlich auch selbst schon klar.

Du könntest das Problem Schatten umgehen, in dem du andere Objekte in deine Szene einbaust (Schilder, Büsche, Bäume, usw.), die das Gefühl von "mittendrin statt nur dabei" vermitteln.  Letztlich ging es dir ja darum, dieses Gefühl für den Spieler zu erzeugen und je nach Blickwinkel des Spielers würde er den fehlenden Autoschatten vielleicht gar nicht vermissen.

 Eine weitere - zugegebenermaßen nicht ganz triviale - Idee wäre, keinen echten Schatten zu verwenden, sondern ein schwarzes Sprite, das du unters Auto legst. Natürlich musst du dieses Sprite abhängig von den Bewegungen des Autos und relativ zur Kamera entsprechend drehen und positionieren, daher nicht ganz trivial. Ich mach halt nur gerade etwas Brainstorming, was mir zu deinem Thema einfällt.

Vielleicht hilfts ja.

 

Viele Grüße

Ewald

beantwortet14.01.2016 morvi 26
morvi

Diesen hier hattest du wahrscheinlich schon ausprobiert, oder: http://wiki.unity3d.com/index.php?title=TransparentShadowReceiver

An sich wäre ich jetzt davon ausgegangen, dass der Standard-Shader, wenn man Transparenz einschaltet, trotzdem Schatten darstellt. Im Moment bin ich aber gerade im Urlaub und kann das daher nicht testen.

beantwortet07.09.2015 Jashan Chittesh 301
Jashan Chittesh

Deine Antwort

Um eine Antwort zu geben, musst du Login

Ich markiere diese Frage weil ...

10 übrige Markierungen um Moderator zu informieren

Ich lösche diese Frage weil ...

Ich markiere diese Antwort weil ...

10 übrige Markierungen um Moderator zu informieren

Posting markieren

Du hast diese Beitrag bereits markiert. Klicke "Markierung aufheben" um deine Markierung zu entfernen, was auch die Anzahl der Markierungen um eins reduziert.

Ich lösche diese Antwort weil ...