• Papervision3D 基礎の基礎

    最近、papervison3dを使って、flash上で3dのムービーを作ろうとしています。 Web Designing 2009年6月号で連載されている、papervision3dの記事を参考に、基礎の勉強中をしています。 連載自体は、1つ前の5月号より行っているようで、手元にあるのは2回目でした。 ■ 3DCG表示関連の用語 連載のサンプルソースを見て、大体は理解できましたが、シーンやビューポートの位置づけがよくわかりませんでした(説明は5月号にあるのかな)。 この件については、以下のサイトでわかりやすく説明してありました。 勉強部屋:Papervision入門``` 3Dシーン(3Dscene) 3Dモデルを配置する空間です。この3D空間に、3Dモデルを配置する事により、空間と物 が存在する3DCGの世界が作られます。 カメラ(Camera) 3Dモデルと3Dシーンで3DCGの世界を作成したら、それを見るためにカメラが必要です。 私達は作成した3DCGの世界をカメラの視点で見ることになります。 ビューポート(Viewport) カメラで撮影した3DCGの世界は、何かに投影しないと私達は見ることができません。 例えばテレビ局でカメラが撮影した映像は、液晶ディスプレイやブラウン管に映し出さ れる事により目にする事ができるのと一緒です。この例えで、ディスプレイやブラウン 管の役割をするのがビューポートです。 * シーンにオブジェクトを配置して動かしたりする * モデルをカメラで撮影する * 撮影したのをビューポートで映して見る という感じで、上記一連の処理を、レンダリングで行うというという理解です。 **■ オブジェクト** オブジェクトの形状は、Planeや、Cubeなどがあり、これらをプリミティブオブジェクトといいます。 現在のところ、プリミティブオブジェクトは6種類あるようです。 * Cone (円錐) * Cube (直方体) * Cylinder (円柱) * PaperPlane (紙飛行機的なオブジェクトのようです) * Plane (平面) * Sphere (球体) プリミティブオブジェクトの表面に設定する属性(色や、画像など)を、マテリアルといいます。 マテリアルは、プリミティブのインスタンスを生成時に引数で与えます。 マテリアルは、色をつけるためのマテリアルや、ワイヤーフレーム、bitmapやMovieClipを貼り付けるものなど色々あります。``` // カラーマテリアル var coMaterial:ColorMaterial = new ColorMaterial(0x006699); ```ひとつのプリミティブオブジェクトに複数のマテリアルを設定したい場合は、CompositeMaterialというオブジェクトを使用します。 他のマテリアルをCompositeMaterialに追加すれば、プリミティブオブジェクトに複数のマテリアルを設定できます。``` // カラーマテリアル var coMaterial:ColorMaterial = new ColorMaterial(0x006699); // ワイヤーフレームマテリアル var wiMaterial:WireframeMaterial = new WireframeMaterial(0x0099CC); // CompositeMaterialに集約 var compMaterial:CompositeMaterial = new CompositeMaterial(); compMaterial.