Скрипт Collect Asset

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

Решил создать тему по своему скрипту 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 20.05.2008
Сообщений: 333
Просто снимаю шляпу! Сделал лучше чем автостол со своими +1000500 сотрудниками! Нашел все текстуры и собрал все в одну папку. Это не удавалось проделать с помощью встроенной утилиты и архивного сохранения в 3 ds max. Автостол деградирует!
На сайте c 08.12.2009
Сообщений: 632
Воронеж
Цитата retdot:
Просто снимаю шляпу! Сделал лучше чем автостол со своими +1000500 сотрудниками! Нашел все текстуры и собрал все в одну папку. Это не удавалось проделать с помощью встроенной утилиты и архивного сохранения в 3 ds max. Автостол деградирует!

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

На сайте c 01.06.2014
Сообщений: 21
У меня в офисе несколько компьютеров. На компах, где стоят процессоры от Intel (i9 и станция на 2 зеонах) скрипт работает довольно быстро, но на компьютере на Ryzen Threadripper 2990 он ищет текстуры и делает Resolve paths в несколько раз дольше и иногда приходится ждать по пол часа и больше. С чем это может быть связано?
На сайте c 16.12.2012
Сообщений: 196
Moscow
Цитата Arbitr27:
он ищет текстуры и делает Resolve paths в несколько раз дольше и иногда приходится ждать по пол часа и больше.

Кстати да, в офисе на компах очень долго запускается, и каждое действие 5-10 мин. я думала это из за путей на сервер

На сайте c 10.07.2008
Сообщений: 1694
Украина, Киев
У меня нет ответов на эти вопросы. может быть и сетевые пути виноваты. Есть ли разница в скорости отработки стандартного Asset Tracking на разных компьютерах?
На сайте c 16.12.2012
Сообщений: 196
Moscow
На том же компьютере но при локальных путях все работает отлично
Репутация: 0
На сайте c 09.01.2019
Сообщений: 2

xiruim, здравствуйте! Устанавливаю ваш замечательный скрипт, так как нужно передать мой файл смежникам, со всеми текстурами. Родной максовский почему то не срабатывает. Может из за Короны конечно. Ставлю с сайта scriptspot.com. Работает он отлично. Но когда я после установки скрита открываю даже пустую максовскую сцену, выходят таблички и макс ругается на ошибки скрипта и короны. Закрываю все таблички, все работает без проблем. Надоело, закрывать таблички - удаляю скрипт. Макс перестает ругаться. Ставлю снова, все таблички вернулись, выдает ошибки. И тут замечаю в нижнем левом углу, там где окно загрузки скриптов, какие то красные символы, пока грузится макс. Доходит до меня - это же вирус. Ставлю антивирус с оф.сайта - все проблема решена. Но думаю вы должны об этом знать. Может конечно кто то уже писал об этом. Времени читать посты нет.

Спасибо, вам за ваш труд!

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

xiruim, здравствуйте! Устанавливаю ваш замечательный скрипт, так как нужно передать мой файл смежникам, со всеми текстурами. Родной максовский почему то не срабатывает. Может из за Короны конечно. Ставлю с сайта scriptspot.com. Работает он отлично. Но когда я после установки скрита открываю даже пустую максовскую сцену, выходят таблички и макс ругается на ошибки скрипта и короны. Закрываю все таблички, все работает без проблем. Надоело, закрывать таблички - удаляю скрипт. Макс перестает ругаться. Ставлю снова, все таблички вернулись, выдает ошибки. И тут замечаю в нижнем левом углу, там где окно загрузки скриптов, какие то красные символы, пока грузится макс. Доходит до меня - это же вирус. Ставлю антивирус с оф.сайта - все проблема решена. Но думаю вы должны об этом знать. Может конечно кто то уже писал об этом. Времени читать посты нет.

Спасибо, вам за ваш труд!

Вы думаете мой скрипт виноват? Вы его правильно ставите? Его не нужно копировать в автозагрузку. Просто запустить один раз скачанный файл и он сам скопирует все файлы куда нужно.
Репутация: 0
На сайте c 09.01.2019
Сообщений: 2
Я не знаю, на счет того кто виноват почему так происходит. Я просто открываю сцену и перетаскиваю скачанный файл в пустую сцену. Скрипт запускается, назначаю ему кнопку, все работает. А дальше как выше описано. Макс и корона лицензионные.
На сайте c 08.05.2009
Сообщений: 870
Цитата kot_Mixa:
Макс и корона лицензионные.

Вот где собака порылась!)))

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

