Jump to content
Unity Insider Forum

Schatten in Räumen


grinseengel

Recommended Posts

Hallo Community,

ich habe nach längerer Zeit mal wieder eine Frage die ich nicht lösen kann. Es deht um den Schattenwurf in geschlossenen Räumen. Der Schattenwurf außerhalb von Gebäuden funktioniert ohne Probleme. Wenn ich mich innerhalb von Räumen aufhalte, dann funktioniert das leider nicht mehr. Ich habe im Handbuch etwas von Ambient Occlusion gelesen. Allerdings bin ich mir nicht sicher ob das mein Problem löst. Jedenfalls haben die Einstellungen im Lightning Fenster nichts bewirkt.

Ein weiteres Problem ist, das es in den Räumen nicht dunkler wird, wenn ich diese von außen betrete, Es wird nur dann dunkel, wenn die Sonne untergeht. Kann man das getrennt voneinander einstellen? Muss ich da Zonen definieren? Ich würde mich über einen Tip sehr freuen.

Gruß, Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist ein sehr komplexes Thema.  Fangen wir mal beim "Directional Light" an. Das DL in der Szene durchdringt im "Realtimemodus" alles, normal auch geschlossene Räume. Nur der Schattenwurf eines Objektes erzeugt somit dunkle Bereiche.

Man kann aber einiges tun um einen Raum dunkel du bekommen, der in einem offenen Gelände steht. Bei einer Scene nur mir dem Raum alleine, kann man das DL steuern oder ausschalten und damit hat man dieses Problem nicht.

Ausgangslange: Offenes Gelände mit Directional Light als Sonne.
Wir müssen folgende Dinge kontrollieren:
- Helligkeit des DL und den Indirect Multiplier, beides können wir aber leider in einem offenen Gelände nicht viel manipulieren. 
- die Helligkeit der Reflektionen
- Ambientlicht: Realtime GI vs Precomputed Realtime GI 

Wenn man für die Szene nun keine Lightmap erstellt, hat man keine Chance, das Ambient Light knallt gnadenlos durch die Wände hindurch und beleuchtet den Raum von innen, obwohl er geschlossen ist. (zudem gibt es keine globalen Reflektionen)

Wir müssen das Steulicht für den Raum berechnen lassen. Dieses wird über eine Lightmap berechnet.
- wir stellen alle Raumobjekte auf "static" und lassen die Lightmap berechen

Ist der Raum geschlossen (ohne Tür und Fenster wo das DL eindringen kann) ist der Raum nun schon recht dunkel. Es fällt auf, daß er immer noch nicht komplett dunkel ist! Woran liegt das? Es kommt von den Reflexionen der Skybox!
- wir legen eine Reflection Probe an und passen sie der Raumgröße an

Normal sollte der Raum nun komplett schwarz sein. Grund? Das Licht es DL erreicht das Innere des Raumes nicht mehr.
Wir können nun anfangen andere Lichter zu setzen wie AL, PL, oder SL.

PS:
Schattenwurf: Da wir nun das DL komplett geblockt haben funktioniert ein Schattenwurf nun nur, wenn wir neue Lichter im Raum setzen.

Hier mal eine Raumszene die ich nach der obigen Methode erstellt habe. Als Beweis für eine Outdoorszene habe ich eine Tür eingebaut.
Die 3 Lichtquellen im Raum haben einen "Indirect Multipier" von 0 damit sie den Raum nicht aufhellen. 

6EX6Dtt.png

Gleiche Szene ohne Reflexionen an den Wänden:
jxje54T.png

Ich wäre übrigens überrascht. Die Lichtberechnung funktioniert sogar durch transparente Objekte...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo ZerOCool,

vielen Dank für die Lehrstunde in Sachen Unity. Ich bin mit dem Ergebnis schon recht zufrieden. Allerdings verstehe ich das mit " Reflection Probe " nicht. Wie mache ich das denn genau?

Dunkel ist mein Raum jetzt und einige Lichtquellen habe ich auch eingesetzt. Die Ausleuchtung sieht schon recht real aus. Allerdings fehlen mir noch die Schatten im Raum.

Kannst du mir nochmal helfen?

Gruß, Andreas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Reflection Probes werden für einen bestimmten Bereich definiert, in deinem Fall solltest du sie auf die Größe eine Raumes ziehen und dann erstellen lassen (Bake). Sie nehmen alle Reflektionen im Raum auf, ist wie ein Snapshot mit einer Kamera. Wichtig ist hier auch wieder bereits eine Lightmap zu haben, da die LP mit der Erstellung der Lightmap Hand in Hand.

Warum bei dir Schatten fehlen kann ich nur Spekulieren, da gibt es wieder mehrere Möglichkeiten:
- Einstellung des Schatten bei den Lichtquellen in der Szene, hier kann man meist "Hard Shadows" "Soft Shadows" oder eben die Schatten ganz ausstellen
- verwendete Shader und Materialien
- Qualityeinstellungen

Notfalls erstell mal eine kleine Demoszene, dann kann ich es mir mal anschauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo ZerOCool,

jetzt habe doch noch eine Frage zur Ausleuchtung. Meine Taverne ist jetzt gut ausgeleuchtet. Was mir noch nicht so gut gefällt ist die Darstellung der NPC's. Die sehen immer noch so aus, als ob sie leicht leuchten würden. Auch die Texturen sehen recht blass aus. Hast du da noch eine Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...