2011-01-19 9 views
0

私は空き時間に行うべき2Dゲームを作成する初期段階にあります。テクスチャのエッジを衝突検出用の配列に抽出する

このゲームでは、私は破壊可能な地形を作りたいと思っていますし、私はその問題についていくつかの良いアイデアを得ることができると期待していました。私はボックスのようないくつかの一般的な物理学のためにFarseer Physicsを使用することを計画しています。

私の問題は、物理エンジンと一緒に破壊可能な地形をどのように作成するべきかわからないということです。

これまでのところ、黒い白い画像をメモリに残して、黒い部分が何らかの地面を表しているのを確認してから、ゲームの過程で物事が変わったときにこの画像に描画して取り除くことをお勧めします。

イメージが変更されるたびに、エッジの頂点を特定の距離で抽出し、物理エンジンでポリゴンを作成するのに使用します。

イメージが複数の小さなポリゴンの島を持ち、これらのすべてを取り出すことができないか、またはこれらの島が複雑ではなく複雑な場所であるかを把握するために、どのようにすればよいかわからない。

An image of what I mean

+0

私が探しているものは、本当に凹面ポリゴンソルバーであることがわかりました。これらのアイブの1つの最良の例は、耳クリッピング方法です:http://en.wikipedia.org/wiki/Polygon_triangulation#Ear_clipping_method。しかし、これは依然として私にポリゴンの島を特定する問題を残す。 – user1008841

答えて

0

私は、downloadpageでavailbale最新の古いバージョンをFarseer物理学の古いバージョンを使用したい問題にここにあるドキュメントを見てみましょう次に2.1.3

です:http://www.farseergames.com/storage/farseerphysics/Manual2.1.htm#_Toc213068512

地図を小さな小片に分割して、できるだけ小さい再作成を維持してください。地形の個々のピクセルを編集しないようにしてください。RenderTarget2Dを使用してください。

Vertices.CreatePolygon()のオーバーロードは、リスト<>のVertice配列を出力します。

私は3Dの地形で類似していましたが、約64x64ピクセルしかありませんでした。