【maya, python】マテリアル周りのノード

■シーン内のマテリアルの取得

cmds.ls(mat=True)

■lambertだけ取得

cmds.ls(typ='lambert')

■ジオメトリからマテリアルを取得

sg_node = cmds.listConnections([ジオメトリ名], s=False, d=True, t='shadingEngine')
mat_node = cmds.ls(cmds.listConnections(sg_node, s=True, d=False), mat=True)

■fileノードの取得

file_node = cmds.ls(cmds.listHistory(mat_node), type='file')

■place2dTextureノードの取得

p2d_node = cmds.ls(cmds.listHistory(mat_node), type='place2dTexture')

■マテリアルを選択してからfileノードとplace2dTextureノードのリネーム

selection = cmds.ls(sl=True)
for sel in selection:
cmds.rename(cmds.ls(cmds.listHistory(sel), type="file")[0],"{}_file".format(sel) )
cmds.rename(cmds.ls(cmds.listHistory(sel), type="place2dTexture"), "{}_p2d".format(sel))

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA