-4

これは私が取り組んでいる python スクリプトです。私は pyhton スクリプトを初めて使用します。これは私たちが学校で学んでいるものです。助けが必要です。これは私が取得し続けるエラーです。無効な構文が何であるかわかりません。助けてくれてありがとう。「maya.cmdsを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)」の行で ')' を 1 つ忘れました

2 つの '(' を使用しているようですが、')' は 1 つしか使用していません。

最後に1つ追加するだけです:

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 に答える