Maya,动态约束

时间:2016-02-28 18:07:22

标签: python maya

import maya.cmds as cmds
import maya.mel as mel
import math
def dist(a,b):
    return math.sqrt(math.pow(a[0]-b[0],2)+math.pow(a[1]-b[1],2)+math.pow(a[2]-b[2],2))
for i in range (1,50):
    cmds.currentTime(i)
    a=cmds.nParticle('nParticle1',id=0,q=1,attribute='position')
    b=cmds.nParticle('nParticle2',id=0,q=1,attribute='position')
    if dist(a,b)<1:
        cmds.select('nParticle1.pt[0]',tgl=True)
        cmds.select('nParticle2.pt[0]',tgl=True)
        mel.eval('createNConstraint pointTopoint 0;')
        break

上面的代码在制作了两个nParticle(每个都有一个粒子)之后执行,并将力场生成设置为负值,以便它们吸引。

问题是,我想在它们非常接近时创建一个动态约束。但是,在我进入第1帧之前,maya不会对此进行评估。我需要在不进入第1帧的情况下评估结果并继续到最后一帧。

0 个答案:

没有答案