选择网格的所有顶点以分别访问每个顶点

Selecting all vertices of a mesh to access each one separately

我需要 select 给定对象的所有顶点,并且能够分别访问每个顶点以便稍后操作它们

每次都会生成一个带有随机数量顶点的网格。该网格已被评估,但我无法 select 所有顶点并将它们添加到列表中

import maya.cmds as cmds
import functools
import random

sphereList = cmds.ls( 'mySphere*' )
cmds.selectPref(tso=True)
vertices = cmds.ls( sl=True)
if len( sphereList ) > 0:
    cmds.delete( sphereList)

result = cmds.polySphere ( r=50, sx=random.randrange(10, 100), sy=random.randrange(10,100), name='mySphere#' )
cmds.polyEvaluate('mySphere*',vertex=True  )
cmds.select()

最后,我需要能够选择所有顶点,存储它们,然后能够分别对它们中的每一个执行操作。

所以我的假设是我需要以某种方式 select 它们,然后使用 for 循环来计算顶点数 selected 并使用 for 循环中描述的操作

这取决于您想执行的操作类型,但 select 他们:

vtx = cmds.ls(sl=True, fl=True)

或者如果它不是 select离子:

obj = 'pSphere1'
vtx = cmds.ls(obj+'.vtx[*]', fl=True)