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?
Antworten:
quelle
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.
quelle
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.
quelle
Sie sollten zu gehen
Edit > Project Settings > Quality
und denpixel light count
Wert auf einen höheren Wert ändern .quelle
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.
quelle
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.
quelle
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".
quelle