Render.ru

Вопрос по MEL

#1
Почему не работает такая вещь:

string $obname[] = `ls -sl -g`;
if ( size($obname) == 0) {error "No Object Selected!";}

и почему работает такая вещь из маевского хелпа:

$l = `ls -lights`;
if (size($l) == 0) {error "No Lights";}


где тут тонкость-то?
кто-нибудь может объяснить???
$obname[] используется в дальнейшем и что от него требуется, делает...
 
#3
Держит
это -geometry, если полный писать.
Скрипт дальше работает - я же говорил.
Только проверка отсутствует...
 
#6
-geometry (-g) List geometric Dag objects.

Geometry != Tranform.

Выбери shapeNode объекта и увидишь разницу.
А для трасформов есть флаг -transforms (-tr)

Удачи.
 

zalexus

Активный участник
Рейтинг
13
#7
Честно скажу лень вспоминать какие там флаги используются, ну раз уж такое дело, я бы поставил второй строчкой

print $obname;

и смотрел содержимое данной переменной.
и настройки производил бы, опираясь на эти данные.
 

kraz 35

Мастер
Рейтинг
118
#8
2 mesh:

Биг Сенкс!!! Все заработало! :))

И еще отдельный тебе привет! Ты еще на киев пост-продакшн?
Напиши мне на мыло, плиз...
 
#10
2 Решатель:

А каким образом?
У меня оно всегда на эррор перескакивало - без разницы, выбраны объекты или нет...
 
#11
Так наверное надо всё же geometry DAG objects выбрать, чтобы не перескакивало-то?
 
#12
2 Решатель

c DAG как раз перескакивает

так как оно у тебя заработало-то???
 

rich 4633

Активный участник
Рейтинг
11
#14
string $obname[] = `ls -sl`;
if ( size($obname) == 0)
error "No Object Selected!";
else
print "selected an object";
 

kraz 35

Мастер
Рейтинг
118
#17
Мне надо ИСКЛЮЧИТЕЛЬНО геометрию (и чтобы никаких материалов, случайно выбраных, или там источников света).

поэтому я ставил `ls -sl -g`,
а у Вас - `ls -sl`

Я в курсе, что второе работает (я еще до писания сюда пробовал).
Вопрос же моей темы был - ПОЧЕМУ не работает первое, какая там есть тонкость???
 
#18
Извините, почему вы всё твердите, что оно не работает? Оно работает. Работает как надо - показывает нужные ноды из выбранных. Если их нет - то го-го на еррор. В чём проблема???
 

kraz 35

Мастер
Рейтинг
118
#19
Проблема в том, что если стоит флаг -g оно у меня в 6.5 всегда идет на еррор - без разницы, выбрано что-либо или нет.

Я это уже обошел (спасибо mesh), но меня просто интересует, почему это происходит. Весь прикол в том, что если вставить print $obname[0]; - то он пустую строчку напечатает. Причем дальше делает все, что от него требуется. Если флаг -g убрать (или поставить -tr), то тогда все исправляется. Правда, в случае -tr мне приходится ставить еще фильтр, чтобы отсекать источники света и т.п.

Просто тут есть какая-то тонкость, которой я не догоняю, что не очень приятно... :))
 
#20
Ессно есть тонкость: надо выбрать те объекты, которые соответствуют флагу "-g". С хрена массив будет заполняться если нужные объекты не выбраны?
 
Сверху