kot_Mixa

Покажите что за таблички выскакивают с ошибками.

Репутация: 0
На сайте c 10.09.2018
Сообщений: 3
Киев
То ли у меня одного такое, то ли нет, но ссылка недоступна. "Site offline"
На сайте c 08.12.2009
Сообщений: 10

Хороший скрипт, лучше стандартной приблуды, жаль не коллектит опасити в материале Redshift Sprite (2,548)

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

Хороший скрипт, лучше стандартной приблуды, жаль не коллектит опасити в материале Redshift Sprite (2,548)

Так не молчите. Пишите. Я буду добавлять новые классы. Мне же в одиночку трудно отслеживать нововведения. Киньте в личку тестовую сценку с этим материалом. Я попробую оперативно добавить.

На сайте c 14.05.2017
Сообщений: 1
Добрый день! Большое спасибо за отличный скрипт, очень облегчает жизнь. Но у меня (и не только, насколько знаю) часто возникает такая ситуация -периодически вылазит ошибка при коллекте. Обычно это сопровождается тем, что скрипт не распознает, что ему надо сколлектить текстуры. Эта проблема всегда решается следующим образом: через несколько мерджей "подтягивает" потерянные текстуры и уже коллектит, либо после перезагрузки сцены. Возможно можете подсказать причину такой ситуации? Скрипт качала с scriptspot.com, и такая ситуация наблюдалась в разных максах и с разными версиями скриптов. Заранее спасибо за ответ.

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

astartagrey

Спасибо что нашли ошибку. Похоже он не находит путь к файлу в этом блоке программы. Буду разбираться.

На сайте c 20.09.2012
Сообщений: 4
Скрипт супер! но в последних версиях почему то размножает текстуры - сохраняет по отдельности все карты с добавлением номера, если там одна и таже текстура. И было бы неплохо, чтоб по умолчанию все собиралось в maps, а внутренняя структура maps не менялась. Т.Е. если там есть папки для мультитекстур, то чтоб они так и оставались папками после коллекта. И при переименовании кириллических текстур - было бы хорошо сделать автоудаление кириллической (ну и попутно чтоб сами маты тоже латинизировались).
На сайте c 10.07.2008
Сообщений: 1694
Украина, Киев
Цитата Niiik27:
но в последних версиях почему то размножает текстуры - сохраняет по отдельности все карты с добавлением номера, если там одна и таже текстура.

кажется я понял о чем вы. При переименовании кирилицы если новое имя файла уже существует, я просто добавляю "1" к имени файла. Постараюсь добавить проверку на идентичность файлов в этом месте, чтоб не множить лишние файлы.

--- upd

Работаю сейчас над новым релизом скрипта и это дело что-то затягивается. Выложу сюда бета версию.

https://www.dropbox.com/s/5jvqrb44u1mr28d/collect_asset_v2.099b.mzp?dl=0 

Что сделано:

- новый установщик. Скрипт теперь ставится в категорию xiruim. Старый скрипт удаляется. Нужно будет заново его вытащить на панель.- обновленный дизайн (спасибо пользователям на scriptspot)

- можно выбрать язык подсказок в настройках- добавлена подпапка к основному пути коллекта

- убрал создание лишних файлов при переименовании русских символов (спасибо Niiik27 за указание на ошибку)

- Добавил класс Redshift Sprite (спасибо Qwa7)

- Добавил проверки для исключения ошибок в функции сравнения файлов (спасибо astartagrey)

Над чем сейчас работаю:

- Работаю над секцией архивирования. Хочу сделать новый алгоритм без копирования всех файлов в отдельную папку, что сократит время создания архива.

- Так же в планах добавить выбор версии макса при создании архива

Протестируйте пожалуйста новую версию. Спасибо что пишите об ошибках и предложениях.

На сайте c 26.11.2008
Сообщений: 26
Екатеринбург
Скрипт супер, спасибо большое, но очень нужна функция выбора версии при создании архива, а то работаю в 2020, и сейчас нужно около 300 моделей сохранить по отдельности, но в 2017 версии, приходится в ручную потом открывать каждый архив и пересохранять, сделаете очень большое дело если избавите от этого геморроя :)
На сайте c 08.02.2018
Сообщений: 1543
:адуктО
Цитата xiruim:
Хочу сделать новый алгоритм без копирования всех файлов в отдельную папку, что сократит время создания архива.

а разве не в том и был смысл чтобы все текстуры (и прокси?) разбросанные по папкам собрать в одну? И что там такое по времени? не полчаса же собирает? 

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