Скрипт Collect Asset

Автор
Сообщение
Возраст: 41
Пол: М
На сайте c: 10.07.2008
Сообщения: 1646
Откуда: Украина, Киев

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

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

ed7cad9fe80a53f466b82beff8c986fe.jpg

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

Скрипт видит специфические карты (например 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.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
Сообщения: 157
Откуда:
Отличный скрипт и спасибо за него) Использую практически с первой версии, сейчас стоит 1,53. Единственное не срабатывает Del Missing Paths на vrayHDRI, остальное удаляет. По всему остальному без нареканий, работает отлично. 
Цитата xiruim:
Так же скрипт не обрабатывает тектуры в XRef файлах, их нужно открывать отдельно.

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

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

Возраст: 34
Пол: М
На сайте c: 21.01.2013
Сообщения: 308
Откуда: Poland, Krakow

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

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

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

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

Возраст: 34
Пол: М
На сайте c: 21.01.2013
Сообщения: 308
Откуда: Poland, Krakow
Очень ждем обновлений. Спасибо
Возраст: 43
Пол: М
На сайте c: 22.11.2006
Сообщения: 2038
Откуда: Откуда ни возьмись...

xiruim

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

Возраст: 41
Пол: М
На сайте c: 10.07.2008
Сообщения: 1646
Откуда: Украина, Киев

Цитата Prog:

xiruim

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

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

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

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

Возраст: 37
Пол: М
На сайте c: 19.02.2012
Сообщения: 687
Откуда: Московская область
Nightt:
флейм
Действует до:
18.05.2021 00:00:00
Незаменимый скрипт!!! Спасибо Антон)
Возраст:
Пол: М
На сайте c: 05.01.2012
Сообщения: 734
Откуда: Бетонный артефакт

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

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

930149408b803caf4cb0205f928f1514.jpg

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

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

И еще допишу:

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

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

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

8661ac06f1f94ad64771ef869e3d9aec.jpg

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

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

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

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

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

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

Возраст:
Пол: М
На сайте c: 04.01.2013
Сообщения: 4
Откуда:
как скачать?
Возраст: 46
Пол: М
На сайте c: 14.06.2012
Сообщения: 2482
Откуда: Киев

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

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

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

Возраст: 41
Пол: М
На сайте c: 10.07.2008
Сообщения: 1646
Откуда: Украина, Киев

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

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

13.08.2015

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

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

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

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

Возраст: 32
Пол: М
На сайте c: 08.02.2013
Сообщения: 60
Откуда: Тамбовская область

2c865b3e575275b7501e4e300e82f79e.png

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

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

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

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

Возраст: 41
Пол: М
На сайте c: 10.07.2008
Сообщения: 1646
Откуда: Украина, Киев

NeverExisted

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

Возраст: 32
Пол: М
На сайте c: 08.02.2013
Сообщения: 60
Откуда: Тамбовская область
хорошо, залью по мере возможности
Возраст: 39
Пол: М
На сайте c: 14.06.2012
Сообщения: 11457
Откуда: Москва
Цитата terodesign:

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

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

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

Возраст:
Пол: М
На сайте c: 24.05.2009
Сообщения: 91
Откуда: От Верблюда

665508a088439503a882fa083a600280.jpg

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

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

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

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

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

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

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

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

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