【Maya:Python】2頂点間の距離を取得
shamimatsu
三味松ブログ
maya2022、2019を使用
ポリゴン数をメモしたい時がたまにありますが、目で見ながら入力するのが面倒だと感じたためスクリプトを作成。
選択したモデルの頂点、エッジ、フェース、三角形、UVすべてダイアログに出してコピー出来るようにしました。
maya2022のpython3で動くことを確認しました(2021/12/26)
ディスプレイ → ヘッドアップディスプレイ → ポリゴン数 から表示できますがコマンドも調べました。
setPolyCountVisibility(1);
pythonでmelを実行する方法はこのようになります。
import maya.mel as mel
mel.eval('setPolyCountVisibility(1);')
数字だと結合できなかったため、strで文字列に変換しています。
実行するとこのようなウィンドウが出て文字列をコピーできます。
# -*- coding: utf-8 -*-
import maya.cmds as cmds
import maya.mel as mel
import sys
# 何も選択されていなければ警告
if not cmds.ls(sl=True):
cmds.warning(u'なにも選択されていません')
sys.exit()
mel.eval('setPolyCountVisibility(1);')
v_cnt = cmds.polyEvaluate(v=1)
e_cnt = cmds.polyEvaluate(e=1)
f_cnt = cmds.polyEvaluate(f=1)
t_cnt = cmds.polyEvaluate(t=1)
uv_cnt = cmds.polyEvaluate(uv=1)
r = u'頂点 : ' + str(v_cnt) + '\n' + \
u'エッジ : ' + str(e_cnt) + '\n' + \
u'フェース : ' + str(f_cnt) + '\n' + \
u'三角形 : ' + str(t_cnt) + '\n' + \
u'UV : ' + str(uv_cnt) + '\n'
cmds.confirmDialog(title='Count', message=r)