-4

这是我正在编写的 python 脚本,我是 pyhton 脚本的新手,这是我们在学校学习的内容,我需要一些帮助。这是我不断收到的错误,我不明白无效的语法是什么。感谢您的任何帮助。“import maya.cmds as cmds”,这是我正在开发的程序的一部分,

        #Error: line 1: invalid syntax
        #   File "<maya console>", line 27
        #     transformInScene = cmds.ls(type='transform')
        #                    ^
        # SyntaxError: invalid syntax #        

cmds.file(new=True,force=True)

        import maya.cmds as cmds
        def changeXtransformValue(myList, percentage=1.0):
            """
            Changes the value of each transform in the scene by a percentange.
            Parameters:
            percentage - Percentange to change each transform's value. Default value is 1.
            Returns:
            Nothing.
            """
            *# The ls command is the list command. It is used to list various nodes
            # in the current scene. You can also use it to list selected nodes.*
            transformInScene = cmds.ls(type='transform')
            found = False
            for thisTransform in transformInScene:
                if i not in ['front','persp','side','top']:
                    found = True
                    break
                else:
                    found = False
            if found == False:
                   sphere1 = cmds.polySphere()[0]
                   cmds.xform(sphere1, t = (0.5, 0.5, 0.5)
*#This is the line where I am having problems*
            transformInScene = cmds.ls(type='transform')
            sel =cmds.ls(sl=True)
            if sel :
                transformInScene = sel
            # If there are no transforms in the scene, there is no point running this   script
            if not transformInScene:
                  raise RuntimeError, 'There are no transforms in the scene!'
            badAttrs = list()
            # Loop through each transform
            for thisTransform in transformInScene:
                  if thisTransform not in ['front','persp','side','top']:
                  allAttrs = cmds.listAttr(thisTransform, keyable=True, scalar=True)
                  allAttrs = [ i for i in allAttrs if i = "visibility" ]
                   print allAttrs     
                   for attr in myList:
                       if attr in allAttrs:
                           currentVal = cmds.getAttr( thisTransform + "." + attr )
                           newVal = currentVal * percentage
                           cmds.setAttr(thisTransform + "." + attr, newval)
                           print "Changed %s. %s from %s to %s" % (thisTransform,attr,currentVal,newVal)
                       else:
                           badAttrs.append(attr)

            if badAttrs:
                print "These attributes $s are not valid" % str()

        myList = ["translateX", "translateY", "translateZ", "scaleX"]
        changeXtransformVal(myList, percentage=1.0)

这是学校项目的一部分,在修复缩进后,我似乎找不到问题

4

2 回答 2

2

上面那行...

               cmds.xform(sphere1, t = (0.5, 0.5, 0.5)

缺少xform调用的右括号。

于 2013-11-09T08:10:06.967 回答
0

您在“cmds.xform(sphere1, t = (0.5, 0.5, 0.5)" 行忘记了一个 ')'

看你用两个'('但只有一个')'

只需在最后添加一个:

将 cmds.xform(sphere1, t = (0.5, 0.5, 0.5) 替换为 cmds.xform(sphere1, t = (0.5, 0.5, 0.5))

于 2013-11-09T08:22:56.127 回答