これはおそらくばかげた質問ですが、私は解決策を見たり見つけたりできません。私はMayaでUVマップを作成しており、Pythonスクリプトを使って変換値を設定する必要があります。しかし、返されたオブジェクトが範囲表記法のときに、リスト内の特定の要素を選択することはできません。例:最初だから、mayaの範囲表記の要素にアクセスする
、私はエッジを選択して、UV-ポイントに変換します。
cmds.select(name+'.e[0:4]', add=True)
cmds.select(cmds.polyListComponentConversion(fe=True, tuv=True), add=False)
selection = cmds.ls(sl=True)
print(selection)
今、私はこれを印刷するとき、私が取得:
[u'pSphere1.map[0:1]', u'pSphere1.map[4]', u'pSphere1.map[6]', u'pSphere1.map[8]', u'pSphere1.map[10]']
今の私があります問題。リストの中には5つの要素がありますが、最初の要素が範囲表記になっているため、6つの点が選択されています。
私は次のようにこのリストを反復:最初のオブジェクトが1つのUVが、2つのない選択されているので、これは、動作していない
var = cmds.polyEditUV(query=True)
:よう
p = 0
cmds.select(clear=True)
for pUV in selection:
cmds.select(pUV, add=False)
cmds.polyEditUV(uValue=vList[p][0], vValue=vList[p][1], r=True)
p = p+1
またはクエリ文字列pSphere1.map[0:1]
は範囲を定義します。私が必要とするのは、範囲を単一のUVに分割すること、またはこの範囲のサブエレメントにアクセスできることです。ただし、ls
を使用すると、範囲表記の文字列が返されます。
私は文字列を解析してコロンを探し、コロンの前と後の値を抽出し、整数として再解釈してこれを繰り返しに使うことができますが、もっと簡単な方法が必要です。
恥ずかしい、私は完全にその旗を見落としました。ありがとう。私は返事としてマークし、私の代理人が十分であれば直ちに議決権を行使する。 – phx16