11

ディレクショナル ライトが必要なゲームのアイデア (2D) に取り組んでいます。基本的に、移動できる光源を追加し、光線がシーン上の他の物体と相互作用するようにします。

私が今行っていることは、センサー (box2d) と ccDrawLine を使用して、私が望むものと同様のことを達成できるいくつかのテストです。基本的に、特定のポイントからセンサーの束を送信し、レイキャストで衝突を検出し、終点を取得してセンサー上に線を引きます。

これがこれを行う良い方法であるか、またはこのようなものを構築するための他のより良いオプションであるかどうか、いくつかの意見を聞きたいですか?

また、この領域 (センサー領域) にライト効果を適用して、見栄えの良いライト効果を提供する方法を知りたいです。何か案は?

4

3 に答える 3

1

適用できるクールな効果を 1 つ思いつくことができます。この写真のように、火花が光ってゆっくりと落ちるように、光が見える領域内にいくつかのパーティクルを配置します。

とにかく、この問題へのどのアプローチでも衝突検出を使用する必要があるため、box2d オブジェクトの数が限られている場合は非常に便利です。

私が考える box2d オブジェクトがたくさんある場合の他のアプローチは、画面を無地の色だけでテクスチャにレンダリングし (高速である必要があります)、その生成されたテクスチャでレイ トレーシングを実行して、光の影響を受けるピクセルを見つけることです。そうすれば、box2d オブジェクトの数ではなく解像度に制限されます。

于 2012-10-26T09:23:21.647 に答える
0

2D 空間の動的ライトと静的ライトに関する優れたソース コードがここにあります。Rubyコードですが分かりやすいので、Obj-C/Cocos2D/box2Dに移植するのに時間はかからないはずです。

それが私を助けてくれたので、それがあなたを助けることを本当に願っています。

于 2012-11-05T17:27:55.700 に答える
0

うーん、興味深い質問です。Cocos2D はかなり柔軟なマスキング効果を提供します。オブジェクトの上に配置するグラデーション マスクを使用できます。その位置は「光」の位置に依存し、オブジェクトが光によって色付けされているような効果をもたらします。

于 2013-10-07T11:54:55.030 に答える