Скрипт Collect Asset

Автор
Сообщение
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев

Решил создать тему по своему скрипту Collect Asset. Качать тут

Пишите в тему, если найдете ошибки, или знаете, как его улучшить, или можете что-то подсказать. Или если что-то не понятно.

Скрипт предназначен для сбора всех текстур и других используемых в сцене файлов в одну папку. Имеется проверка на совпадение имен файлов.

Скрипт видит специфические карты (например VRayBMPFilter, Camera_Map_Per_Pixel). Так же скрипт обрабатывает тектуры в XRef файлах.

Описание работы:

Вверху статусная строка. Показывает сколько карт с полными путями (Ok), сколько фалов найдено по другому пути (Found), и сколько файлов не найдено (Missing).

Path to seek textures - позволяет выбрать папку для дополнительного поиска текстур

Кнопка Seek - совершает поиск потерянных текстур в папке для поиска. Подпапки не учитываются.

Resolve path - прописывает всем найденным картам полный путь, по которому их нашел 3ds max.

Del Missing Paths - удаляет потерянные текстуры.

Selected Directory - Путь для сбора всех текстур.

Collect Files - собтвенно кнопка для начала сбора. Если стоит галка "and relink..." - то в сцене пропишутся пути к новому месту (не забудте сохранить сцену после этой операции). Если поставить галку "from selected objects", то текстуры соберуться только с выделенных обьектов. Собираются только используемые в сцене текстуры. Если в мат.эдиторе есть не назначенные материалы, текстуры с них не будут обработаны.

При копировании производится проверка на одинаковые имена файлов. Если в папке сбора уже существует файл и размер у него отличается от копируемого, то выдается окно сравнения текстур и выбора действия, что с ними делать. Можно заменить, использовать существующую или переименовать.

Set Path - Назначет всем текстурам путь к указанной директории. Это полезно, когда перенесли сцену с текстурами в другую папку или другой компьютер, и нужно переназначить пути к текстурам, что-бы компьютер их все время не искал (при том что компьютер может найти не правильную текстуру в другом месте).

Rename Russian - Заменяет русские символы английскими в именах файлов. Новые файлы складывает в указанную директорию и прописывает к ним пути в сцене.

Make Archive - Создает архив сцены с текстурами в формате 7zip или zip. Текстуры помещает в папку maps.

Скрипт с открытым кодом. Если кому интересно - может покопаться в нем. Или изменить под свои нужды.

Для установки в 3ds max выберите меню Scripting -> Run Script... и выберите скачанный файл. После этого зайдите в меню Customize -> Customize user interface -> Toolbars. Category: # Scripts. Перетащите скрипт на любую панель в удобное для вас место.

Для обновления проведите установку новой версии и она заменит старую.

Версия v2.099c
- Новый инсталлер, теперь можно не только установить / обновить, но и удалить скрипт
- Добавлены новые классы для ассетов
- Можно выбрать версию макс файла при создании архива
- В настройках можно выбрать тип архива по умолчанию
- При запуске не сканирует ассеты сразу. Нужно нажать кнопку Refresh. Можно изменить в настройках.
- При создании архива для выделенных объектов скрипт в новом файле сбрасывает настройки рендера, чистит matedit, удаляет бэкграунд в окружении.
- устранены некоторые баги

Версия v2.098

- Добавил опцию исключения Xref файлов при коллекте ассетов

Версия v2.092

- Добавлено еще несколько классов (Corona LUT, Forest Pack...)

- Добавлена кнопка "Del RE Paths" которая очищает пути в рендер элементах.

Версия v2.09

- Поддержка Final Render

- Исправлены проблемы с Redshift

- Добавлен класс BitmapHDR

- Добавлена кнопка "Strip paths"

- Исправлены некоторые ошибки

Версия v2.08

- Добавлена поддержка FStorm и Redshift

Версия v2.07

- Исправил ошибку в обработке источников света. Теперь скрипт их обрабатывает намного быстрее.

- Исправил еще некоторые ошибки

Версия v2.05

- Добавлена функция поиска текстур в указанной папке

Версия v2.04

- поддержка Octane Render

- собирает сиквенцию из ifl фалов

- собирает point cache

- теперь проверяет файлы с одинаковыми именами не по размеру, а по чексуму

