編集可能ポリゴンの UV をもとにして、マテリアル ID を自動設定する。
Maya と 3ds max 間でのデータのやり取りで必要になって作成。

MAXScript は配列のインデックスが 1 スタートだったり、if … 文で、do と then では地味に処理が違ったり、polyOp と meshOp が分かれていたりと、ちょっと手に馴染まない。
mapped fn とかワンライナーを書くには便利な気はする。

それにしてもスピナー UI はタブレットユーザーには小さすぎて困る。入力フィールドのサイズを大きくさせて欲しい。

Set Material ID based on UV ツールオプション

# of Tiles
UV タイルの数を設定。
UV Range
UV の範囲を設定。 # of Tiles と同じ数値に設定すれば、Mari / Madbox 系 UV タイルに対応。
UV Settings
UV マップのチャンネルを設定。
Error Material ID
エラーポリゴンに割り当てられるマテリアル ID を設定。

Maya から FBX 経由で 3ds max へ

  1. Maya でカラーパッチを含むテクスチャをアサイン
  2. 各カラーパッチに UV シェルを配置して、ポリゴン面単位の色分けを行う。
    UV 展開の必要がある場合は、UV タイルで作成。
  3. Maya から FBX で書き出し、3ds max へインポート。
  4. Set Material ID based on UV を実行。
  5. 事前に用意したマルチサブオブジェクトマテリアルをアサイン。