Untitled
unknown
plain_text
2 years ago
1.7 kB
8
Indexable
def follicleCreationOnMesh(meshName , closestPointLoc , replaceWith , scaleNode):
#meshName = "mesh_m_low_sackPatch_001"
locatorName = closestPointLoc
cpointNode = mc.createNode("closestPointOnMesh" , n = "dummy_CPM_Node")
meshShapeNode = mc.listRelatives(meshName , s =1)[0]
mc.connectAttr( meshShapeNode +".worldMatrix[0]" , cpointNode+".inputMatrix")
mc.connectAttr( meshShapeNode +".worldMesh[0]" , cpointNode+".inMesh")
mc.connectAttr( locatorName +".translate" , cpointNode+".inPosition")
uValue = mc.getAttr(cpointNode + ".parameterU")
vValue = mc.getAttr(cpointNode + ".parameterV")
follicleNode = mc.createNode("follicle" , n = locatorName.replace(replaceWith , "fol_") + "Shape" )
follicleTransform = mc.listRelatives(follicleNode , p =1)[0]
mc.connectAttr(meshShapeNode +".outMesh" , follicleNode+".inputMesh")
mc.connectAttr(meshShapeNode +".worldMatrix[0]" , follicleNode+".inputWorldMatrix")
mc.connectAttr(follicleNode + ".outRotate", follicleTransform +".rotate" )
mc.connectAttr(follicleNode + ".outTranslate", follicleTransform +".translate" )
mc.setAttr(follicleNode + ".parameterU" , uValue)
mc.setAttr(follicleNode + ".parameterV" , vValue)
mc.delete(cpointNode)
if scaleNode != None:
mc.connectAttr(scaleNode + ".scaleY" , follicleTransform + ".scaleX" )
mc.connectAttr(scaleNode + ".scaleY" , follicleTransform + ".scaleY" )
mc.connectAttr(scaleNode + ".scaleY" , follicleTransform + ".scaleZ" )
return follicleTransform
Editor is loading...
Leave a Comment