とりあえずテクスチャの貼り付けまでやってしまう。とりあえずリファレンスを軸にいろんな先人達のブログを参考にしつつ...。
気になってたViewport3Dのパラメータ、autoClippingとautoCullingについてはどうやら初期値のまま触ることは無さそうなので忘れてよさそう。
viewport = new Viewport3D(0, //viewportWidth 0, //viewportHeight true, //autoScaleToStage:Boolean false, //interactive:Boolean );
テクスチャの貼り付けは、別途用意したjpg画像をFlash上でライブラリに読み込んでおいてリンケージしてそれをBitmapAssetMaterialで読み込んで単純にSphereコンストラクタの第1パラメータとした。単純に外部データを読み込む場合はBitmapFileMaterialを利用するらしいが、これは問題があるっぽい。画像のロードが完了する前にプリミティブの描画が始まっちゃうと、テクスチャ無視されて表示されなくなる場合があるとかないとか。重い画像データを読み込んだりする場合は、ロードの完了タイミングを計測してからプリミティブの描画、といった順序が必要になるらしい。
//texture
var material:BitmapAssetMaterial = new BitmapAssetMaterial("earthMap");
//material
earthBase = new Sphere(material, //material:MaterialObject3D
240, //radius
40, //segmentsW:int
40 //segmentsH:int
);
まぁそんなこんなでとりあえず地球。あとはシリンダーの中にすっぽり入れてしまって、シリンダーの中身に宇宙テクスチャを貼り付ければとりあえず完成なんだろうか。その前に、何やらGreatWhiteではBasicViewなるクラスがあってこれが便利らしいので、その辺りの調査が先かなぁ。まぁ仕事の合間なので歩みは遅いがちょびちょびと。

コメントする