2015-05-20 30 views
0

因此,這裏是我的代碼:如何使用Python爲Maya中的多對象設置隨機位置?

import maya.cmds as mc 
import random 

x = random.random() * 10 
y = random.random() * 10 
z = random.random() * 10 

for i in range(5): 
    mycube = mc.polyCube(h=3, w=3, d=3, n="Object#") 
    mc.move(x, y, z, mycube) 

事情應該很清楚什麼,我試圖做的。我創建了5個polyCube,並將它們設置爲3維世界的隨機位置。如果有幫助,我的Maya版本是2009年。

+0

將'x = ...'行移入'for'循環。 – Blender

+0

'random.random'不產生負值。 'random.randint'看起來不夠好! :/ –

回答

2

將for循環中的x,yz行移動。感謝Blender指出。

運行此更新代碼時可能會注意到的另一個不尋常的事情是,創建的多維數據集位於視口上的某個部分。這是因爲random.random不會創建負值中的值,因此在軸x,yz中的任一軸上的值都不會爲負值。

When we use random.random

爲了克服這個問題,你可以替換X,Y和Z定義行代碼:

x = random.uniform(-10.0, 10.0) 
y = random.uniform(-10.0, 10.0) 
z = random.uniform(-10.0, 10.0) 

When we use random.uniform

現在按預期工作。