【Maya:Python】選択ノード名を入れ替える
shamimatsu
三味松ブログ
maya2022でpython3になったためコードを修正しました。
2頂点間の距離を取得する方法について検索しても見つけることがなかなか出来ないでいましたが、ルートを使えば測れる事に気づきました。もしかしたら既存の機能である可能性もあります。
maya2022でpython3になったためコードを修正しました。
# -*- coding: utf-8 -*-
import maya.cmds as cmds
import math
vtxList=cmds.polyListComponentConversion(tv=1)
cmds.select(vtxList, r=1)
vtxLists=cmds.ls(fl=1, sl=1)
# 2頂点選択以外は処理しない
if len(vtxLists) != 2:
cmds.warning(u'2頂点選択してください')
else:
first = cmds.pointPosition(vtxLists[0])
x1 = first[0]
y1 = first[1]
z1 = first[2]
second = cmds.pointPosition(vtxLists[1])
x2 = second[0]
y2 = second[1]
z2 = second[2]
r = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)
print(end='{}'.format(r))
math.sqrtでルートの計算が出来るようです。
メッシュの頂点を2つ選択して実行してください。
2つ以外だと処理しないようにしています。