[MAXScript] マテリアル ID を自動設定する MAX スクリプト
投稿日:7月 10, 2015
最終更新日:1月 25, 2021
編集可能ポリゴンの 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 へ
- Maya でカラーパッチを含むテクスチャをアサイン
- 各カラーパッチに UV シェルを配置して、ポリゴン面単位の色分けを行う。
UV 展開の必要がある場合は、UV タイルで作成。 - Maya から FBX で書き出し、3ds max へインポート。
- Set Material ID based on UV を実行。
- 事前に用意したマルチサブオブジェクトマテリアルをアサイン。