- быстрее проводит повторное сканирование файлов после выполнения операций

- можно автоматически повторять операции сравнения одинаковых файлов

- теперь есть лог файл и окно логов операций

- изменилось окно выбора папки

- исправлены ошибки

Создал версию 2. Полностью переписал скрипт и изменил метод работы с файлами. Ушел от максовского Aseet Tracking. Теперь скрипт работает в некоторых моментах быстрее, но главное должен работать надежнее. Пока что интерфейс и функционал остался прежним.

- Видит карты VRayBMPFilter, Camera_Map_Per_Pixel, CoronaBitmap

- Обрабатывает Xref файлы и ссылки внутри них

- Добавлена функция переименования русских символов

p.s. Пожалуйста, отписывайтесь об ошибках. Не молчите, если что-то не работает, или работает не так как нужно. Это важно. Я не всегда могу все протестировать в одиночку.

Вы можете отблагодарить меня за скрипт материально, если желаете.

На сайте c 26.09.2010
Сообщений: 160
Отличный скрипт и спасибо за него) Использую практически с первой версии, сейчас стоит 1,53. Единственное не срабатывает Del Missing Paths на vrayHDRI, остальное удаляет. По всему остальному без нареканий, работает отлично. 
Цитата xiruim:
Так же скрипт не обрабатывает тектуры в XRef файлах, их нужно открывать отдельно.

Пока нет возможности попробовать, с контейнерами тоже не будет работать?
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата voc:
с контейнерами тоже не будет работать?

Не пробовал. Надо будет проверить.

На сайте c 21.01.2013
Сообщений: 301
Poland, Krakow

А планируется ли функция поиска текстур ( и другого контента сцены ) по папкам ( + вложенным иерархиям папок ) ? Это было бы золотая примочка, готов финансово поддержать проект, можете связаться со мной по skype

Мой скайп : dima.terodesign

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата terodesign:
А планируется ли функция поиска текстур ( и другого контента сцены ) по папкам ( + вложенным иерархиям папок )

Да. Есть в планах такое сделать. Если ничего не отвлечет - наверно начну на днях делать.

На сайте c 21.01.2013
Сообщений: 301
Poland, Krakow
Очень ждем обновлений. Спасибо
На сайте c 22.11.2006
Сообщений: 2037
Откуда ни возьмись...

xiruim

Прикрутите к этому скрипту свою переименовалку кириллических текстур, будет гораздо удобнее я считаю одним инструментом все делать. Но это конечно Вам решать )))

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев

Цитата Prog:

xiruim

Прикрутите к этому скрипту свою переименовалку кириллических текстур, будет гораздо удобнее я считаю одним инструментом все делать. Но это конечно Вам решать )))

Я не думаю, что это популярная функция. Но да, можно добавить.

Обновил скрипт. Добавил переименование русских символов, как и просили.

Пишите, если обнаружите ошибки в скрипте.

На сайте c 19.02.2012
Сообщений: 762
Московская область
Незаменимый скрипт!!! Спасибо Антон)
На сайте c 05.01.2012
Сообщений: 734
Бетонный артефакт

Спасибо за скрипт. Попытался собрать текстуры с выбранных объектов в папку с сетевым адресом и

 появилось окошко с сообщением "Directory not writeable", а после - вот это:

930149408b803caf4cb0205f928f1514.jpg

проверил: папка источник с галочкой "только для чтения", внутри нее файлы без атрибутов.

"Collect all assets..." подразумевает копирование или перемещение из источника?

И еще допишу:

тыцнул кнопочку "мэйк архив", появилось окно выбора директории (куда) , передумал, нажал отмену, наблюдаю:

1) окошко с сообщением "оперейшн абортед" - ОК

2) окошко со словом ерор, а именно:

8661ac06f1f94ad64771ef869e3d9aec.jpg

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Hold_on:
Попытался собрать текстуры с выбранных объектов в папку с сетевым адресом и появилось окошко с сообщением "Directory not writeable",  проверил: папка источник с галочкой "только для чтения", внутри нее файлы без атрибутов. "Collect all assets..." подразумевает копирование или перемещение из источника?

Скрипт только копирует. Ничего не перемещает и не удаляет.

