Fake3D / JiglibFlash

2010.07.01 | fake3d, flash

fake3DでJiglibFlashをつかってみました。
マウス操作でオブジェクトを投げてみたり。

[ demo ]


JiglibFlashには、各種3Dエンジン(away3d, away3dlite, five3d, papervision3d, sandy3d)向け用のpluginがあり、それぞれのエンジンで使いやすくなっています。
fake3Dを対応させるにあたり、一番馴染みの深いPapervision3D用のプラグインを参考にしました。
jiglib.plugin.papervision3d.Papervision3DPhysics.as 辺りを参考にして、Papervision3DPhysicsのかわりにFake3dPhysics、Pv3dMeshのかわりにFake3DMeshをつくりました。
ソースをみる感じ、地形などを扱うためのpv3dTerrainとかかなり便利そうです。

JiglibFlashでは、ISkin3Dを継承したPv3dMeshにDisplayObject3Dをわたし、それをRigidBodyを継承したJPlaneやJBoxへとわたします。それらRigidBodyをAbstractPhysicsを継承しているPapervision3DPhysicsに登録していく。
RigidBodyが当たり判定などを行う実体で、ISkin3Dがその結果をもとにDisplayObject3Dのtransformをコントロールして位置や回転させているようです。そして、AbstractPhysicsが物理エンジンの適応される空間となっています。
JConstraintWorldPoint や RigidBody の関数でつまづいたところがあるので、それはまた別エントリーでまとめます。

話は変わって、Fake3Dには現時点ではSphereがありません。
今回のコンテンツでは球は、Billboardを使用して2.5Dな表現にしています。個人的には、こういうほうがFlashっぽいなと。
見え方もそれほど違和感ないし、描画の処理も軽そうなのでPapervision3DでJiglibFlash使うときにもこういうやり方は使えるのではないかと。

comment

素晴らしい!処理が軽くて綺麗ですね。

2046 ( 2010/07/02 1:16 AM )

ありがとうございます。fp10.1になって結構速くなりました。

admin ( 2010/07/07 11:17 AM )

このFake3Dは公開はしていないのですか?

BPL ( 2011/06/03 9:19 AM )

flashはMolehillがでたりするのでfake3dの開発はすっかり開発がとまっててしまっていました。
Molehillが出たときのfake3dの用途を考えると、それほど使われなそうな気がして。

admin ( 2011/06/03 1:41 PM )

Please Leave a Reply

TrackBack URL :

pagetop