コードのおさらい
from maya import cmds
# lsのtypeフラグを使わないフィルタリング
nodes = cmds.ls(selection=True, dag=True, type="transform")
joints = []
meshes = []
for node in nodes:
if cmds.nodeType(node) == "joint":
joints.append(node)
if cmds.nodeType(node) == "mesh":
meshes.append(node)
cmds.select(joints) # ジョイントのみ選択
cmds.select(meshes) # メッシュのみ選択
# 選択したtransformノードのスケールが1.0を超えるものを抽出し、1.0に修正する
nodes = cmds.ls(selection=True, dag=True, type="transform")
for node in nodes:
scaleX = cmds.getAttr(node + ".scaleX")
if 1.0 < scaleX:
cmds.setAttr(node + ".scaleX", 1.0)
Pythonのおすすめ書籍
コメント