Render.ru

вопросы по MEL

Рейтинг
22
В дополнение к предыдущему, может подойдет.
Код:
if(`window -q -exists Test`) deleteUI Test;
window -t "Test"  Test;
scrollLayout mainCol;
frameLayout -cll 1 -cl 1 -l "Frame1" -h 20 -w 150
-cc "frameLayout -e -h 20 frLy1"
-ec "frameLayout -e -h 300 frLy1" frLy1;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
setParent frLy1;
setParent mainCol;
frameLayout -cll 1 -cl 1 -l "Frame2" -h 20 -w 150
-cc "frameLayout -e -h 20 frLy2"
-ec "frameLayout -e -h 300 frLy2" frLy2;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
setParent frLy2;
setParent mainCol;
frameLayout -cll 1 -cl 1 -l "Frame3" -h 20 -w 150
-cc "frameLayout -e -h 20 frLy3"
-ec "frameLayout -e -h 300 frLy3" frLy3;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
setParent frLy3;
setParent mainCol;
frameLayout -cll 1 -cl 1 -l "Frame4" -h 20 -w 150
-cc "frameLayout -e -h 20 frLy4"
-ec "frameLayout -e -h 300 frLy4" frLy4;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
button -h 30 -w 150;
setParent frLy4;
setParent mainCol;
showWindow Test;

dockControl -area "left"
-content Test
-allowedArea "left"
-allowedArea "right";
 

Lemieux

Знаток
Рейтинг
58
Кто знает, что за фокус?

При
Код:
float $abc = `polyEvaluate -wa`;
Пишет
Cannot convert data of type float[] to type float
При
Код:
float $abc[] = `polyEvaluate -wa`;
Invalid redeclaration of variable "$abc" as a different type.
Хотя из хелпа
returns the surface area of the object's faces in world space as a float
 

iNOD

Активный участник
Рейтинг
18
Разобрался с фокусником :D
когда пишешь что-то, то всегда пиши в скобках
{
float $abc = `polyEvaluate -wa`;
}
Переменная удаляеться после выполнения и ты можешь изменить тип переменной без проблем
{
float $abc[] = `polyEvaluate -wa`;
}
 

Lemieux

Знаток
Рейтинг
58
Имеется импортируемый объект с назначение на нём нескольких материалов phong. Есть у кого какие-нибудь идеи как автоматизировать переназначение материалов, например, на mia_material, а так же с переназначением текстур?
 

Andots

Знаток
Рейтинг
66
Имеется импортируемый объект с назначение на нём нескольких материалов phong. Есть у кого какие-нибудь идеи как автоматизировать переназначение материалов, например, на mia_material, а так же с переназначением текстур?
Да ты знаешь я боюсь что написание данного скрипта реально будет оправдано только при наличии сотен объектов . Вот смотри, я ради интереса написал на питоне неск строчек
777777777.jpg
Грубо говоря получил список материалов и sg с объекта. Там обычный шар и 2 материала. Потом через print atr вывел список атрибутов для первого шейдера (в идеале все это циклами но я просто для проверки [0} поставил) Теперь нам по идее их надо сохранить ( ну это не проблема гоним в массив или по одному циклом переносим на новый мат).. Далее назначаем иной материал (как это сделать для неск матов ума не приложу (думаю через массив faces для которых эти маты assigned ну там можно что то наверно придумать если мозгом попукать) ) Ну не суть, далее (а вернее в самом начале) нам надо для каждой позции (атрибута) исходного материала прописать вручную аналогию атрибута конечного (в который конвертим) и через setAttr применить.. Ну это если в двух словах на коленке. В общем если это не коммерческий проект как мне кажется цель не оправдывает средства, наверно руками будет гораздо менее затратней и быстрее чем писать этот скрипт. Дело даже не в количестве строчек (их возможно и не так много) а в самом процессе и последующей отладке .Мож конечно тут попадутся корифеи которые подскажут что то более простое.

Ну или я возможно не совсем верно понял, мож переносить значение атрибутов шейдера тебе и не надо, просто назначить другой мат и перекинуть текстуры. Тогда конеш все проще (но не намного :) .)
 
Последнее редактирование:

Lemieux

Знаток
Рейтинг
58
Да ты знаешь я боюсь что написание данного скрипта реально будет оправдано только при наличии сотен объектов . Вот смотри, я ради интереса написал на питоне неск строчек
Посмотреть вложение 230774
Грубо говоря получил список материалов и sg с объекта. Там обычный шар и 2 материала. Потом через print atr вывел список атрибутов для первого шейдера (в идеале все это циклами но я просто для проверки [0} поставил) Теперь нам по идее их надо сохранить ( ну это не проблема гоним в массив или по одному циклом переносим на новый мат).. Далее назначаем иной материал (как это сделать для неск матов ума не приложу (думаю через массив faces для которых эти маты assigned ну там можно что то наверно придумать если мозгом попукать) ) Ну не суть, далее (а вернее в самом начале) нам надо для каждой позции (атрибута) исходного материала прописать вручную аналогию атрибута конечного (в который конвертим) и через setAttr применить.. Ну это если в двух словах на коленке. В общем если это не коммерческий проект как мне кажется цель не оправдывает средства, наверно руками будет гораздо менее затратней и быстрее чем писать этот скрипт. Дело даже не в количестве строчек (их возможно и не так много) а в самом процессе и последующей отладке .Мож конечно тут попадутся корифеи которые подскажут что то более простое.

