クラス ID フィルタ
 
 
 

選択フィルタ/組み合わせフィルタでは、スーパークラス ID フィルタの登録に加えて クラス ID フィルタを追加できます。左下のリスト ボックスには、すべてのヘルパーおよびジオメトリ クラス ID のリストが表示されます。フィルタを追加する場合は、リストからエントリを選択し、リスト ボックス下の[追加]ボタンをクリックします。フィルタが、右下のリスト ボックスに表示されます。このリストに、現行のクラス ID フィルタがすべて表示されます。[OK]を押すと、追加されたクラス ID が[select filter]ドロップ ダウン リストに含まれます。

MAXScript のコールバックを使用して、カスタム スクリプト関数をフィルタとして登録することもできます。

メソッド

registerSelectFilterCallback <filterFunction> <name>

カスタム選択フィルタを登録します。2 つのパラメータは、登録されるフィルタ関数と[選択フィルタ]ドロップダウン リストに表示されるフィルタ名です。

フィルタ関数自体にも、1 つのパラメータ(チェックするノード)が必要です。

レンダリング可能な(ノードレベルの[レンダリング可能]プロパティが true に設定されている/[オブジェクト プロパティ]ダイアログ ボックスの[レンダリング可能]チェック ボックスにチェックマークが付いている)オブジェクトだけを抽出する場合、次の関数を登録します。

fn filterRenderableCallback node = -- フィルタ処理対象のノードが引数として渡されます。
(
node.renderable -- ノードがレンダリング可能である場合は true を返します。
)
--「選択フィルタのコールバック関数」を参照して、関数を登録します。
--「レンダリング可能」という名前のフィルタが表示されます。
registerSelectFilterCallback filterRenderableCallback "Renderable"
-- 動作を確認するために、次のコードを実行して 10 のボックスを生成します。 
-- レンダリング可能でランダムな状態です。
for i = 1 to 10 do
b = box pos:[i*30,0,0] renderable:((random 0.0 1.0) <0.5 )
-- フィルタ「レンダリング可能」をドロップダウン リストから選択し、
-- 10 のボックスをすべて選択します。 すると、レンダリング可能なものだけが

-- 選択されます。

プロトタイプ:

unregisterSelectFilterCallback <filterFunction>

指定したコールバック関数を選択フィルタの一覧から削除します。

unregisterSelectFilterCallback filterRenderableCallback
関連事項