Unity 3Dでダンジョン設定のゲームを作っています。多くの松明が壁を覆っています。炎をシミュレートするために、各トーチにポイントライトを使用しています。ただし、2つのトーチが向かい合っており、一方が1.85の範囲を超えると、もう一方が完全に消え、光が放たれません。
何が原因でしょうか?
Unity 3Dでダンジョン設定のゲームを作っています。多くの松明が壁を覆っています。炎をシミュレートするために、各トーチにポイントライトを使用しています。ただし、2つのトーチが向かい合っており、一方が1.85の範囲を超えると、もう一方が完全に消え、光が放たれません。
何が原因でしょうか?
回答:
皆さんがまだこれを理解しようとしているのかどうかはわかりませんが、しばらく前に同じ問題があり、決闘トーチごとに1つのポイントライトを使用するだけで解決しました。
火炎粒子システムで松明を設置し、次に2つの松明の間の廊下の中心に点光源を設置します。パーティクルシステムはそれらの間の原点から目を離し、ほとんどのプレーヤーはとにかくその詳細に気付かないでしょう。これにより、同じ効果を維持しながら、シーン内のポイントライトの数が削減されます。
上記を行う場合、または行わない場合でも、ライティングをさらに効果的にしたい場合は、トーチプレハブでコライダーをトリガーとして設定し、OnTriggerEnter / OnTriggerExitを使用して、プレーヤーが通過するときにライトをオンまたはオフにしますレベル(各ライトに2つのボックスコライダーを設置し、廊下の戦術的な場所に置くこともできます)。
これにより、どのライトをオンまたはオフにするかをより詳細に制御できるだけでなく、トーチの数に応じてパフォーマンスを向上させることができます。
問題が1つのポイントライトが他のポイントライトの範囲内にあることが原因であると確信しているため、ラグの問題のため、Unityはこれらのライトの1つのみをレンダリングします。これは、光の強度を上げて範囲を狭めることで修正できます。