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