Render.ru

Заменить путь выбранных Loaders

Дмитрий Белоносов (WAX)

Активный участник
Рейтинг
5
#1
Коллеги, нужен скрипт по изменению пути ВЫБРАННЫХ Loaders. Штатный делает замену всех в текущем проекте. Существует ли такой скрипт, либо это можно реализовать ещё как-то?

Сейчас приходиться копировать нужную ветку или её кусок в пустую композицию, менять все пути и вновь возвращать, что требует времени и сил.
 

Вложения

Рейтинг
63
#3
Готово!

перед использованием удалить расширение ".txt", чтобы осталось "path_replace.lua"
скрипт положить в папку ..path_to_fusion_home_folder/Scripts/Comp/

использование:
- выделяем лоадер(ы);
- запускаем скрипт;
- в первом поле указываем часть пути, которое надо заменить;
- во втором поле указываем новый путь;
- жмем Replace
- радуемся

Пример:
есть нерабочий путь до сиквенции:
C:/Old_Path/Source/source_sequence.0000.exr
надо заменить часть пути до рабочего:
в первую графу пишем текущий префикс
C:/Old_Path/
во вторую пишем рабочий префикс
Z:/Projects/Example_Project/
в итоге путь в лоадере(ах) станет:
Z:/Projects/Example_Project/Source/source_sequence.0000.exr

В консоли будет распечатка того, что проделал скрипт со всеми путями.
Успехов!
 

Вложения

Дмитрий Белоносов (WAX)

Активный участник
Рейтинг
5
#4
Михаил, добрый день! Спасибо большое за то, что откликнулись и за помощь!

Провёл тесты. Работает отлично.

Возникло одно препятствие. Если выбирать все узлы подряд, не только Loaders (Color Correction, например, тоже), то путь меняется только у одного Loaders в этом массиве (выбор рамкой или с CTRL). Это как-то можно преодолеть? При такой практике скрипт как бы перестаёт работать, не у всех нод уже меняет пути, глючит.

А то все Loaders искать и выбирать дольше, чем скопировать ветку в пустую композицию и менять все пути.

Сможете помочь?

P.S. Про штатные скрипты я вспомнил - взял их из Fusion 6.4, поменял расширение на lua, часть из них работают в 17 Fusion.
 
Рейтинг
63
#6
(...) Если выбирать все узлы подряд, не только Loaders (Color Correction, например, тоже), то путь меняется только у одного Loaders (...)
Да, есть такое )) пропустил проверку по классам инструмента, не кодил на LUA уже лет 7 и исходил из того, что, поскольку нужен функционал для выделенных лоадеров, а не для всех найденных, то выделяются они с контролом..

Пофиксил ;)
 

Вложения

Дмитрий Белоносов (WAX)

Активный участник
Рейтинг
5
#7
Работает. Начал тестировать старый проект, даже кириллицу ест, что отлично! (грешу, знаю).

Обнаружил проблему: если в пути Loaders используются спецсимволы (попробовал круглые скобки () и квадратные скобки []), то путь с такими символами он поменять на любой другой не может. А если нужно прописать такой путь - то без проблем:
Так работает My path 001 > My path (001)
Так не работает My path (001) > My path 001

"Штатный" скрипт это решает. К сожалению спецсимволы бывают разные, от точки и запятой до простых скобок. Не знаю, в какой ситуации может подвести.

Может штатный скрипт возможно изменить на Selected, что бы избежать подводных камней, он работает во всех ситуациях.

Записал короткое видео
http://recordit.co/r7ydR7p0OX
 
#11
по поводу качества путей к файлам.. как правило их стараются делать неразрывними, без спецсимволов и на латинице.. Спецсимволы допускаются тогда, когда они являются частью экспрешен языков, понимаемых софтом.

но в целом, это упущение LUA, я припоминаю, что там буквально один-два символа надо добавить в основной метод пересборки выражения, чтобы спецсимволы не воспринимались частью кода, как сейчас, но надо залезть в описание.. я сначала думал написать на Python, но тогда на стороне пользователя пришлось бы доставлять себе доп библиотеки с графическими интерфейсами, так что пришлось вспонимать LUA..
 
#12

Вложения

Сверху