2017-04-24 182 views
-1

我是python中的新手,我试图制作一个脚本,通过确定的位置获取最近的脸部。任何人都知道是否有任何功能?Maya按位置获得顶点

+0

请发布您在问题中尝试过的代码。 – lit

+0

如果你给我们更多的细节和你尝试过的例子,你有更高的机会得到可用的答案 – theodox

+0

我终于做到了这一点,但maya现在不会启动不知道为什么,它不显示任何错误消息:/ 我不保存脚本,因为它是在玛雅控制台完成的,它会自动保存在某个地方,你知道我可以在哪里搜索吗?我已经在不同位置的脚本文件夹中尝试过,但没有找到我所做的 – akerbeltz

回答

1

有一个叫做closestPointOnMesh

nodeName = cmds.createNode('closestPointOnMesh') 

它可以返回的位置,脸节点,顶点

+0

嗨,谢谢你的回答,你能指定我如何获得创建的节点的位置,面或顶点吗?或者你可以给我一个链接和一个很好的文档?谢谢 – akerbeltz

+0

你连接两个对象的矩阵,然后你得到的信息与一些getAttr ..... – DrWeeny

+0

非常感谢你!玛雅人崩溃,所以我不能发布我已经做了什么来帮助其他人。你知道我在哪里找到用控制台完成的脚本吗? (我没有保存任何人) – akerbeltz

0

那溶液我发现的是:

import maya.cmds as cmds 
import maya.mel as mel 

def getClosestFace(xPos, yPos, zPos, mesh): 
    cmds.select(mesh) 
    mel.eval("closestPointOn (1, 1)") 
    cmds.select("cpConstraintIn") 
    cmds.move(xPos,yPos,zPos) 
    faceOutput = cmds.getAttr("closestPointOnMesh1.f") 
    cmds.delete("cpConstraintIn") 
    cmds.delete("cpConstraintPos") 
    return mesh + ".f[" + str(faceOutput) + "]" 

这对于其他的相同的组件像顶点或边,只改变“.f”。 但是,如果有一些组件在初始位置的相同距离处,它会随机选择最接近的组件,或者列表的最终组件?