note.x

JigLibFlash Update

PV3D専用だと思ってあんまりチェックしてなかったJigLibFlashが、PV3D以外のエンジンにも対応(現在、PV3D、Away3D、Sandyに対応)してくれたので、Away3Dでもそのまま使えるようになった。JigLib Flash for Away3D おつかれさま。

これまでのバージョンだと、表示用のメッシュにDisplayObject3Dをダイレクトに指定する形になっていたのが、ISkin3D っていうインターフェースをカマせることで、組み合わせたいエンジンのメッシュを指定できるようになった。
Away3Dを使うなら、

var box:JBox = new JBox(new Away3dMesh(daeobj),100,200,50);
※daeobjは、外部から読み込んだColladaモデルと仮定

って感じ。ちなみに、Away3dMeshクラスの実装は、Mesh オブジェクトを指定するようになってたけど、オレ的に不便なので、Object3D を指定するようにして使ってる。

あと、

var physics:Away3DPhysics = new Away3DPhysics(viewport, 1);
var sphere:RigidBody = physics.createSphere({radius:30, segmentsW:6, segmentsH:6});

なんて感じで、プリミティブ形状については表示用メッシュと物理演算用メッシュを一度に定義できるメソッドが用意された。引数の与え方がPV3DとAway3Dで異なる部分は吸収してくれないので、それぞれのエンジンのルールに従うと。

このあたり、ある程度の説明が google code のプロジェクトページ内Wikiに記載されているので参考になる。
New_API_Very_Short_Tutorial

また、svnリポジトリにもPV3D、Away3Dそれぞれのサンプルがある。これまでとシンタックスが大分異なる(physics.Integrate(0.1); → physics.step(); とか)ので、早めに乗り換えるが吉かと。
コリジョン用の形状にカプセル型が追加されたのがウレシげだなぁ。元祖C++用のJigLibには、trianglemesh や heightmap なんてのもあるので、だんだん移植されるのかも。

早速インチキドライブシミュレータもどきに組み込んでみたんだけど、パラメータ共通なのに挙動が同じにならない。けど、なんか新しいほうがパラメータが正しく反映されてるような気がする。


TRACKBACK

  1. [...] note.x | JigLibFlash Update Away3D、Sandy にも対応 (tags: jiglibflash actionscript) [...]

Trackback URL : http://blog.r3c7.net/as3-software-rendering/323/trackback/

COMMENTS

  1. 匿名 - 2009.04.08 20:34:30

    ダウンロードできねぇorz目の前に餌を置かれた犬の気分だ。

  2. 匿名 - 2009.04.11 15:36:38

    サブバージョンの存在は知ってはいたが、ここまで便利とは!
    もうちょい早くからやってりゃよかったorz

Leave a Reply