【问题标题】:Setting Random Rotation Value Over Time (While Loop) - Maya Python随时间设置随机旋转值(While Loop) - Maya Python
【发布时间】:2017-10-10 05:08:18
【问题描述】:

我正在尝试将对象设置为每次旋转一个新的随机数。我遇到了一个问题,因为数字不断增加,而不是停留在设置的两个值之间以获得随机数。

def Shake(self,value):
    #Get Rotate Value
    rotVal=cmds.floatField(self.rotFrame, value=True, q=True)
    #Get Start Frame 
    startf=cmds.floatField(self.startField, value=True, q=True)
    #Get End Frame 
    endf=cmds.floatField(self.endField, value=True, q=True)


    # Check if Field is empty 
    if rotVal < 0 or rotVal > 0 :

        #Get a Random Number Between 0 and Rot Val
        randomRotVal = random.uniform(0,rotVal)

        while startf<endf:
            cmds.currentTime(startf)

            cmds.rotate(randomRotVal,randomRotVal,randomRotVal,r=True,os=True)


            cmds.setKeyframe()

            startf = startf + 1

【问题讨论】:

    标签: python random while-loop maya


    【解决方案1】:

    您正在使用 r=True 标志旋转对象,因此旋转是相对的(因此,它们每帧都会增加 0 到 rotval 之间的某个数字)。改用a=True 标志,数字不会相加。

    【讨论】:

    • 我不知道我是怎么错过的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多