ホーム > タグ > Papervision3D
Papervision3D
Box2D,Papervision3Dでフリースローゲームを3D表示
前々回のエントリでBox2DとPapervision3dを連携させてみて、
前のフリースローも似たようなことできるんじゃないかと思ってやってみた。
ボールを投げたところからだけ3Dでシミュレーションします。
環境によってはすごい重いと思います。
縦長w 長すぎましたねw 下だけ表示でもなんとなく操作できます。
今回は「←」「→」キーで前後に移動できるようにしました。
「クリック」、「s」キーで方向、パワー決定してシュート!
基本的には前のエントリとやってることは同じです。
Box2dな方のソースは整理中・・・。
シーンをENTER_FRAMEイベントで書き出し続けつつ、
Box2DのほうからupDatePositionsを呼んで、カメラ、ボールの位置を変更しています。
- private function onEnterHandler(event:Event):void {
- ball.rotationY += 5;
- renderer.renderScene(scene, camera, viewPort);
- }
- public function upDatePositions( boy_pos, ball_x, ball_y,ball_angle) {
- camera.z = -100 + boy_pos/1.5;
- ball.z = -100 + ball_x * 90;
- ball.y = 925 - ball_y * 90;
- }
↓Papervision3Dのほうのソース全部
- Comments: 0
- Trackbacks: 0
Box2D と PaperVision3D を連携させてみる
Box2Dをちょっと勉強してみて、
このライブラリでは、
「物理演算させた結果を数値パラメータとして取り出して使う」、
ということがわかってきた。
Box2Dで遊んでいる人の多くがそうであるように、
このパラメータを何で使ったらおもしろいかというひとつの行き先として、3D表示がある。
Flashには3D表現のライブラリとしては、PaperVision3Dが有名です。
というわけで、3D表現とか未経験なので、勉強もかねて、
技術評論社の簡単なBox2Dサンプルの動作を、
Papervision3Dライブラリを使って3D表示させてみた。
↑ 画面クリックで、箱が落ちます。
Box2D部分はほぼ技術評論社のものと変更ありません。
Box2Dは、2次元の物理演算ライブラリなので、
PaperVision3Dを用いても、表示されている領域内では、2Dの動作しかしません。
Box2Dで、毎フレームごとのX座標、Y座標、傾きなどの値を取り出して、
PaperVision3Dの世界に落とし込んでいます。
というわけで、とりあえずPaperVision3Dの初体験ができましたw
がんばればもうちょっと面白いことできそうだなー。
↓ソース全部。
- Comments: 2
- Trackbacks: 1
Home > Tags > Papervision3D







