maya2022、2019を使用
maya2022でpython3になったためコードを修正しました。
追記
既存の機能にあるUVセットエディタで一括で切り替えられることがわかりました。処理も軽いのでこちらの方がおすすめですがコードも何かの応用に使えるかもしれないため残しています。

ライトマップのベイクなどでUVセットを2つ持つことがあると思いますが、UVエディタでメッシュ一つずつしかUVセットを切り替えられないのが非常に面倒だったため一括変更できるスクリプトをpythonで書きました。
UVセット名が map1, uvSet であることが前提となります。
オブジェクト選択状態にしてから実行してください。
広告
map1に切り替える
python3
maya2022でpython3になったためコードを修正しました。
printをステータスバーに表示するための関数(pm.displayInfo)を追加しています。
参考サイト:Maya print in status bar
# -*- coding: utf-8 -*-
import maya.cmds as cmd
import pymel.core as pm
sl_nodes = cmds.ls(sl=True)
for sl_node in sl_nodes:
cmds.polyUVSet(currentUVSet=True, uvSet='map1')
pm.displayInfo('UVセット:map1 を選択')
python2.7
# -*- coding: utf-8 -*-
import maya.cmds as cmds
sl_nodes = cmds.ls(sl=True)
for sl_node in sl_nodes:
cmds.polyUVSet(currentUVSet=True, uvSet='map1')
print u'UVセット:map1 を選択',
uvSetに切り替える
上記の「map1に切り替える」のコードを一部を変更します。
コードをコピぺした後、uvSetの箇所を修正してください。
cmds.polyUVSet(currentUVSet=True, uvSet=‘map1’)
↓
cmds.polyUVSet(currentUVSet=True, uvSet=‘uvSet’)
広告