3DCenter.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Цилиндр без капа
Fomen
сообщение 15/11/2012, 08:41
Сообщение #1


Наш человек
Иконка группы

Группа: Пользователи
Сообщений: 402
Регистрация: 13/02/2009
Пользователь №: 67 387



Ребят, привет. Подскажите пожалуйста, как добить скриптик, чтобы цилиндр создавался без cap segments.
Вот, что у меня получилось, но не работает нифига:
Код
string $sel[] = `ls -sl`;
string $obj;
polyCylinder -r 10 -h 20 -sx 20 -sy 1 -sz 1 -ax 0 1 0 -rcp 0 -cuv 3 -ch 1 -n Cyl;
for ($obj in $sel)
setAttr ($obj + ".subdivisionsCaps") 0;

Но соответсвенно майя мне говорит, что аттрибута pCylinder1.subdivisionsCaps не существует и она чертовски права, потому что существует аттрибут polyCylinder1.subdivisionsCaps, т.к. это нода истории и она содержит нужный мне атрибут. Но как к нему обратиться?
Искал, смотрел и нашел такие команды, как listHistory и listConnections. Но если первая хотя бы выдает результат в виде "Result: pCylinderShape1 polyCylinder1", то вторая не выдает вообще ничего. И как тогда обратиться именно к ноде polyCylinder[]?
Вот, что пытался сделать с командой listConnections:
Код
string $list[] = `listConnections $sel`;
listConnections -d off -s on $sel;

но ничего не выходит.
Буду очень благодарен за посильную помощь. Спасибо.

Сообщение отредактировал Fomen - 15/11/2012, 08:42
Go to the top of the page
 
+Quote Post
svv3d
сообщение 15/11/2012, 10:44
Сообщение #2


Рыцарь форума
Иконка группы

Группа: Пользователи
Сообщений: 2 473
Регистрация: 12/07/2002
Из: Днепропетровск
Пользователь №: 326



Ошибка в том, что ты пытаешься менять атрибут там где его действительно нет...
Это может быть вот так...

string $cretaTest[] =`polyCylinder -r 10 -h 20 -sx 20 -sy 1 -sz 1 -ax 0 1 0 -rcp 0 -cuv 3 -ch 1 -n Cyl`;
string $inputNode = $cretaTest[1];
setAttr ($inputNode + ".subdivisionsCaps") 0;



Тут создаём массив из ноды трансформации Cyl и параметрической ноды-креатора polyCylinder1 так как на данном этапе она заменяет собой ноду mesh..
string $cretaTest[] =`polyCylinder -r 10 -h 20 -sx 20 -sy 1 -sz 1 -ax 0 1 0 -rcp 0 -cuv 3 -ch 1 -n Cyl`;
// Result: Cyl polyCylinder1 //

Тут мы получаем имя ноды-креатора, которая содержит требуемый аттрибут
string $inputNode = $cretaTest[1];
// Result: polyCylinder1 //

И последняя строка, которая выполняется без ошибки с нужным результатом
setAttr ($inputNode + ".subdivisionsCaps") 0;



Сообщение отредактировал svv3d - 15/11/2012, 11:05
Go to the top of the page
 
+Quote Post
Fomen
сообщение 15/11/2012, 10:53
Сообщение #3


Наш человек
Иконка группы

Группа: Пользователи
Сообщений: 402
Регистрация: 13/02/2009
Пользователь №: 67 387



Мде... Истина где-то рядом. Спасибо.
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






Fast ReplyReply to this topicStart new topic

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 29/03/2024 - 00:33