値 > コレクション > コレクションのタイプ > ObjectSet 値 |
ObjectSet は 3ds Max 内の主なシーン オブジェクト カテゴリを示します。以下の「コンストラクタ」はすべて予約システム変数です。ObjectSet 値はマップ可能です。
objects --all the objects geometry --the standard 3ds Max categories... lights cameras helpers shapes systems spacewarps selection --the current selection
セット内にあるオブジェクトすべてのバウンディング ボックスの中心を返します。
コレクションのメンバにアクセスします。インデックスは 1 から始まります。
最初に現在の選択を解除して、その後で指定されたノードを選択します。
現在の選択を配列として返します。これは、selection as array と似ています。ただし、 selection as array は選択の「コピー」を返します。
オブジェクト セットは、実際にはセットを与え、同じ名前の予約されたシステム変数を保存する特別なタイプの値であり、これらの変数を他の変数に割り当てたり、関数の引数として渡すことができるようになります。
ObjectSet を変数に保存する場合、ObjectSet 内のオブジェクトではなく、ObjectSet 値が保存されます。このため、シーンが変更され、この変更が ObjectSet に影響する場合、変数に割り当てられた値もシーンの変更に応じてダイナミックに変更されます。
現在 ObjectSet 内にあるオブジェクトのスナップショットを変数に保存するには、まず as 演算子を使用して ObjectSet を配列に変換します。
ObjectSet を次のようにパス名のルートとして使うことができます。
これで、パス名検索の対象を指定オブジェクト セットに限定できます。上の例では、「d」で始まるヘルパー オブジェクトのみを指定できます。
シーケンス処理の順序は 1 つの安定したシーン内では一貫していますが、多少差が生じます。これは、3ds Max がそのオブジェクト階層を内部的にどのように格納するかに依存し、大部分がそのシーンへの追加やシーンからの削除の順序に影響を受けるためです。
lights および cameras オブジェクト セットは、そのライトやカメラのターゲット オブジェクトがある場合、それを含みます。すべてのライトまたはカメラで、あるプロパティの値を変更したい場合は、ObjectSet の各オブジェクトについて、それがライトまたはカメラであることを確認するテストを行って、個別に処理する必要があります。