- 2009年01月25日 (日)
- Tweet

PV3Dで飛行船:SpringCamera3Dを試してみる
Papervision3D の新機能「SpringCamera3D」で飛行船らしきものを作ってみました。これは公式ブログによると物理演算を適用したカメラ機能で、3Dゲームのように滑らかに追随するカメラアングルが使えます。使い方も難しくないので、Papervision3DでFlashゲームを作ろうという方にはオススメな機能です。
(デモはステージを一回クリックすると、キーボードの上下左右で動かせます)
- demo (要Flash Player 10 / 720×480サイズ)
- lite demo (上のデモが重い場合は 320×240サイズのこちらを試してみてください)
- src (zip, Flex SDK)
ゲーム風なマップは「void element blog」さんの「ドキッ!変態だらけのActionScript的超絶技巧発表会」のフィールドマップジェネレータから作成させて頂きました。
SpringCamera3Dの使い方
Google Codeにあるアーカイブのリビジョン869から使えるようになっています。
springCamera = new SpringCamera3D(); // 物理演算プロパティーの指定 // 動きの勢い(10〜200ぐらい) springCamera.mass = 10; // 摩擦(1〜15ぐらい) springCamera.damping = 10; // 動きの固さ(1〜8ぐらい) springCamera.stiffness = 1; // カメラの目標点を指定(ターゲットから相対) springCamera.lookOffset = new Number3D(0, 0, 10); // カメラの位置を指定(ターゲットから相対) springCamera.positionOffset = new Number3D(0, 5, -15); // カメラターゲットを指定 springCamera.target = airShip;
といった感じで、Camera3Dの代わりにSpringCamera3Dを作ります。最後のSpringCamera3Dのターゲットに、追随させたいオブジェクトを指定します。
※プロパティーの詳細はこちらを参考にするととても分かり易いと思います。
またレンダリングする際にはSpringCamera3Dのインスタンスを設定します。
// レンダリング
renderer.renderScene(scene, springCamera, viewport);
他にも面白い使い方があるみたいなので、今度サンプルを作って紹介したいと思います。
参考記事
コメントする
[告知] 最近書いた書籍の紹介
Flash に関する解説本を書いてます。ブログよりも充実した解説でまとめているので、よければどうぞご覧ください。



2009年01月26日(月) 00:02
[...] PV3Dで飛行船:SpringCamera3Dを試してみる | ClockMaker Blog 3D Flashゲームを作るときに参考になりそうです。 (tags: flash papervision3d) [...]
2009年01月26日(月) 00:03
[...] ClockMaker Blog (Japanese) [...]
2009年02月05日(木) 15:45
[...] http://clockmaker.jp/blog/2009/01/springcamera3d/ [...]