【Maya:Python】一番使われている頂点色で塗りつぶす
shamimatsu
三味松ブログ
ノード名を手作業で入れ替える時、名前重複を避けるために一旦違う名前をつけてから戻すという工程が面倒だったためpythonでスクリプトを作成しました。
一見するとノードの順番が変わっているだけのように見えるかもしれませんがちゃんと名前が入れ替わっています。
maya2022のpython3で動作確認しました(2022/1/13)
選択方法が間違っていた場合はすべて警告が出る処理も入れてみました。
1# -*- coding: utf-8 -*-
2import maya.cmds as cmds
3
4sl_nodes = cmds.ls(sl=True)
5
6#2つ選択以外は警告を出す
7if not cmds.ls(sl=True):
8 cmds.warning(u'なにも選択されていません')
9elif len(sl_nodes) == 1:
10 cmds.warning(u'1つしか選択されていません')
11elif len(sl_nodes) > 2:
12 cmds.warning(u'2つまでしか選択できません')
13else:
14 sl_first = sl_nodes[0]
15 sl_second = sl_nodes[1]
16
17 #名前重複を避けるため一旦別の名前にリネーム
18 sl_first2 = sl_first + "_exchange"
19 sl_second2 = sl_second + "_exchange"
20 cmds.rename(sl_first, sl_first2)
21 cmds.rename(sl_second, sl_second2)
22
23 cmds.rename(sl_first2, sl_second)
24 cmds.rename(sl_second2, sl_first)