Wie die meisten Webseiten nutzen wir Cookies. Nähere Informationen dazu, wie wir mit diesen Cookies umgehen, können Sie in unseren Datenschutzbestimmungen lesen.   Einverstanden
 
 

3D Forum > Unity 5 - Directional Light und Culling Mask Problem

Unity 5 - Directional Light und Culling Mask Problem

02.05.2015 10:12
 
SleepyMo. 04 Mai. 2015, 11:16 Uhr
Du meinst vermutlich den starken speular selbst bei Dunkelheit ?
Das liegt auf jedenfall an deiner Lichtquelle hast du mal versucht für die Nacht ein komplett anderes Licht zu verwenden ?
Bei dem anderen Licht würde ich GI dann zb komplett auslassen und alles sehr stark runterdrehen.
 
TilesMo. 04 Mai. 2015, 11:32 Uhr
Scherzkeks. Wenn ich GI runterdrehen muss bis es aus ist hab ich ja nix vom GI

Nein, ich meine nicht das Specular. Sondern das GI. Das linke Bild ist deutlich heller, weil da das GI von der falschen Lichtquelle noch mit reinspielt.

Das mit dem komplett anderen Licht geht leider nicht. Nur durch die Directionals bekomme ich die Beleuchtung die ich brauche. Das spielt ja auch noch mit dem Sky zusammen. Dass die Lichter nur bestimmte Layer beleuchten sollten ja eigentlich die Culling Masks erledigen. Das tun sie auch für das direkte Licht. Aber eben nicht für das GI.

Ich habe das aber tatsächlich grade so gelöst dass ich bei dem einen Licht für den Spielecontent die Bounce Intensity komplett auf Null gedreht habe. So leuchtet das nicht mehr in meinen Levelcontent.

Das funktioniert bei mir hier aber nur weil mein Spieleteil eigentlich kein GI benötigt. Ist also mehr ein glücklicher Zufall. Und die Levellichter funzeln nach wie vor in meinen Spielecontent rein. Ist also nicht wirklich das Gelbe vom Ei, auch wenn ich damit jetzt erst mal leben kann.

 
SleepyMo. 04 Mai. 2015, 11:55 Uhr
Ich glaub ich hab dein Problem noch nicht ganz verstanden. Ich dachte dein Problem liegt in deiner Nachtaufnahme da hier offenbar die Speukar zu stark ist.

Was ich meinte ist das du bei Dunkelheit ja kein GI brauchst.

Durch die Bounce intensity legst du ja fest wie oft dein Licht irgend wo abrallen soll also wie oft ein Lichtstrahl von einem Objekt in eine andere Richtung reflektiert werden soll.
Bei Dunkelheit gibts logischerweise wenig Licht deswegen macht es wenig Sinn das wenige Licht oft Bouncen zu lassen.
 
TilesMo. 04 Mai. 2015, 12:04 Uhr
Jo, du hast das Problem echt noch nicht verstanden. Es geht nicht um GI settings ^^

Schau dir mal das Bild oben an. Links ist es deutlich heller als rechts. Was es nicht sein sollte. Denn ich habe dem Layer das entsprechende Licht per Culling Mask komplett weggenommen. Dieses Licht das mein Level im linken Shot so hell macht sollte eigentlich mein Level gar nicht beleuchten.

Das Problem ist, das direkte Licht wird zwar gecullt. Aber das indirekte, das Bounce Licht nicht. Und das ist wohl ein Bug. Das Culling arbeitet hier fehlerhaft smile
 
defraggerMo. 04 Mai. 2015, 12:27 Uhr
du musst die Objekte auch vom default layer runter nehmen.
Also bei mir hat das bisher nie Probleme gemacht.

Edit: habs grade extra nochmal ausprobiert und du hast recht. Irrgendwie ist da der Wurm drin ...
Wenn ich ein Licht runter nehme ist alles noch super. Aber wenn ein zweites Licht dazu kommt habe ich das selbe Problem wie du.
 
TilesMo. 04 Mai. 2015, 12:29 Uhr
Juhuu, das war der entscheidende Hinweis. Wenn ich den Lichtern noch den Default Layer wegnehme ist alles gut!

Merci Vielmals smile

Kurios ist es trotzdem, denn die entsprechende Geometrie ist ja nicht auf dem Default Layer.

 
defraggerMo. 04 Mai. 2015, 12:36 Uhr
wie? Bitte nochmal genau.

lol, ich bekomme es jetzt nicht mehr hin.
 
TilesMo. 04 Mai. 2015, 12:41 Uhr
Crosspostediting ^^

Ach verdammt, das wars doch nicht. Hab da grad nur ein Objekt erwischt gehabt das noch nicht im richtigen Layer war. -.-

Es bleibt also dabei, das direkte Licht wird zwar gecullt, das GI Licht, also das indirekte Licht, wird von den Culling Masks ignoriert. Ich schreibe da jetzt mal flink einen Bugreport dazu. Danke fürs Bestätigen smile
 
defraggerMo. 04 Mai. 2015, 12:59 Uhr
haha so ein edit-button ist Teufelszeug

Versuch vielleicht mal folgendes:

Ich habe zwei directional Lights und zwei Objekte.

Objekt A auf default layer
Objekt B auf test layer

Light A beleuchtet alles außer den test Layer
Light B beleuchtet alles außer den default Layer

Also erst auf everything und dann gezielt den gewünschten Layer ausknipsen. Ich hatte es erst genau andersrum. Also auf nothing und danach nur den einen Layer rein gemacht. Scheinbar hat Unity ein Problem ab einer gewissen Anzahl an culling Layern. Also wenn du mehr Layer raus nimmst bekommt er irrgendwann ein Problem und es funktioniert nicht mehr.

Soweit ich das bisher beurteilen kann funktioniert es jetzt für direktes und indirektes Licht. Aber wäre toll wenn du das auch nochmal in deiner Scene checken kannst.
 
TilesMo. 04 Mai. 2015, 15:05 Uhr
Hmm, deine Kombination habe ich natürlich auch schon durchgespielt. Ich habe eigentlich alle möglichen Kombinationen durchgespielt. Das Ergebnis ist immer das Gleiche. Deswegen habe ich jetzt einfach mal einen Bugreport erstellt. Mal schaun was draus wird smile

http://fogbugz.unity3d.com/default.asp?694384_159lfichioa59f3d

Viel Hoffnung habe ich ja nicht. Unity und Bugfixing ist ein ganz spezielles Kapitel ...
 
 

 


 
 
© 3D-Ring - deutsche 3D Software Community, Archiv 2001 - 2006