Warum verschwinden meine Punktlichter, wenn sich ein anderes Licht in der Nähe über dem Bereich von 1,85 befindet?

9

Ich mache ein Spiel mit einer Dungeon-Einstellung in Unity 3D. Viele Fackeln säumen die Wände. Ich benutze ein Punktlicht über jeder Fackel, um die Flamme zu simulieren. Wenn sich jedoch zwei Fackeln gegenüberliegen und eine den Bereich von 1,85 überschreitet, verschwindet die andere vollständig und gibt kein Licht ab.

Was könnte das verursachen?

Timothy Williams
quelle
Ich habe derzeit auch dieses Problem und kann es nicht herausfinden. Eine Sache, die mir dabei aufgefallen ist, ist, dass manchmal, wenn ich mich auf der Registerkarte "Szene" befinde und zoome oder näher an das Licht herangehe, es wieder eingeschaltet wird und ein anderes ausgeschaltet wird. Ich kann es nicht wirklich erklären, aber ich vermute, es hat etwas mit einer Art Keulung (oder der Beleuchtungsversion davon) zu tun - allerdings noch in der Forschung
Mungoid
Backen scheint zu funktionieren, ich werde es ausprobieren und Sie wissen lassen.
Timothy Williams
Ich denke , diese Frage zu diesem in Zusammenhang stehen könnte: gamedev.stackexchange.com/q/151650/100681

Antworten:

14
  1. Wählen Sie das Lichtobjekt aus
  2. Gehen Sie zum Inspektor
  3. Licht
  4. Und ändern Sie den gerenderten Modus "Auto" in "wichtig".
Nitish Rajan
quelle
Ich habe meinen einen festen Tag verschwendet, bis ich diese Antwort herausgefunden habe. Danke.
felixwcf
8

Unity rendert jeweils nur eine begrenzte Anzahl von Pixellichtern. Wie viele genau, hängt vom Qualitätsniveau ab. Die "wichtigsten" Pixellichter werden ausgewählt, und die Helligkeit ist ein wesentlicher Bestandteil der "Wichtigkeit" eines Lichts.

Superpig
quelle
4

Ich weiß nicht, ob ihr noch versucht, das herauszufinden, aber ich hatte vor einiger Zeit das gleiche Problem und löste es, indem ich nur ein Punktlicht pro Duell-Fackel verwendete.

Stellen Sie Ihre Fackeln mit Flammenpartikelsystemen auf und stellen Sie dann das Punktlicht in die Mitte des Flurs zwischen den beiden Fackeln. Die Partikelsysteme lenken den Blick vom Ursprungspunkt zwischen ihnen weg, und die Mehrheit der Spieler wird dieses Detail sowieso nicht bemerken. Dadurch wird die Anzahl der Punktlichter in Ihrer Szene verringert, während der gleiche Effekt beibehalten wird.

Wenn Sie dies tun oder auch nicht und die Beleuchtung noch effektiver gestalten möchten, stellen Sie einen Collider als Auslöser für Ihr Taschenlampenfertigteil ein und schalten Sie die Lichter mit OnTriggerEnter / OnTriggerExit ein und aus, während der Player durchläuft das Level (Sie könnten sogar zwei Box Collider auf jedes Licht setzen und sie an taktischen Orten über den Flur legen).

Auf diese Weise haben Sie viel mehr Kontrolle darüber, welche Lichter ein- und ausgeschaltet sind, und können die Leistung je nach Anzahl der Taschenlampen steigern.

Austin
quelle
3

Sie sollten zu gehen Edit > Project Settings > Qualityund den pixel light countWert auf einen höheren Wert ändern .

user49686
quelle
0

Ich bin mir ziemlich sicher, dass das Problem dadurch verursacht wird, dass sich ein Punktlicht im Bereich des anderen Punktlichts befindet. Bei Verzögerungsproblemen rendert Unity nur eines dieser Lichter. Dies kann behoben werden, indem die Intensität des Lichts erhöht und dessen Reichweite verringert wird.

Afterlife Entertainment
quelle
0

Wenn noch jemand nach einer Antwort sucht, können Sie entweder: - das Licht auswählen und das Rendern von "Auto" in "Wichtig" ändern oder - zu Bearbeiten-> Projekteinstellung -> Qualität -> Pixelanzahl auf die gewünschte Anzahl erhöhen von Lichtern.

neetesh
quelle
0

Ich hatte das gleiche Problem. Um dies zu lösen, müssen Sie die Rendering-Priorität des Lichts festlegen.

Wählen Sie das Licht in Ihrer Szenenhierarchie aus und ändern Sie in der Komponente "Licht" den "Rendermodus" in "Wichtig".

pawlos
quelle