2Dライティングはどのように実装されますか?


58

2Dゲームで「照明」効果にアプローチする最良の方法は何だろうと思っています。たとえば、メインキャラクターが光っている場合、光の影響を受ける他のオブジェクトの近くにいるときに光るキャラクターの視覚効果を完成させるために、どのテクニックを使用できますか?

回答:


39

柔らかく透明なエッジを持つ単純なグローエフェクトテクスチャをオーバーレイできます。3Dの世界で見られるような照明/影が必要な場合は、次のようなことができます:http : //www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d-shadows /。ただし、HLSLを初めて使用する場合は、少し多すぎるかもしれません。

編集:私は素敵なHTML5 2Dライトチュートリアルにつまずいた


そのリンクはまさに​​私が探していたものです。感謝できません。これは非常に役立ちます。
クリストファーホレンシュタイン


4

HLSLまたはGLSLで記述されたポストフィルターシェーダーエフェクトが必要です。シェーダーはプレーヤーの座標を受け取り、特定の範囲内のすべてのピクセルの輝度を変更します。XNAは2Dシェーダーを非常によくサポートします。

別の解決策は、アルファチャネルを持つテクスチャを使用して明るさをシミュレートすることです。テクスチャは、中央の透明なスポットを除いて、ほとんど黒になります。このテクスチャは、ゲーム画面上のオーバーレイであり、透明なスポットが「輝く」プレイヤーキャラクターの中心にあります。古いアドベンチャーゲームでは、この手法を使用して懐中電灯をシミュレートしていました。


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