MEL错误未终止字符串,纹理脚本更改字符串

时间:2016-03-10 11:04:56

标签: scripting maya mel

最近我参加了MEL编程,帮助玛雅的一些朋友。他们想让他们的文件在服务器上被引用,所以我需要更改reff字符串。现在我已经编译了一个解决方案来做这个,并使用另一个例子作为指导,但当我运行脚本时,它说 //错误:int $ nt = tokenize $TexturePath "\" $buff;  // //错误:第12.43行:未终止的字符串。 // 是什么赋予了? 附:对于想要使用它的人来说,下面是完整的代码

string $SceneTextures[] = `ls -tex`; 
string $plus="";//Place a file type here to be saved in that subfolder

for ($i = 0; $i< (`size $SceneTextures`); $i++)
{
$Test = catchQuiet(`getAttr ($SceneTextures[$i] + ".fileTextureName")`); 
if ($Test == 0)
{ 

string $TexturePath = `getAttr ($SceneTextures[$i] + ".fileTextureName")`;
string $buff[];
int $nt=`tokenize $TexturePath "\\" $buff`;
string $newPath=("${ARC_SURF}\\" + plus + "\\" + $buff[$nt-3] + "\\" + $buff[$nt-2] + "\\" + $buff[$nt-1]);
setAttr -type "string" ($SceneTextures[$i] + ".fileTextureName") $NewPath;
catchQuiet (AEfileTextureReloadCmd ($SceneTextures[$i] + ".fileTextureName")); 
//print $TexturePath;
}//end if
}//end for i

编辑:修复了应该的代码,现在它只抛出//错误:第14行:用于引用数组“$ buff”的无效负索引。 但我认为可能只有1个纹理螺丝填满,会检查并报告回来

1 个答案:

答案 0 :(得分:2)

我不是MEL的专家,但在许多语言\用于逃避控制序列,所以我猜你想要"\\"而不是"\",它出现的地方很多。