Ну или я возможно не совсем верно понял, мож переносить значение атрибутов шейдера тебе и не надо, просто назначить другой мат и перекинуть текстуры. Тогда конеш все проще (но не намного :) .)
Допустим есть архив с моделями на которых до десятка материалов и вручную всё это переносить не очень резонно.
 

Andots

Знаток
Рейтинг
66
Допустим есть архив с моделями на которых до десятка материалов и вручную всё это переносить не очень резонно.
Ну не знаю. Все таки как мне кажется что даже после идеально написанного скрипта все равно придется многие параметры каждого материала в итоге править вручную. В таком варианте наверно проще уже вручную и назначать материалы изначально коли все равно в них лезть. Сложно сказать конечно, но я у себя в голове не вижу этот скрипт простым. Нюансов больно много. Не исключаю что ошибаюсь, ну возможно кто то что то и подскажет.
 

Andots

Знаток
Рейтинг
66
Lemieux если тебя еще интересует данный вопрос, то сегодня смотрел вебинар и там рассматривается как раз то что ты хочешь. с 40:36

 

Lemieux

Знаток
Рейтинг
58
Lemieux если тебя еще интересует данный вопрос, то сегодня смотрел вебинар и там рассматривается как раз то что ты хочешь. с 40:36

Там интересное решение, возьму на вооружение :) Но он оперирует арнольд матами, а я хотел провернуть такое с mila_mat, а там чуть по другому
 

Andots

Знаток
Рейтинг
66
Там интересное решение, возьму на вооружение :) Но он оперирует арнольд матами, а я хотел провернуть такое с mila_mat, а там чуть по другому
Да в данном случае суть важнее. Какая разница мила или Аи.. имена просто разные ( и имена атрибутов).
Такая же разница для скриптонаписания по сути как между псферой и пкубом. Важно (равно как и самая большая сложность) понимание как это сделать, а уж что на что менять и в каком количестве это дело 100500тое.

Ps. Просмотрел весь вебинар, и если человек который это записал захаживает на данный сайт и увидит это, хотел бы сказать ему огромнейшее спасибо. Очень многое почерпнул, понятная, простая( в хорошем смысле этого слова) и информативная лекция. Жаль что подобного на русс языке крайне мало, а такого как эта даже наверно больше и нет(во всяком случае пока не нашел).
 
Последнее редактирование:

Lemieux

Знаток
Рейтинг
58
Да в данном случае суть важнее. Какая разница мила или Аи.. имена просто разные ( и имена атрибутов).
Такая же разница для скриптонаписания по сути как между псферой и пкубом. Важно (равно как и самая большая сложность) понимание как это сделать, а уж что на что менять и в каком количестве это дело 100500тое.
Вот не скажи :) С mila_mat не всё так просто
 

Andots

Знаток
Рейтинг
66
Вот не скажи :) С mila_mat не всё так просто
Ну не буду спорить не ковырял углублено просто. Надо наверно попробовать вывести их атрибуты. Ну я понимаю что это laуered материал, но тем не менее адекватные атрибуты должны быть наверно, а если так то все решаемо.
 
Последнее редактирование:

Lemieux

Знаток
Рейтинг
58
Есть окно с кнопкой "Выберите папку", там есть поле для отображения пути. После нажатия кнопки выполняется команда "fileDialog2 -fileMode 3", выбирается папка (нажимается Save) и значение пути заносится в переменную. Каким образом можно считать путь из переменной в строчку для отображения пути после того как выбрали папку?
 
Последнее редактирование:

4i4ikov

Знаток
Рейтинг
37
ну принт это понятно :) мне нужно чтобы путь отобразился в поле textField
Гуишка чтоли?

string $window = `window`;
rowColumnLayout -numberOfColumns 2 -columnAttach 1 "right" 0
-columnWidth 1 100 -columnWidth 2 250;
text -label "Name";
string $name = `textField`;
textField -edit -tx "Help bilat chiatay!!!" $name;
showWindow $window;
 

Lemieux

Знаток
Рейтинг
58
Смотри, есть window
Есть button с -command "filedialog2 -fileMode 3"
После нажатия на кнопку вылетает окно с выбором папки, которую я хочу выбрать.
И вот когда я её выбираю, нажимая в окне "Save", путь записывается в переменную, но как отобразить этот путь в textField. Хелп я читаю, но я так и не могу понять как использовать scriptJob в этой ситуации.
 
Сверху