私は現在、ゲームの 2D 照明システムに取り組んでいます。マップは、特定のタグと特性を持つことができるタイルで構成されています。この場合、いくつかのタイルを「不透明」に設定し、不透明なタイルごとに一連の長方形を生成する関数を作成しました。長方形の大きなグループを凸多角形にマージすることにより、このジオメトリを最適化したいと考えています。
私の長方形は、配列内の線分のコレクションとして定義されています。
長方形ポリゴンの例:
var polygon = [
{a:{x:0,y:0}, b:{x:640,y:0}},
{a:{x:640,y:0}, b:{x:640,y:360}},
{a:{x:640,y:360}, b:{x:0,y:360}},
{a:{x:0,y:360}, b:{x:0,y:0}}];
私の質問は、長方形の大きなグループから凸多角形の小さなグループをどのように生成できますか? 私は決して専門家のコーダーではないので、回答に完全な説明と、可能であれば例を含めてください。私は自分でこれを理解しようとして数時間以上費やしました。
ありがとうございました!