Papervision3D 2.0 Great Whiteに大苦戦
Papervision3D 1.5と1.7は少し触ったことがあるので、軽くPapervision3D 2.0を弄ってみるか~って思ったんですが、結構仕様変更されていてかなりの大苦戦しました。今回作ったものだけで10時間ぐらい掛けたような。。。基礎がなってないだけ?汗。とりあえず何これ?っと思ったところをピックアップ
BasicViewクラスの追加
お気楽にPapervision3Dを実装できるようにscene,camera,viewport,renderなどまとめたクラスらしい。
Viewport3Dクラスの追加
コンテナ(箱)的な存在?と自分なりに解釈。
Camera3Dクラスの変更
FreeCameraとかその他を一つにまとめてCamera3Dクラスに統合した感じ?
BasicRenderEngineクラスの追加
Render用のクラスって元々あったっけ?。よく覚えていないが、Render部分を制御してくれるクラスぽい。
DebugCamera3Dが便利
DebugCamera3Dってのが追加されていて、これが非常に便利な気がする。
通常、
camera = new Camera3D();
となるところを
camera = new DebugCamera3D( _viewport );
な感じするだけで、カメラ位置を自由に操れる。
キーとカメラの動きw = forward s = backward a = left d = right q = rotationZ-- e = rotationZ++ r = fov++ f = fov-- t = near++ g = near-- y = far++ h = far--
※マウスドラッグでも色々変わるぽいです。
CameraTypeの変更
カメラのタイプは大きく分けて2つあるらしく、一つ目は、カメラ自体を中心にカメラの位置を変更するCameraType.FREE。2つ目が中心点を中心にカメラの位置を変更するCameraType.TARGET。言葉で説明するのはややこしいので、↑にあるデモでカメラタイプを変更してくださいませ。
そのカメラタイプの変更を
CameraType.TARGET
camera.target = DisplayObject3D.ZERO;
CameraType.FREE
camera.target = null;
と指定してるのですが、正しいやり方なのかどうかは謎です。。