Asset - новое слово.
Все уже слышали это слово? Думаю что к "нам" притащил его в первую очередь Houdini. Теперь уже и в Maya они. Наверное в будущем мы его будем слышать гораздо чаще. Но это совсем не обязательно 3d понятие, и asset вообще может не иметь отношения к компьютерной графике. Если вы из конструктора соберёте машинку, её тоже можно назвать ассетом. CG персонаж - хороший пример ассета.
У ассета есть входы - его интерфейс и выходы. Если ассет "хороший" - то что внутри вас не волнует, если вы только не собрались менять его содержимое. Подаёте что-то на вход, получаете результат, а внутри чёрный ящик. Вы можете перенести его куда угодно, он будет всегда работать. Всё что ему нужно должно находиться в нём самом или подаваться на вход.
Проект или какую-то его часть тоже можно назвать ассетом. Maya Project - неплохой тому пример. Он предлагает хранить всё в одной папке. Заметьте, там не только модели, текстуры и прочие материалы но ещё и скрипты. Это важный момент. Если вы пользуетесь какими-то инструментами, то они тоже должны быть в проекте. Такой проект вы можете перенести куда угодно и он будет работать. И не надо будет объяснять что для работы нужны такие-то инструменты и лежат они должны там-то и там-то.
Но скрипты относящиеся к проекту - это небольшие инструменты, и скорее всего они только для этого проекта и нужны. А как быть с софтом и прочими более универсальными инструментами, нужными на всех проектах. Не держать же версию Maya, Houdini, Nuke в проекте. А хорошо бы иметь проект со всему нужными софтами, да ещё и в настроенном состоянии. Мы постоянно переходим на более новые версии, старые инструменты устаревают. И через год вы откроете старую сцену (а может и не старую, проект может длиться и дольше) а там уже ничего не работает. Не хватает каких-то скриптов, новые плагины работают немного не так, а старые уже не совместимы. Наверняка ещё многие сталкивались с тем, что вы на новом проекте хотите перейти на новую версию Maya, Houdini или Nuke. А другие ваши товарищи говорят, что ещё долго будут сдавать старый проект, во всю его на считают на ферме, не надо на рендера ставить новый Nuke или RenderMan, сцена может как-нибудь по-другому отрендериться, не до нового Nuke им сейчас. А это не редкость, что в новом софте старую сцену надо немного поправить. Знакомая ситуация?
А у многих на десктопе ярлычки и от 4 и 5 Nuke, от 2008, 2009 и 2010 Maya, от 9, 9.5 и 10 Houdini? Можно же на одном компьютере держать разные версии одной программы. А что если такие ярлычки для разных версий держать в самих проектах? И всё, этот проект ещё на 4-ом Nuke, а более новый уже на 5-ом. И ни каких конфликтов. Осталось только рендерам на ферме объяснить какой ярлычок запустить. А для этого просто пользуемся рабочим каталогом. Т.е. тоже просим рендер не просто запустить Nuke, а зайти в нужную папку и там запустить Nuke.
Рабочий каталог - Working Directory - папка в которой находится процесс. В любой OS у любой запущенной программы (процесса (в общем случае у программы может быть не один процесс)) есть такое понятие, и по-молчанию рабочий каталог - это папка откуда запустили приложение. Любой путь может быть относительным. Тогда приложение будет искать файл относительно своего рабочего каталога. Процесс может изменить свой рабочий каталог. Но нам сейчас это не нужно.
Часто вы брали откуда-нибудь "чужие" сцены? Из другой конторы, или модели с текстурами из интернета? Скорее всего, сразу они не работали. А ваша программа писала сообщения, что не может открыть файл "\\server\projects\island\textures\train\roof.tif" или "Z:\Textures\train\roof.tif". Но ни диска Z ни компьютера server у вас нету. Такое также может случиться и с вашими сценами после переименования компьютеров, перемещения проекта, восстановления старого проекта и т.п.
Так не проще сделать подпроект train в котором будет папка textures. А программы запускать из этой самой папки train. Заодно и правильная версия софта запустится. В сцене с поездом все пути к текстурам будут начинаться просто с textures, например "textures/roof.tif". Тогда где бы этот поезд не оказался он всегда будет работать. Может он вам же в будущем ещё пригодится в других проектах. Вот это и будет "настоящий" asset поезда.
В Афанасии у задач указывается рабочий каталог. А по-умолчанию он берёт текущий во время создания задачи (в конструкторе job-ы). Примеры у CGRU также основаны на asset-ах - запуск софта из определённого места, использование относительных путей.
|