Render.ru

Вес точек NURBS

Fynjy

Активный участник
Рейтинг
11
#1
Всем доброе время суток,

В книге "Понимая MAYA" есть пример изменения весов точек кривой посредством задания аттрибута вручную, setAttr .wt[номер точки] "вес" - вот такоя нехитрая команда. А теперь вопрос знатокам, как задать так же вес точке на NURBS поверхности? При попытке задать аттрибут такой же формулой вылезает ошибка синтаксиса. По идее команда должна иметь такой вид

setAttr .wt[3][4] 10 - к примеру, но не работает.
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#2
Все просто)
Код:
string $sel[] = `ls -hl -dag -type nurbsSurface`;

string $selCvs[] = `filterExpand -sm 28`;
string $splitStrings[];
tokenize $selCvs[0] "[]" $splitStrings;

int $spansUV[2] = `getAttr ( $sel[0] +".spansUV" )`;
int $degreeUV[2] = `getAttr ($sel[0] +".degreeUV")`;
int $cvsPU = $spansUV[0] +$degreeUV[0];
int $cvsPV = $spansUV[1] +$degreeUV[1];

$Cv = $cvsPV * (float) $splitStrings[1] + (float) $splitStrings[2];// Номера точки
setAttr .wt[$Cv] 5;
 

Fynjy

Активный участник
Рейтинг
11
#3
Спасибо. Кнопку, видимо убрали, поэтому просто большое и человеческое.
P.S. Не могу проверить в настоящий момент, так как Maya нет по рукой, но очевидно при рендере в ментале эти веса учитываться не будут. То есть такие "выкрутасы" имеют смысл только при работе с Renderman?
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#4
Почему же, какая поверхность во вьюпорте, такая и при рендере.
 
Сверху