3Dシーン

  ここで勉強していく、”3Dシーン”とは、概念的には3D空間と捉える事ができます。3Dオブジェクトをこの3Dシーンに配置する事により、空間と物が存在する3DCGの世界が作られます。3Dシーンには複数のオブジェクトを配置する事ができます。

 

  ActionScript的には”3Dシーン”とは、Papervision3Dのorg.papervision3d.scenesというパッケージの中にあるScene3Dというクラスの事です。このScene3Dクラスのインスタンスとして作られた、Scene3Dオブジェクトに、3Dオブジェクトを追加していく事になります。

 

  そして、概念的には3D空間と捉える事ができるScene3Dオブジェクトですが、ActionScript上では単なる配列にすぎません。Scene3Dオブジェクトの正体は、複数存在する3Dオブジェクトを1つの配列としてまとめて管理するものなのです。3DオブジェクトをこのScene3Dオブジェクトの配列に登録する事で、レンダリング時に3Dオブジェクトが表示されます。反対にScene3Dオブジェクトの配列から削除すると、3Dオブジェクト自体は存在していても、レンダリング結果には表示されなくなります。

 

  [カラフルな立方体]の作例で、下記のコードの部分がちょうど、Scene3Dオブジェクトを作成して、そこに3DオブジェクトとなるCubeを追加している所です。
// シーンを作成しキューブをシーンに加える
    scene = new Scene3D();
    scene.addChild(cube);

 

Scene3Dオブジェクトは下記のように各オブジェクトを継承しています。詳しくはリンク先のPapervision公式ドキュメントを参照して下さい。

Scene3 SceneObject3D DisplayObjectContainer3D flash.events.EventDispatcher