2011年12月7日水曜日

PhysicsEditorでシェイプをつくろう

PhysicsEditor(1.0.5)が、同時に1つの書類しか編集できないことが分かりました。(汗)
うーん、今どきすごい仕様です。

こんな出だしでスミマセンが、気を取りなおして、PhysicsEditor でシェイプを作る利点を書いてみたいと思います。

通常、リアルタイム処理を目的とした軽量の物理エンジンの場合、シェイプの形状には制約があります。
Box2D もそうで、Convex (凸)型の形状しかシェイプに登録できません。Concave (凹)型は NG です。
かと言って、それではとても不便なので、Convex 型のシェイプを組み合わせて、あたかも1つのシェイプように Concave 型のシェイプをつくります。

こうなるともう、グラフィックエディタから座標を読み取って…、などという方法ではとてもやっていられません。
PhysicsEditor で、やってしまいましょう。

例として、ひらがなの「ん」という文字をシェイプ化してみます。下のような画像を用意しました。
Concave型シェイプ

PhysicsEditor を起動して、ウィンドウ左の Shapes リストに、画像ファイルをドラッグ&ドロップします。

「シェイプ自動生成ボタン」をクリックして Tracer ウィンドウを表示させます。
自動シェイプ作成ボタンをクリック

Tracerウィンドウ

Tolerance パラメータを調整して、シェイプの細かさを調整します。あまり細かすぎると、物理エンジンでの処理が重くなるので注意です。
最後に OK ボタンを押して、シェイプを生成します。以下のようになりました。


あれ? 1つの Concave 型シェイプになっていますね? どうしたんでしょう?
でも、ご安心を! これが PhysicsEditor を使うことの利点です。
データを Box2D 用フォーマットにエクスポートするときに、自動的に複数の Convex 型のシェイプに分割してくれるのです。
今回の場合は、合計13個の b2PolygonShape のデータが出力されました。以下が、そのデータの一部を表示したものです。

これを全て手でやろうとしたら大変ですね。
まだまだ、荒いツールと言わざるを得ない PhysicsEditor ですが、これがあるとないとじゃ大違いという事が、分かって頂けたのではないかと思います。

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...