スーパー クラス ID とクラス ID

MAX システム オブジェクトは、あらゆる種類のプラグインで作成されます。MAX システム オブジェクトは、シーンに表示される 3D オブジェクトではなく、C++ で使われる意味でのオブジェクトです。各プラグイン システム オブジェクトには、2 つの ID があります。スーパー クラス ID とクラス ID です。スーパー クラス ID は、MAX のスーパークラスのうち、プラグイン クラスが属しているサブクラスを示します。クラス ID は、スーパークラスのプラグインを識別します。

MAXScript には、実行するたびにランダムなクラス ID を新しく生成するメソッドがあります。

genClassID [returnValue:<boolean>]

このメソッドでは #(0x9b7ea231, 0xb6db86ef)に似たランダム クラス ID が生成されます。 returnValue が指定されていなかったり false に設定されている場合、このクラス ID はリスナーに出力されます。このクラス ID を切り取ってスクリプトに貼り付け、生成された ID を使用することができます。

returnValue true の場合、クラス ID はリスナーに出力されず、クラス ID の 2 つの部分を含む 2 要素配列が返されます。

MAX および各プラグインは、スーパー クラス ID を定義した定義済みカテゴリのいずれかに属しています。

たとえば、テクスチャ マップのプラグインは、すべて TEXMAP_CLASS_ID の同じスーパー クラス ID を共有します。ただし、個々のテキスチャ マップ プラグインには、独自の一意のクラス ID が付きます。つまり、スーパー クラス ID はオブジェクトの種類を定義し、クラス ID は特定のプラグイン クラスを一意に識別します。

関連事項