Всем доброго времени суток!
Для 2010 версии разрабатывал скрипт, который ищет дубликаты текстур на материалах и удаляет их, в ней скрипт великолепно работает, а вот в 2011 что-то не так. Скрипт коммерческий поэтому весь я его привести не могу. Странность заключается в том, что очень странно работают циклы. Пример
работает прекрасно и распечатывает значения переменной, а вот цикл который отказывается работать, причем если выполнять последовательность действий вручную, то все хорошо, стоит его запустить проходит только одна итерация, причем если верить тому что распечатывается скрипт доходит только до "step2", значение переменной temp в цикле не выводится вовсе, хотя я точно знаю что там массив из двух строк, что показывает простое распечатывание значений, не в цикле. если заменить size($mas_materials) числом результата по прежнему нет, если честно я ничего не понимаю.... причем аналогичные результаты выдает и цикл while.
Для 2010 версии разрабатывал скрипт, который ищет дубликаты текстур на материалах и удаляет их, в ней скрипт великолепно работает, а вот в 2011 что-то не так. Скрипт коммерческий поэтому весь я его привести не могу. Странность заключается в том, что очень странно работают циклы. Пример
Код:
for($i = 0; $i < 10: $i++)
{
print $i;
}
Код:
string $mas_fileName[];
string $mas_path[];
string $mas_ShaderName[];
string $mas_All[];
int $mas_i = 1;
for ($mas_i = 0; $mas_i < size($mas_materials); $mas_i = $mas_i+1)
{
print ("step1 " + $mas_i +"\n");
print (`objExists ($mas_materials[$mas_i] + ".color")` +"\n");
if (`objExists ($mas_materials[$mas_i] + ".color")`)
{
print "step2\n";
string $mas_file = `connectionInfo -sfd ($mas_materials[$mas_i] + ".color")`;
string $mas_temp[2];
tokenize $mas_file "." $mas_temp;
print ("array" + $mas_i +"\n");
if(`objectType $mas_temp[0]` == "file")
{
print "step3\n";
$mas_path[size($mas_path)] = `getAttr ($mas_temp[0] + ".fileTextureName")`;
$mas_fileName[size($mas_fileName)] = $mas_temp[0];
$mas_ShaderName[size($mas_ShaderName)] = $mas_materials[$mas_i];
}
}
}
print $mas_path;
print $mas_fileName;
print $mas_ShaderName;