- 2008-06-03 (火) 20:24
- AIR | ActionScript3.0 | Flex

どうも。
ちょっと思いついたのでメモ。
最近 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 がやってくれるので書くほうとしては新たになんか式を考える必要も無くて便利だと思った。
- Newer: FlashDevelop の CustomArguments
- Older: 1=2
Comments:0
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 馬鹿全