Papervision3D を弄ってみた(3)
2007/03/20 23:54 - Papervision3D
前回示した三つのサンプル「物体を動かす」「世界を動かす」「視点を動かす」がどういう動きをしているのかというのを図で示すと、以下のようになると思います。
いずれもSWFを上から見た模式図で、横軸がX軸、縦軸がZ軸、下が手前、上が奥になります。
点線で示した円がオブジェクトを統括する三次元空間です。サンプルではオブジェクトはひとつですが、作品として構成される場合はこのオブジェクトが複数生成されることになるでしょう。
その世界それ自体を回転させることを示したのが真ん中の「世界を動かす」模式図です。
世界自体が動いているので、その結果、物体も動くことになります。
上の「物体を動かす」模式図では、三次元空間内の物体自体が動くことを示しています。
下の「視点を動かす」模式図では、カメラが回転します。三次元空間もその中のオブジェクトも動かないことを示しています。
ではその「視点」「世界」「物体」の動きを、単独ではなく複数組み合わせるとどうなるのか、というのが下のサンプルです。
- ソース( 04WorldObjectMove.zip 5.34 KB )
これは世界の回転と物体の回転を組み合わせた事例です。
三次元空間にはZ軸上に沿って五つの正方形を等間隔に並べてあります。
一番手前の赤い正方形は rotationY つまり Y軸を基準に個別に回転をしているため、常に正面を向いていることになります。
一番奥の黄緑色の正方形は rotationZ つまり Z軸を基準に個別な回転をしているため、四隅がグルグル回転する動きになります。
それ以外の三つの正方形には個別の動きをしていないので、正方形から厚みが薄くなりまた正方形に戻るという見かけになります。
まぁ回転という動きについて言えば、視点の出番はおそらくないでしょう。世界の回転で充分事足ります。
視点を動かす場合は、スクリプト的にも camera3D で定義していることだし、まさにカメラを扱うように、前へ進んだり、後ろに下がったり、パンやティルトなどの動きを制御する場合に使用すべきかと。