
Новости • Форум • Помощь • Поиск • Участники • Календарь • База |
Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Страницы: (3) 1 [2] 3 ( Перейти к первому непрочитанному сообщению ) | ![]() ![]() |
OZazello Профиль Статус: Fool Power Группа: Элита Рейтинг: 10 ![]() |
что-то мне кажется вот это надо MM Shader Tools
|
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
вобщем есть куча моделек полученных с макса, с кучей материалов и текстур, ну к примеру тыщи матов, и надо все ноды Phong во всех материалах заменить на Arch mat redshift, вручную это делать год наверное буду)
вот наскриптовать бы такое дело, да знаний не хватает даже как обратится к шейдеру через питон, учитывая предыдущие скрипты там есть некий ProgID которого нигде нету, все обыскался (как сказано в хелпе, такого нету) OZazello пробовал его, он в 2013 у меня не пашет, жму на него и панельки нет и все, уже и выбирал мат и шейдер и обьект, хрен |
Alexdashch Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 6 ![]() |
выложи сценку с одними материалами, попробую разобраться...
|
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
Alexdashch
да че выкладывать, я на простой тестирую, просто создай 4-5 шейдеров в мат едиторе с фонгом (я дублирую сцене мат 5 раз), и вот как эти фонги заменить на любой другой автоматом и чтоб текстура осталась, пусть хот на ламберт или блинк или арнольдовский и т.д., главное не вручную. |
Alexdashch Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 6 ![]() |
а скрипт не работает?
|
Gescort Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 3 ![]() |
Попробуй вот так. Подменяет все фонги во всех материалах, зовущиеся Phong (имя шейдера, имя материала без разницы). Всем подмененным шейдерам автоматом подписывает имя шейдера Redshift_Architectural, так что при повторном использовании скрипта они перезаменяться не будут. По текстурам сохраняет диффуз карту. Рефлект и транспаренси сохраняются, но автоматом переводятся через скалярную ноду в весовую составляющую. |
||
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
Gescort
ты Бог! :preved: все сработало идеально! :thankyou: а где ты берешь эти названия подскажи? чтоб я сам мог под свои нужды тягать этот шикарнейший скриптец ? (Redshift.material-architectural.1.0) к примеру шас надо заменить ноды XSINormalMap на редовский бамп |
Gescort Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 3 ![]() |
Возьми в рендертри перетяни шейдер редшифта на то, что тебе требуется заменить.
Открой скрипт эдитор и смотри последнюю строку, будет что-то вроде: Application.ReplaceShaderWithProgID("Sources.MaterialLib_бла-бла-бла", "Redshift.material-architectural.1.0") Второе передаваемое значение и будет твоим ProgID. Можно конечно определять его и программно, но так проще :) Не забудь тогда в строках if str(oFind[i].Name) == "Phong" и oFind[i].Name = "Redshift_Architectural" изменить значения на нужные. И самое главное еще тебе придется менять для каждого типа шейдера Class ID, это в строке oFind = xsi.FindObjects("", "{6495C5C1-FD18-474E-9703-AEA66631F7A7}") Где его брать: Открываешь SDK Explorer (Ctrl+Shift+4). В его эксплорере выбираешь нужный объект, в нем шейдер, например XSINormalMap. Справа Advanced и там будет прописан Class ID. Копируешь его вместе со скобками и меняешь в скрипте. Итого 4 замены. |
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
Gescort
работает как часы! :clapping: а еще можно как до дописать, а лучше наверное отдельным сделать, чтобы подключал все ноды пикчи имеющие в названии слово "normals" к ноде Redshift_BumpMap когда подключаю в скрипте пишется так Application.SIConnectShaderToCnxPoint("Clips.AM_133_building_011_001_normals_jpg", "Sources.Materials.DefaultLib1.AM_133_building_011_003.Redshift_BumpMap.input", False) думал так же на основе твоего но чтоб искал не полное имя а те в которых есть конкретное слово |
Gescort Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 3 ![]() |
Немного изменил вариант, поиск идет не глобальный, а по библиотекам материалов. Нода Redshift_BumpMap должна быть обязательно подключена к материалу, иначе ее не увидит.
|
||
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
Gescort
я уже говорил что ты Бог ? :preved: |
Gescort Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 3 ![]() |
eistan Вряд ли :scratch:
Я даже для себя до сих пор не могу сделать ряд полезных вещей и инструментов. А здесь все-таки мелочи, которые мог бы сделать каждый, если бы немного подразобрался бы как это все работает. |
eistan Профиль Статус: леонардо Группа: Заслуженные артисты Рейтинг: 2 ![]() |
Gescort
ну за сложными штуками это в гудиню, там все можно =) наверное... в ксе как кто то уже говорил сильно ограниченный SDK и прочие плюшки со скриптами, сильно не развернешься, да и глючный, куча ошибок вроде как |
Angel 07 Профиль Статус: слон Группа: Артисты Рейтинг: 7 ![]() |
Ну на счет сильных ограничений SDK - это неправда. Многое можно делать. Может быть не скриптами, но C++ точно. Мне так кажется. Да и глюки, что встречались, всегда обойти можно было. Так что норм, не надо напраслину наводить.
Не знаю, но наверняка в Максе и Майе все еще хуже. Все-таки архитектура тянется с черти-каких годов. А ведь за это время и Питон прикрутили, и C#. |
Gescort Профиль Статус: слон Группа: Заслуженные артисты Рейтинг: 3 ![]() |
Да нет, есть все-таки ограничения и чем глубже, тем больше спотыкаешься о всякие неприятные мелочи (порой банальные). Обходить многое можно, но чаще это костыли, а хотелось бы прямых решений. У меня уже несколько интересных идей именно таким образом загнулось.
Хотя конечно и не так все плачевно, чтобы унывать. |
![]() |
![]() ![]() |