Home > AIR | ActionScript3.0 | Flex > Papervision3D でのカメラの回転

Papervision3D でのカメラの回転

どうも。

ちょっと思いついたのでメモ。

最近 Papervision3D の勉強とかをしてたりして、カメラ(Camera3D)の移動がよくわからなかったの考えていたら思いついた。

ある 3D オブジェクトを Scene3D に addChild して、その回りをカメラが回転したいときの技。

よくやる手としては カメラを回すのではなく、Scene3D に DisplayObject3D を追加してそいつを回転させる。
そうすることでカメラがその回りを回転しているように見える。

でも、この方法では本当にカメラが回転しているわけではない。

じゃあカメラを原点中心目線で回転させる方法は?
camera.rotationY とかをいじっても回転しない。
何でだろうとか色々調べてもわからなかった。
わかる人は教えて欲しいのだが、わからなかったので自分なりに回転する方法を考えた。

Scene3D に DisplayObject3D を addChild して、 さらにそれに DisplayObject3D を addChild する。
Scene3D に addChild した方を仮に cameraWorld としておく。
cameraWorld に addChild した DisplayObject3D は仮に targetCamera とする。

cameraWorld.yaw(angle) で回転させて、
camera.copyPosition(targetCamera.world) とすると

camera が原点中心目線で回転する。
計算は DisplayObject3D がやってくれるので書くほうとしては新たになんか式を考える必要も無くて便利だと思った。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.bk-zen.com/2008/06/03/65/trackback/
Listed below are links to weblogs that reference
Papervision3D でのカメラの回転 from 馬鹿全

Home > AIR | ActionScript3.0 | Flex > Papervision3D でのカメラの回転

Search
Feeds
Meta

Return to page top