На счет сетевой папки - сейчас проверил, все нормально копирует. И попробовал атрибуты у источника поменять на "только для чтения" - тоже все впорядке. Может у вас действительно сетевая папка не доступна для записи? Ну а то что потом скрипт вываливается - это надо доработать, спасибо что нашли баг.

Цитата Hold_on:
тыцнул кнопочку "мэйк архив", появилось окно выбора директории (куда) , передумал, нажал отмену, наблюдаю:

ну да. лишнее окошко с ошибкой после отмены операции. Зато скрипт не вывалился тут :)

Буду править эти баги

На сайте c 04.01.2013
Сообщений: 4
как скачать?
На сайте c 14.06.2012
Сообщений: 2845

Скрипт очень замечательный. Все текстуры храню на сервере и сохраняю туда прокси и тт.д... Иногда скрипт глючит если сразу на все кнопки не нажимать:-).

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

Зы похожих окон белых не встречал. Только долгое зависание, но путь к исправлению описал выше.

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев

Работаю сейчас над второй версией скрипта. Переписал полностью алгоритм. Отвязываю его от максовского Asset Tracking. Теперь поиск ссылок на файлы будет по их классам, что дает возможность учитывает даже те файлы, которые не видят стандартные утилиты. И надеюсь будет работать стабильнее, хотя и не быстрее.

Из-за работы над новой версией пока не дорабатываю старую. Надеюсь новая версия заменит старую. но надо будет еще потестировать

13.08.2015

Выложил первый релиз версии 2. Смотрите в шапке.

Полностью обновил алгоритм работы скрипта.

Только закончил тестирование. Прошу попробовать, потестировать и сообщать, если что-то не так.

Версия 2 не обновляет старые версии, а устанавливается как новый скрипт, так что надо снова вытащить кнопку на панель.

На сайте c 08.02.2013
Сообщений: 74
Тамбовская область

2c865b3e575275b7501e4e300e82f79e.png

ошибка выскочила при первом запуске. 3ds max 2012, рендер - Corona

в матах используются corona bitmap

версия скрипта 2,03

А версия 1,55 только что все нормально собрал, за что огромное спасибо))) максовский коллектор вообще ничего не смог собрать

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев

NeverExisted

Спасибо что нашли ошибку. Было бы хорошо, если бы вы могли дать вашу сцену, чтоб я мог получить эту ошибку у себя. Можете выложить на dropmefiles.com к примеру и дать ссылку в личку. Я постоянно пользуюсь скриптом и пока не выдавало ошибки такой.

На сайте c 08.02.2013
Сообщений: 74
Тамбовская область
хорошо, залью по мере возможности
На сайте c 14.06.2012
Сообщений: 15462
Москва
Цитата terodesign:

А планируется ли функция поиска текстур ( и другого контента сцены ) по папкам ( + вложенным иерархиям папок ) ? Это было бы золотая примочка, готов финансово поддержать проект, можете связаться со мной по skype

Мой скайп : dima.terodesign

Это делает бесплатный скрипт Relink Bitmaps. Он даже умеет выделять объект, если на него не нашлась текстура, чтобы руками её поставить.

На сайте c 24.05.2009
Сообщений: 91
От Верблюда

665508a088439503a882fa083a600280.jpg

Здравствуйте, хочу поблагодарить за столь замечательный скрипт и внести предложение по улучшению скрипта:

Как я понимаю, скрипт собирает все карты, которые находятся в сцене и в редакторе материалов, даже те, которые не назначены на объекты в сцене (см. прикреплённое изображение).

Это хорошо, но не во всех ситуациях.

Чаще требуется собрать карты которые применены к объектам, кроме тех, неприменённых, что находятся (по какой-то причине) в редакторе материалов.

Вариант "only from selected objects" работает, но далеко не всегда удобен, так как могут в сцене находиться многочисленные скрытые объекты, с которых тоже нужны карты.

Не могли бы вы добавить дополнительную функцию, которая бы собирала только карты, применённые в сцене?

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата varalis:
Не могли бы вы добавить дополнительную функцию, которая бы собирала только карты, применённые в сцене?

Да. Знаю это, и я поправлю. Но вот как скоро, обещять не могу.

Читают эту тему: SandalFone