3DCenter.ru

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

 
Reply to this topicStart new topic
> mel help
Light_Dip
сообщение 17/04/2015, 21:26
Сообщение #1


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Доброй всем ночи, нужна помощь, в освоение прекрасного языка для скриптинга, вот хочу сделать чтоб можно было выделять объект по присвоенному ему уровню сглаживания, но что то нечего не выходит, буду очень признателен за помощь, вот пример кода:




$smot = `displaySmoothness -q -po`;
if($smot == 0){
print ok;
}
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 20/04/2015, 13:54
Сообщение #2


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



Если конечно актуально
Мне кажется нужно создать список объектов
Код
string $allNSObjects[];
$allNSObjects = `ls -typ "nurbsSurface"`;


затем пробежаться по ним

черновой вариант по нурбсам:
Код
string $allNSObjects[];
$allNSObjects = `ls -typ "nurbsSurface"`;
for ($thisObj in $allNSObjects){
    int $displaylevel[] = `displaySmoothness -q -po $thisObj`;
    if ($displaylevel[0] == 0)
        {
            print $thisObj;
        }
}


Сообщение отредактировал UknwnHero - 20/04/2015, 13:55
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 20/04/2015, 17:14
Сообщение #3


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



UknwnHero Спасибо, все работает, но только с объектами что созданы в сцене, когда импортирую модель через фбх у всех объектов даже на которых есть сглаживание показывает что // Result: 0 // хотя стоит 2. вот пробую зацепиться за чек бокс, но что то не выходит.
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 20/04/2015, 20:57
Сообщение #4


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



странно, вот из 2016 версии, видюшка - Прикрепленный файл  Безымянный.zip ( 341,22 килобайт ) Кол-во скачиваний: 305


Код
string $allNSObjects[];
$allNSObjects = `ls -l`;
for ($thisObj in $allNSObjects){
    int $displaylevel[] = `displaySmoothness -q -po $thisObj`;
    if ($displaylevel[0] == 3)
        {
            select -add $thisObj;
        }
}


Сообщение отредактировал UknwnHero - 20/04/2015, 21:00
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 21/04/2015, 12:18
Сообщение #5


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



На шариках у меня все тоже нормально, а вот когда открываешь фбх модель вот http://joxi.ru/EA499yNU9PZYrb и вот целиндер с нажатой уже 3 http://joxi.ru/Q2KVVPnuRbXjmj, но когда вручную включаю и выключаю сглаживание то тоже начинает показывать http://joxi.ru/zANyyP0hgJZ829 но суть теряеться, мне же нужно отобрать объекты с сглаживанием.
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 21/04/2015, 12:29
Сообщение #6


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



выложи fbx, я теcтил на своих, работает

этим select -add $thisObj; выделяю, если удовлетворяют условию $displaylevel[0] == 3 (вроде от 1 до 3)
в большинстве случаев $displaylevel[0] = 0 или displaySmoothness -q -po = 0

Сообщение отредактировал UknwnHero - 21/04/2015, 12:40
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 21/04/2015, 14:06
Сообщение #7


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



вот сценка, я просто экспортнул через фбх обычные примитивы.
Прикрепленные файлы
Прикрепленный файл  Test.rar ( 13,6 килобайт ) Кол-во скачиваний: 203
 
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 21/04/2015, 14:16
Сообщение #8


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



Цитата(Light_Dip @ 21/04/2015, 14:06) *
вот сценка, я просто экспортнул через фбх обычные примитивы.

извини, но там нигде нет сглаживания
вот поставил цилиндру 3, он выделился... подумай, что ты там творишь! (Над этим фильтром)

Прикрепленное изображение


Сообщение отредактировал UknwnHero - 21/04/2015, 14:22
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 21/04/2015, 14:46
Сообщение #9


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Как нет? это простые примитивы с нажатой 3, если их выделить и нажать 1 то они приймут изначальную форму то есть без сглаживания, суть в том что мне нужно в сцене выделять объекты на которых висит сглаживание и на которых его нет, вот например http://joxi.ru/BA0MMXdSzBvxry и для каждого мне нужно применить разные действия, по этому я хочу чтоб я мог выделить отдельно сглаженые детали и остались не сглаженые. в приложении эти детали. но после экспорта в фбх у всех объектов при запросе одно и тоже значение 0. http://dropmefiles.com/3MGEx
Прикрепленные файлы
Прикрепленный файл  test1.rar ( 558,6 килобайт ) Кол-во скачиваний: 212
 
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 21/04/2015, 14:59
Сообщение #10


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



импортировал, все по нулям - шасси и фендер

если пользователь перебирает в течении сесии работы майки 1-3, да сглаживает и сохраняет, затем переоткрывает сцену майки(не импорт) - то да можно отсеивать по группам сглаживания

(сравнительно давно не работал в майке, в основном в кад программах, если что поправьте)

Сообщение отредактировал UknwnHero - 21/04/2015, 15:22
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 21/04/2015, 16:54
Сообщение #11


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



UknwnHero спасибо за помощь, буду думать как решить эту проблему.
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 08/05/2015, 13:46
Сообщение #12


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



Вот накидал пару строк, но что то не работает, должно вроде выделять объекты с значением 1, но нечего не происходит, буду признателен за помощь.

CODE
string $smoth[];
$smoth = `ls -typ "mesh"`;
for ($thisObj in $smoth){
int $displaysub[] = `getAttr -as $smoth.displaySubdComps`;
if ($displaysub[0] == 1)
{
select -add $thisObj;
}
}
Go to the top of the page
 
+Quote Post
UknwnHero
сообщение 11/05/2015, 19:31
Сообщение #13


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 265
Регистрация: 26/03/2015
Из: Арктический Ад
Пользователь №: 107 708



Код
string $meshes[];
$meshes = `ls -typ "mesh"`;
for ($mesh in $meshes){
    $display = `getAttr ($mesh + ".displaySubdComps")`;
    if ($display == 1)
        {
         select -add  $mesh;
         print( $mesh + "\n" );
          }
}
Go to the top of the page
 
+Quote Post
Light_Dip
сообщение 18/05/2015, 12:58
Сообщение #14


Знаток
Иконка группы

Группа: Пользователи
Сообщений: 288
Регистрация: 01/06/2007
Пользователь №: 53 720



UknwnHero

Очень помог, спасибо! а то я накатал на тысячу строк повторяющийся код, чтоб выделять объекты в массиве:)
Go to the top of the page
 
+Quote Post
Bots
сообщение Системное сообщение






Fast ReplyReply to this topicStart new topic

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

 



RSS Текстовая версия Сейчас: 28/03/2024 - 22:50