我有6个不同的节点,在maya中,叫做aiSwitch。我需要生成从0到6的随机不同数字,并将该值输入aiSiwtch*。指数
aiSwitch2.index=(另一个0到5之间的随机数,与之前的不同)
等等unil aiSwitch6。指数
我尝试了以下方法:
import maya.cmds as mc
import random
allswtich = mc.ls('aiSwitch*')
for i in allswitch:
print i
S = range(0,6)
print S
shuffle = random.sample(S, len(S))
print shuffle
for w in shuffle:
print w
mc.setAttr(i + '.index', w)
aiSwitch1 <-- from print i
[0,1,2,3,4,5] <--- from print S
[2,3,5,4,0,1] <--- from print Shuffle (random.sample results)
2
3
5
4
0
1 <--- from print w, every separated item in the random.sample list.
现在,每个AI开关都会发生这种情况,因为它当然是在一个循环中。随机数总是一个不同的列表,因为每次循环运行时都会发生。
aiSwitch1.index = 1
-
获取0到5之间的随机值
-
在aiSwitch1中输入该值。指数
-
获取另一个0到6之间的随机值,该值与之前的值不同
-
-
重复上述步骤,直到AISWITCH 5。指数
我确实使用了以下表格:
allSwitch = mc.ls('aiSwitch')
for i in allSwitch:
mc.setAttr(i + '.index', random.uniform(0,5))
我的主要错误似乎是生成了一个列表并对其进行采样,但我没有将该列表中的每个不同项分配给不同的aiSwitch*。索引节点。我对此已经没有想法了。
如果有任何线索,我们将不胜感激。