top of page

Maya | Python | Spawn polysphere on each vertex of a mesh

  • Writer: Max Liu
    Max Liu
  • May 14, 2020
  • 1 min read

Updated: Dec 24, 2024



import pymel.core as pm

geo = pm.selected()
pm.makeIdentity(geo, apply=True, t=1,r=1,s=1,n=0,pn=1)
allVertexes = pm.ls('{}.vtx[*]'.format(geo[0]),fl=True)
allVertexesPos = []
for eachPos in allVertexes:
    allVertexesPos.append(eachPos.getPosition())

i = 0
whileLoop = len(allVertexes)
print(whileLoop)
while i < whileLoop:
    newSphere = pm.ls(pm.polySphere(sx=10, sy=8, r=2), long = True)

    vertexTranslate = allVertexesPos[i]
    vertexTranslateX = vertexTranslate[0]
    vertexTranslateY = vertexTranslate[1]
    vertexTranslateZ = vertexTranslate[2]

    pm.setAttr(newSphere[0] + '.translateX', vertexTranslateX)
    pm.setAttr(newSphere[0] + '.translateY', vertexTranslateY)
    pm.setAttr(newSphere[0] + '.translateZ', vertexTranslateZ)
    i = i + 1

Comments


bottom of page