PaperVision3D 2.0 GrateWhiteをちゃんとやってみる
- 2008 年 6月 26 日
ご存知、PaperVision3D。
いろんなところで触れられていますが、頻繁なアップデートも相まってどうも手を付けにくいと思っていました。
しかしながら3D表現を用いたコンテンツをよく見るようになってきましたし、少し前はFlashPlayer 10の3D effectやFIVe3Dが多くのブログで取り上げられたり、PV3D以外の3Dフレームワークも充実してきて、どうにも3D関連は騒がしい状況です。
3D表現を用いたデザインは、今後Webデザインをするに求められる要素になりそうなので、遅まきながら本腰を入れて少しづつやっておこうと思った次第。
3Dに関して言えば、正直は初心者レベル。昔、Shadeを触って設定パネルの多さにやになった位。なので用語や3次元のデザインのノウハウみたいなものが足りないのも、取っ付きにくい事情なんですよ。
PV3Dは1.xについては、2PXページで使っているような、基本のところは理解しているつもり。ただそれは一旦忘れて、表現力の高まったPV3D 2.0 GrateWhiteを調べながら、ちゃんと理解していこうと思います。
FLiNTやAPEの時と同じノリで全部のプロパティとメソッド書き残す!ってするとクラスの多さに挫折しそうなので、一つづつ試してSWFとともに書き残す位でのんびり行こう。
まず、動きもしなければ3Dにも見えない、以下のような表示をGrateWhiteのサンプルを参考にして作る。
import org.papervision3d.cameras.Camera3D; import org.papervision3d.scenes.Scene3D; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.view.Viewport3D; var container:Sprite = new Sprite(); var viewport:Viewport3D = new Viewport3D(200,200); var renderer:BasicRenderEngine = new BasicRenderEngine(); var scene:Scene3D = new Scene3D(); var camera:Camera3D = new Camera3D(); var material:ColorMaterial = new ColorMaterial(); var plane = new Plane(material,100,100,2,2,null); scene.addChild(plane); container.addChild(viewport); addChild(container); renderer.renderScene(scene, camera, viewport); |
サンプル
これのViewportだ、Cameraだっていうのを一つ一つ試してみる訳です。Viewport3DとかBasicRenderEngineは1.5に無かったと思う。うー、めんどくさい。
以下は、全部調べるってノリで行こうとした名残。
あまり意味ないですが、useDEGREES、usePERCENTは覚えておいてよいかも。
あとPV3Dはやたら出力を吐くので、VERBOSEをfalseとしておいた方が、自分でいれたtraceが読みやすいです。
org.papervision3dパッケージ
・プロパティ
■useDEGREES : Boolean
角度を表す単位を設定。
tureの場合、角度で表され、falseの場合ラジアン表記。
デフォルトはtrue。
■usePERCENT : Boolean
スケールを表す単位を設定。
tureの場合、パーセント表記、falseの場合0〜1で表記。
デフォルトはfalse。
■NAME : String
エンジン名
■VERSION : String
バージョン
■DATE : String
日付
■AUTHOR : String
著作権表記
■VERBOSE : Boolean
出力パネルにPapervisionからの出力を表示するかどうか。
trueだと表示。falseだと表示しない。
・メソッド
■log (message:String) : void
出力パネルにmessageのストリングを出力します。
・message:String = 出力するメッセージ