Скрипт 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 24.05.2009
Сообщений: 91
От Верблюда
Цитата xiruim:
Да. Знаю это, и я поправлю. Но вот как скоро, обещять не могу.

Хорошо, благодарю за ответ - будем ждать.

На сайте c 20.10.2008
Сообщений: 45
Москва
Цитата varalis:

665508a088439503a882fa083a600280.jpg

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

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

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

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

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

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

Вечер добрый! А что вам мешает перед сбором текстур ресетнуть все материалы в редакторе? (reset material editor slots)

xiruim: Огромнейшее спасибо Вам за скрипт! Очень удобен и полезен, особенно функция переименования кириллических имен.

На сайте c 24.05.2009
Сообщений: 91
От Верблюда
Цитата liga3d:
Вечер добрый! А что вам мешает перед сбором текстур ресетнуть все материалы в редакторе? (reset material editor slots)

К сожалению данная команда доступна только для "Compact Material Editor", а для "Slate Material Editor" надо действовать так: Очистить перед сбором карт вид (Edit -> Clear View). А в случае, если вдруг нужно будет восстановить материалы присутствующие в сцене (Material -> Get All Scene Materials).

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

На сайте c 26.07.2008
Сообщений: 3966
Москва

xiruim использовал в сцене секвенции битмап файлов, коллект ассет вроде подхватывает только файлы IFL, но не подхватывает битмапы, входящию в секвенцию.

d0aa3b1cfbd653bfb796ac0e59ca7e02.jpg

что-то не верится, что текстуры упаковались в 48 байт

если вручную добавить в архив все исходники секвенции, то работает

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

Uraken

Хорошее замечание. Сейчас попытаюсь разобраться

На сайте c 18.08.2015
Сообщений: 4
Россия
Добрый день! У меня скрипт сработал отлично, ничего не потерялось ни ес, ни текстуры ни карты. Спасибо большое! И чистит от потеряных текстур отлично! Еще раз спасибо!
На сайте c 07.09.2010
Сообщений: 1
Спасибо! Слов нет, скрипт супер.
На сайте c 19.08.2014
Сообщений: 49

Спасибо за скрипт. А нельзя ли добавить галочку, чтобы скрипт "цеплял" hdri карту?

P.S. Collect asset, работает замечательно. Ресурс коллектор (стандартный максовский) при сохранении файла провисал  всю систему.

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата alenkey:
А нельзя ли добавить галочку, чтобы скрипт "цеплял" hdri карту?

не понял какую карту он не цепляет? Где она у вас назначена?

На сайте c 19.08.2014
Сообщений: 49
xiruim Hdri используется для освещения в свитке "Enviroments and Effects" - (цифра 8 на клавиатуре)
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата alenkey:
xiruim Hdri используется для освещения в свитке "Enviroments and Effects" - (цифра 8 на клавиатуре)

он ее должен собирать тоже, разве он ее не видит?

На сайте c 19.08.2014
Сообщений: 49
Цитата xiruim:
Цитата alenkey:
xiruim Hdri используется для освещения в свитке "Enviroments and Effects" - (цифра 8 на клавиатуре)

он ее должен собирать тоже, разве он ее не видит?

Все супер, подхватывает hdri. В предыдущем проекте оказывается, было просто короновское небо. Еще раз спасибо!

На сайте c 07.03.2013
Сообщений: 11

НАИОГРОМНЕЙШЕЕ СПАСИБО!!!

Жить стало легче) Жить стало веселей!)))smiley-good.gif

На сайте c 07.10.2013
Сообщений: 47
Москва
Извините, у меня совсем идиотский вопрос новичка. А как его включить? Мне добрые люди установили его, сделали для него специальную комбинацию клавиш, но она не работает. Как его можно вызвать? Извините за глупый вопрос совсем.
На сайте c 27.03.2008
Сообщений: 706
Цитата xiruim:

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

Для обновления просто перетащите скачанный файл в любое окно проекций 3ds max.

На сайте c 03.12.2008
Сообщений: 517
DELETED
Отличный скрипт! Благодарю! Но почему-то с октан рендером не работает =) Не подвхатывает текстуры с материалов =(
На сайте c 08.02.2009
Сообщений: 735
Чебоксары

СПАСИБО БОЛЬШОЕ!!!! Очень хороший скрипт! Кучу времени сэкономил!!! От всей души СПАСИБО!!! smiley-good.gif

И вот предложение еще )) Когда скрипт не находит текстуры - то он их показывает в "list of assets", было-бы МЕГА круто, если-б от туда можно было выделить объект с отсутствующей текстурой.

Очень полезно знать, на каком объекте не найдена текстура, чтобы решить что с ним сделать... ))

Спасибо еще раз ОГРОМНОЕ!!!

На сайте c 16.05.2009
Сообщений: 573
Киев

Большое спасибо за скрипт!

У меня небольшое предложение. Я часто переименовываю файлы текстур, так как часто имя файлов 1.jpg и т.п. Можно ли как то сделать переименование файлов с добавлением в имени файлов текстур префикса? Если посчитаете что стоит подобную функцию добавить, буду очень признателен)

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата metalman:
было-бы МЕГА круто, если-б от туда можно было выделить объект с отсутствующей текстурой.

Да. Это есть в планах, но пока в довольно далеких

Цитата semeniy:
Можно ли как то сделать переименование файлов с добавлением в имени файлов текстур префикса?

теоретически конечно можно добавить функцию переименования. Но не буду обещать, когда я это сделаю. Кстати такие скрипты мне встречались. Можете поискать на scriptspot

На сайте c 16.05.2009
Сообщений: 573
Киев
Спасибо. Нашел подходящий скрипт.
Читают эту тему: