选择网格的所有顶点以分别访问每个顶点
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)
我需要 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)