I have this script in Python which I'm running into a maya file from a command line:
import maya.standalone
maya.standalone.initialize("Python")
import maya.cmds as cmds
from maya import cmds
import maya.mel as mel
import glob
def importFile(i):
cmds.file(i, i=True, groupReference=True, groupName="myobj")
def materialFile():
if cmds.objExists('Panel*'):
cmds.select("Panel*", replace=True)
myMaterial = "BlueGlass"
cmds.sets( e=True, forceElement= myMaterial + 'SG' )
if cmds.objExists('Body*'):
cmds.select("Body*", replace=True)
myMaterial3 = "Silver"
cmds.sets( e=True, forceElement= myMaterial3 + 'SG' )
But I get this error when I try to run the batch file:
File "/Users/../Scripts/MayaVectorScript.py", line 23, in materialFile
cmds.sets( e=True, forceElement= myMaterial + 'SG' )
TypeError: No object matches name: BlueGlassSG
In the Hypershade, the shader BlueGlass is connected to a shader group (SG) with the same name BlueglassSG and the script works from the UI inside maya.
Do I need to load a plugin or something in the script to make it run in the batch file?