こんにちは。
前回の大阪てら子で僕が発表した、物理演算エンジン『Nape』についてまとめました。
Nape とは
Napeは、物理演算エンジンとして有名な Box2D よりも、「軽くて使いやすい」「バージョンごとに急に仕様が変わらない」というコメントを見て興味を持ちました。
また、AIRアプリとしてGPUのパワーを引き出せるStage3D用のフレームワーク Starling とも相性が良いそうなので触ってみました。Napeの動作デモページはこちら。
速度比較の動画も有りましたので貼ります。
[youtube width=”560″ height=”315″]http://www.youtube.com/watch?v=G9YfNYIIly8[/youtube]
関連リンク
触ってみた雑感
Spaceクラスに、Body(剛体)と Constraint(滑車やジョイント)を add して、
重力/引力・X/Y方向の力・回転力など、お馴染みのプロパティをいじることで自由に扱えるのは、Box2Dともさほど変わらないですが、
以下のようなpng画像を指定するだけで、その形状のBodyオブジェクトを使えるのは便利だと思いました。
Bodyオブジェクトのヒット判定アウトラインを抽出する『PhysicsEditor』
ただ、上記のやり方では動的にアウトラインを計算するため、その分事前に処理が必要になるので、実践では、あらかじめ画像のアウトライン座標データを用意しておくことが望ましいです。
その時に便利なのが、『PhysicsEditor』です。
[youtube width=”560″ height=”315″]http://www.youtube.com/watch?v=EZT1lrxVut4[/youtube]
画像のアウトラインを調整してIDを付加したソースを、さまざまなツールで扱える形式に書き出せます。
エクスポートできる形式も、
- Box2D(AS3)
- Box2D(XML)
- QuickBox2D(AS3)
- Corona
- Nape(AS3)
- Nape(Haxe)
などに対応しています。
ただし、現行バージョンの Nape 2.0.8 と PhysicsEditor 1.0.9 の組み合わせでは、不具合があるらしくコンパイル時にエラーがでてしまいます。
この症状をググッたところ、対応策らしきエントリーがいくつかヒットしました。
こちらのエントリーからダウンロードできる修正済みデータを参考に、以下のように書き換えることでとりあえずは動作しました。
nape-starling-physicseditor.zip 内の PhysicsData.as の init関数定義文から上(1行目から195行目まで)を、
PhysicsEditor からエクスポートした PhysicsData.as の同じ箇所に丸々上書きコピペした上で、
body.cbType = cbtype(“null”);
↓以下に置換する
cbtype(body.cbTypes,””);
s.cbType = cbType;
↓以下に置換する
cbtype(s.cbTypes,””);
cbType = cbtype(“null”);
を削除
製作者の方もサポート大変だとは思いますが、次期バージョンアップでは直して頂きたいものですね。
スプライトシート作成に便利な『TexturePacker』
次に、スプライトシート作りに便利な『TexturePacker』の紹介です。
スプライトシートにすることで、複数の画像素材を1つのファイルにまとめて、ファイルサイズ減量&リクエストを減らす事ができるので、多くの素材を高速で扱うゲーム制作に必携のツールらしいです。
『FlashUnpacker』を併せてインストールすると、swfを分解して取り込んでくれるので尚良しです!
以下に、わかりやすそうなチュートリアルのリンクを貼っておきますね。
- TexturePackerの使い方 | ブレイブソフト 技術研究Blog
- gotoandlearn.com – Sprite Sheets and Blitting – Part 1
- SpriteSheet Animation in AS3 | FlexWiz Blog
PhysicsEditor と TexturePacker、お高いんでしょ? → ブロガーならライセンスキーもらえます
便利な上記2つのツールについて、@ProjectNya の人がつぶやいていました。
大事なことなので、もう一度。codeandweb.com/request-free-l… から申請すると、TexturePackerが無料で使えるようになるかもよ。 #fxug
— ひろゆき@にゃあプロジェクトさん (@ProjectNya) 2013年4月25日
このページから申し込むことで、本当は有料のところが、ブロガーとして申請すればタダでライセンスキーを発行してもらえます。
僕もさっそく取得しました。
条件はブログもってたらとりあえずOKみたいです。
はやくしろ!!間にあわなくなってもしらんぞ――――っ!!
ということで、ありがとうございましたーー!
「物理演算エンジンNapeを触ってみる (PhysicsEditor, TexturePacker)」への1件の返信
[…] 【ブログ更新】 物理演算エンジンNapeを触ってみる (PhysicsEditor, TexturePacker) – sakotsu inspire blog […]