前: スクリプト形状 上級編 次: ツールスクリプト
6. Object3D と ObjectInfo
スクリプト記述から少し離れて休憩しましょう。そして Art of Illusion がシーン内のオブジェクトをどう表現するかを、ちょっとだけ学びましょう。既に、球と管の2つのオブジェクトクラスを紹介しました。オブジェクトクラスはほかにも、直方体、三角メッシュ、スプラインメッシュ、点光源、スポットライトなどいろいろあります。
これらのクラスはすべて artofillusion.object.Object3D のサブクラスです。1つの Object3D は、1つのオブジェクトの幾何要素または内部プロパティを定義します。Object3D クラスは、オブジェクトのいくつものタイプで共通のプロパティを定義します。
- その Texture と TextureMapping
- その Material と MaterialMapping
- テクスチャパラメータすべての値
また、オブジェクト上で演算できる、いろいろな操作をする抽象メソッドも含みます。最も一般的に使われるいくつかは、以下を含みます。
- そのオブジェクトの TriangleMesh への変換
- そのオブジェクトのレンダーに使える RenderingMesh の取得
- ディスクへの保存
- その幾何要素を格納するバウンディングボックス(オブジェクトがぴったり入るサイズの箱)の取得
- 編集のためのユーザインターフェイスの表示
知っておくべきもうひとつの重要なクラスは artofillusion.object.ObjectInfo です。ObjectInfo は Object3D を「包み込むもの」で、シーン内のそのオブジェクトの役割を記述します。
- その名前
- その CoordinateSystem(つまり位置と向き)
- 表示か非表示か
- そのオブジェクトに関連付けられたアニメーショントラックのリスト
いくつもの異なる ObjectInfo を、同じ Object3D で参照することができます。この場合、これらは互いに「クローン(live duplicates)」となります。あるオブジェクトへのいかなる変更も、ほかのすべてのオブジェクトに影響します。
前: スクリプト形状 上級編 次: ツールスクリプト