Papervision3D の Materials(0) ~ 概観 ~
2007/05/18 21:51 - Papervision3D
前回はリビジョン 67 で追加されたと思われるマテリアル VideoStreamMaterial について書きました。
で、今回は 63 ~ 67 のいずれかのリビジョンで増強された MovieMaterial について書こうかと思っていましたが、過去のエントリーを見直してハタと気づきました。
当ブログでは、プリミティブ・オブジェクト( Cube、 Cube 2、 Cube 3、 Cube 4、 Cylinder、 Cone、 Sphere、 Plane )同様、各マテリアルクラスについても言及したつもりだったんですが、過去のエントリーを見直したらマテリアルクラスについて書いた記事は無い。
そこで、何を今更な感じですが、各マテリアルクラスについていろいろ見ていきたいと思います。
ついては前回のエントリーをマテリアルクラス第1弾として、タイトルを変えました。 また、配布した圧縮ファイル内の VideoStreamMain.as に多少不備があったので、それもあわせて修正しました。
順番が前後しますが、今回はマテリアルの第0回ということで、マテリアルクラス群を概観してみたいと思います。
materials パッケージには全部で9個のクラスファイルが属しています。
そのうち、MaterialsList は objects クラスオブジェクトに貼り付ける実体そのものではないので、それについては割愛します。
で、残り8個のマテリアルですが、これは大まかに3種類から成り立っていると認識しました。
- graphics コマンド系マテリアル
- ColorMaterial
- WireframeMaterial
- MovieClip 系マテリアル
- MovieMaterial
- MovieAssetMaterial
- Bitmap 系マテリアル
- BitmapMaterial
- VideoStreamMaterial
- BitmapAssetMaterial
- BitmapFileMaterial
- BitmapMaterial
graphics コマンド系マテリアル
この系統のマテリアルは、コンストラクタの引数で、塗りつぶしの色やアルファ値、あるいは、線の色やアルファ値を指定します。 そして、それらの値は、各マテリアルクラスの親クラスである core.proto.MaterialObject3D の以下のプロパティへ代入されるだけです。
- fillColor(ColorMaterial)
- fillAlpha(ColorMaterial)
- lineColor(WireframeMaterial)
- lineAlpha(WireframeMaterial)
ところで、この4つのプロパティは、いずれのマテリアルでも、コンストラクタ引数 initObject で指定することが可能です。
と、いうことは、どういうことか。
この系統のマテリアルは、自分以外のマテリアルと混在的な表示が可能である、と私は認識しています。
まぁ実際には、他系統のマテリアルで混在的な表示ができるのは lineColor つまり WireframeMaterial なんですが、詳細はそれぞれのマテリアルのときにでも。
MovieClip 系マテリアル
これはライブラリやステージに配置したムービークリップを表示するマテリアルです。
ムービークリップの呼び出し方によって、二つに分かれます。
Bitmap 系マテリアル
これはライブラリやステージ、あるいは fla の外部に配置したビットマップ画像を表示するマテリアルです。
ビットマップ画像の呼び出し方によって、三つに分かれます。
VideoStreamMaterial は BitmapMaterial の特殊形態として位置づけられると考えます。