Render.ru

Удаление волос в зависимости от цвета текстуры в точке роста .

Рейтинг
34
#1
Код:
string$texture = "ramp1" ;
convertHairSelection "follicles" ;
string$list[] = `ls -sl` ;
string$it ;
for ( $it in $list )
{
    float$u = `getAttr ( $it + ".parameterU" )` ;
    float$v = `getAttr ( $it + ".parameterV" )` ;
    float$col[] = `colorAtPoint -o RGB -u $u -v $v $texture` ;
    if ( $col[0] > 0.5 ) delete ( `listConnections -t "nurbsCurve" $it` ) $it ( `listTransforms $it` ) ;
}
Плиз объясните последнюю строчку if ( $col[0] > 0.5 ) delete ( `listConnections -t "nurbsCurve" $it` ) $it ( `listTransforms $it` ) ; . Скрипт должен удалить все кривые и фоликулы где цвет текстуры белый ( > 0.5 ) . У меня скрипт пишет
Error: line 7: No object matches name: pPlane1Follicle3610.parameterU и кстати удаляет все фоликулы .

Обновление сообщения автором
05.11.2011 в 23:52
В общем нашёл в чём проблема . Правильно было написать
Код:
if ( $col[0] > 0.5 ) delete ( `listConnections -t "nurbsCurve" $it` ) $it ;
Обновление сообщения автором
06.11.2011 в 03:24
Оформил скрипт в виде процедуры
proc delhair ( string$name )
Код:
{
string$texture = "$name" ;
convertHairSelection "follicles" ;
string$list[] = `ls -sl` ;
string$it ;
for ( $it in $list )
{
    float$u = `getAttr ( $it + ".parameterU" )` ;
    float$v = `getAttr ( $it + ".parameterV" )` ;
    float$col[] = `colorAtPoint -o RGB -u $u -v $v $texture` ;
    if ( $col[0] > 0.5 ) delete ( `listConnections -t "nurbsCurve" $it` ) $it ;
}
}
Maya пишет Error: Line 1.17: Invalid use of Maya object "ramp1". Почему ? Немогу взять в толк что надо дать на вход поцедуре , имя самого файла или же ноды .
 

Вложения

Сверху