В школе соратники по парте часто задают мне вопрос "А как сделать так, чтобы всякий раз не перепрописывать все риды, когда я переношу свой скрипт с одной на другую машину?"
Давайте разбираться
Я делаю следующим образом
(Сркиншоты почему-то упорно не хотят вставляться в тело сообщения, можно перейти по ссылочкам-две чёрточки)

Создаю вспомогательную для себя ноду Stiky Node и называю её ProjectPath
Жмём правой кнопкой, идём в Manage User Knobs
http://pikucha.ru/431463/thumbnail/Снимок экрана 2010-05-15 в 8.55.43.jpeg
Добавляем новую текстовую кнобу
http://pikucha.ru/431465/thumbnail/Снимок экрана 2010-05-15 в 8.56.56.jpeg
Называем её path
http://pikucha.ru/431466/thumbnail/Снимок экрана 2010-05-15 в 8.57.35.jpeg

Теперь у нас есть Вспомогательная нода с нобой path
Запишем в path корневой путь к нашему проекту
http://pikucha.ru/431462/thumbnail/Снимок экрана 2010-05-15 в 8.51.05.jpeg

Теперь Риды
В риде в пути к файлу указываем вместо его абсолютного пути, путь относительно корневой папки проекта
http://pikucha.ru/431468/thumbnail/Снимок экрана 2010-05-15 в 8.59.19.jpeg
и так в каждом риде, а лучше и во врайтах, Рид Геометри, Камерах и прочих связях с внешним миром

Что теперь имеем?
Теперь достаточно перебить путь к корневой папке в ноде ProjectPath и все риды автоматом переподцепятся

И здесь наша лень начинает снова говорить о себе
А что если я не хочу тратить время на перепрописывание пути к проекту и вообще заморачиваться об этом.
Запросто

Жмём кномпку S в Даге и обнаруживаем, что оказывается Нюк при открытии или сохранении проекта автоматом прописывает текущий полный путь к проекту в root.name
http://pikucha.ru/431470/thumbnail/Снимок экрана 2010-05-15 в 9.00.25.jpeg
Стало быть, заходим в нашу ноду ProjectPath и пишем небольшой скриптик в поле label
http://pikucha.ru/431469/thumbnail/Снимок экрана 2010-05-15 в 8.59.50.jpeg

Теперь при загрузке Нюка на любой машине, в ProjectPath.path автоматически пропишется путь к папке проекта, и все подготовленные ноды подцепятся автоматом
В данном примере скрипт лежит нпосредственно в корне проекта, что не есть хорошо. Чаще скрипт лежит во вложенной папке. Например /nuke
проблем нет
Наш TCL скрипт в ноде ProjectPath немного модернизируется

Код:
[knob path [file dir [value root.name]]/..]

Подводя итог
Резонный вопрос, а зачем нам собственно нужна нода ProjectPath.
Мы ведь можем записать [knob path [file dir [value root.name]]/..] непосредственно в ноду Рид и быть счастливыми
Можем
Но, если у нас есть нода ProjectPath у нас всегда остаётся возможность оперативно закомментить скрипт в label и вписать в path любой интересующий нас путь
Чтобы было вообще красиво, поставить ЧекБокс использовать или нет root.
Если наши исходники не организованы в одну папку, а распределены, можем завести под каждую группу свою кнобу
Плюс, таким же подходом можем сделать удобный механизм тогла между сурсами на локале и сурсами в сетке
Эксперементируем
Творим

Отредактировано jahamba (2010-05-15 09:37:40)