public static MFnDependencyNode CreateShadingNode(ShadingNodeType snt, string nodeType) { //Debug.Log("try create shadingNode:" + snt + " :" + nodeType); CmdStrConstructor csc = new CmdStrConstructor("shadingNode"); switch (snt) { case ShadingNodeType.Texture: { csc.UpdateToggle("at", true); break; } case ShadingNodeType.Utility: { csc.UpdateToggle("au", true); break; } case ShadingNodeType.Shader: { csc.UpdateToggle("as", true); break; } case ShadingNodeType.Light: { csc.UpdateToggle("al", true); break; } case ShadingNodeType.PostProcess: { csc.UpdateToggle("app", true); break; } case ShadingNodeType.Rendering: { csc.UpdateToggle("ar", true); break; } } csc.UpdateFinalAppend(nodeType); string cmdStr = csc.ToString(); //Debug.Log("command:" + cmdStr); string nodeName = MGlobal.executeCommandStringResult(cmdStr, true); //Debug.Log("create node result:" + nodeName); return(new MFnDependencyNode(BasicFunc.GetObjectByName(nodeName))); }