別の近くのライトが1.85の範囲を超えると、ポイントライトが消えるのはなぜですか?


9

Unity 3Dでダンジョン設定のゲームを作っています。多くの松明が壁を覆っています。炎をシミュレートするために、各トーチにポイントライトを使用しています。ただし、2つのトーチが向かい合っており、一方が1.85の範囲を超えると、もう一方が完全に消え、光が放たれません。

何が原因でしょうか?


私も実際にこの問題を抱えており、それを理解することができません。私が気づいたことの1つは、シーンタブにいるときに、ズームするかライトに近づくと、ライトが再びオンになり、別のライトがオフになることです。それを実際に説明することはできませんが、何らかのカリング(またはそのライティングバージョン)に関係していると思います-まだ調査中です
Mungoid


ベーキングはうまくいくかもしれないようです。私はそれを試して、あなたに知らせます。
ティモシーウィリアムズ

この質問はこれに関連していると思います:gamedev.stackexchange.com/q/151650/100681

回答:


14
  1. Lightオブジェクトを選択します
  2. インスペクターに移動
  3. レンダリングモードを「自動」から「重要」に変更します

この答えが見つかるまで、私の一日を無駄にした。ありがとうございました。
felixwcf 2017年

8

Unityは一度に限られた数のピクセルライトのみをレンダリングします。正確な数は品質レベルに依存します。最も「重要な」ピクセルライトが選択され、明るさはライトの「重要な」重要性の一部です。


4

皆さんがまだこれを理解しようとしているのかどうかはわかりませんが、しばらく前に同じ問題があり、決闘トーチごとに1つのポイントライトを使用するだけで解決しました。

火炎粒子システムで松明を設置し、次に2つの松明の間の廊下の中心に点光源を設置します。パーティクルシステムはそれらの間の原点から目を離し、ほとんどのプレーヤーはとにかくその詳細に気付かないでしょう。これにより、同じ効果を維持しながら、シーン内のポイントライトの数が削減されます。

上記を行う場合、または行わない場合でも、ライティングをさらに効果的にしたい場合は、トーチプレハブでコライダーをトリガーとして設定し、OnTriggerEnter / OnTriggerExitを使用して、プレーヤーが通過するときにライトをオンまたはオフにしますレベル(各ライトに2つのボックスコライダーを設置し、廊下の戦術的な場所に置くこともできます)。

これにより、どのライトをオンまたはオフにするかをより詳細に制御できるだけでなく、トーチの数に応じてパフォーマンスを向上させることができます。


3

に移動して、をより高い値にEdit > Project Settings > Quality変更する必要がありpixel light countます。


0

問題が1つのポイントライトが他のポイントライトの範囲内にあることが原因であると確信しているため、ラグの問題のため、Unityはこれらのライトの1つのみをレンダリングします。これは、光の強度を上げて範囲を狭めることで修正できます。


0

誰かがまだ答えを探している場合は、次のいずれかを実行できます。-ライトを選択し、レンダリングを「自動」から「重要」に変更するか、-編集->プロジェクト設定->品質->ピクセルライトの数を目的の数に増やしますライトの。


0

私も同じ問題を抱えていました。これを解決するには、ライトのレンダリング優先度を設定する必要があります。

シーン階層でライトを選択し、「ライト」コンポーネント内で「レンダリングモード」を「重要」に変更します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.