我想随机旋转给定轴上的对象列表,并从指定范围内检索到随机量。这就是我想出的:
import pymel.core as pm
import random as rndm
def rndmRotateX(targets, axisType, range=[0,180]):
for obj in targets:
rValue=rndm.randint(range[0],range[1])
xDeg='%sDeg' % (rValue)
#if axisType=='world':
# pm.rotate(rValue,0,0, obj, ws=1)
#if axisType=='object':
# pm.rotate(rValue,0,0, obj, os=1)
pm.rotate(xDeg,0,0,r=True)
targetList= pm.ls(sl=1)
randRange=[0,75]
rotAxis='world'
rndmRotateX(targetList,rotAxis,randRange)
我使用 pm.rotate() 因为它允许我指定是否要在世界或 obj 空间中进行旋转(据我所知,与 setAttr 不同)。问题是,当我尝试运行它时会引发此错误:
# Error: MayaNodeError: file C:\Program Files\Autodesk\Maya2012\Python\lib\site-packages\pymel\internal\pmcmds.py line 140: #
这一定是我输入 pm.rotate() 参数的方式(我假设这是由于 PyMel 吐出的行错误,这与它的参数转换函数有关),但我无法弄清楚我做错了。:/