如何使用 Python 在 Maya 中为多边形对象设置随机位置?
How to set random locations to poly objects in Maya with Python?
这是我的代码:
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。
将 x
、y
和 z
行移动到 for 循环内。感谢 Blender 指出。
当 运行 此更新代码时,您可能会注意到的另一个不寻常的事情是创建的立方体位于视口的特定部分。这是因为 random.random
没有创造负值,所以价值在轴 x
、y
和 z
中都不会变为负值。
要解决此问题,您可以替换 x y 和 z 定义行中的代码:
x = random.uniform(-10.0, 10.0)
y = random.uniform(-10.0, 10.0)
z = random.uniform(-10.0, 10.0)
现在它按预期工作了。
这是我的代码:
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。
将 x
、y
和 z
行移动到 for 循环内。感谢 Blender 指出。
当 运行 此更新代码时,您可能会注意到的另一个不寻常的事情是创建的立方体位于视口的特定部分。这是因为 random.random
没有创造负值,所以价值在轴 x
、y
和 z
中都不会变为负值。
要解决此问题,您可以替换 x y 和 z 定义行中的代码:
x = random.uniform(-10.0, 10.0)
y = random.uniform(-10.0, 10.0)
z = random.uniform(-10.0, 10.0)
现在它按预期工作了。