Скрипт 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 25.11.2008
Сообщений: 155
Москва

3aa0640891d573068c22ab8e9bd493e4.png  Интересно с чем может быть связана эта ошибка? В каких то файлах все нормально, а некоторые отказывается архивировать!

На сайте c 10.07.2008
Сообщений: 1694
Украина, Киев
Цитата Andreich670:
Интересно с чем может быть связана эта ошибка? В каких то файлах все нормально, а некоторые отказывается архивировать!

а места на диске с папкой temp у вас достаточно? Потому что алгоритм такой - сначала он копирует все во временную папку, а потом ее архивирует.

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

Цитата dontpiter:
А зачем всё это? Разве команды Archive недостаточно?

 Командой archive нельзя архивировать допустим только выделенный обьект со всеми текстурами. И перед архивированием  скрипт собирает все текстуры в одну папку map, очень удобно.

Цитата xiruim:
Цитата Andreich670:
Интересно с чем может быть связана эта ошибка? В каких то файлах все нормально, а некоторые отказывается архивировать!

а места на диске с папкой temp у вас достаточно? Потому что алгоритм такой - сначала он копирует все во временную папку, а потом ее архивирует.

Ну если это виндовский темп , то там 300 гб места на диске , вряд ли в этом причина. И другие то сцены скрипт архивирует нормально, просто есть несколько сцен где скрипт ругается.

На сайте c 16.02.2009
Сообщений: 165
Севастополь
О! Увидел тему и решил написать...Давно пользуюсь плагином, очень хороший, но есть неудобные моменты при указании папки. Я, допустим, на рабочем столе создаю ярлык, чтобы быстро добраться до проекта. При указании папки я бы через этот ярлык быстро оказался бы в папке проекта, а так мне раз десять приходится щёлкнуть, чтоб указать папку. Может можно как-то прикрутить другой интерфейс??? Сейчас вот так 

0943c74f08af6762aa00297f291e426f.jpg

Если мы щёлкнем на ярлык "Рабочий стол", то ничего не произойдёт. Было бы лучше если бы вот так

cc904467d9df0a1288b33be8ac66bcf1.jpg

Или вот так..как в максе

4d7668c97c3477d84cd49f96685d8a85.jpg

Надеюсь я понятно изложил))) Повторюсь....Плагин Крут!!!!

На сайте c 10.07.2008
Сообщений: 1694
Украина, Киев
Цитата viiik33:
чтобы быстро добраться до проекта.

так там сразу же по умолчанию уже забит путь где сцена сохранена. Он пустой, только если это новый не сохраненный файл. Так что обычно никуда лазить не нужно.

Окно выбора папок стандартное максовское используется. Даже не знаю можно ли другой проводник туда прикрутить. Это нужно покопаться.

На сайте c 16.02.2009
Сообщений: 165
Севастополь

Я так делаю ( создаю новый файл и мержу туда объект), чтоб он взял текстуры только для выбранного объекта ( на 3ddd выкладываешь модель ). О! А может эту функцию ввести в плагин??? Упаковать текстуры в папку для выбранного объекта?! А вот так можно????

На сайте c 10.07.2008
Сообщений: 1694
Украина, Киев
Цитата viiik33:
Упаковать текстуры в папку для выбранного объекта?!

а разве сейчас эта функция в скрипте работает не правильно?

галочка "only from selected objects"

На сайте c 16.02.2009
Сообщений: 165
Севастополь
Только когда озвучил увидел)))
На сайте c 25.11.2008
Сообщений: 155
Москва
Цитата dontpiter:
Цитата Andreich670:

Цитата dontpiter:
А зачем всё это? Разве команды Archive недостаточно?

 Командой archive нельзя архивировать допустим только выделенный обьект со всеми текстурами. И перед архивированием  скрипт собирает все текстуры в одну папку map, очень удобно.

Отдельно объект можно экспортировать вместе с текстурами командой Export selected

 Как это сделать?  В каком формате? Куда текстуры сохранятся? Научите, думаю многим будет полезно. У меня экспортируется только файл, без текстур.

На сайте c 16.03.2016
Сообщений: 2149
Москва
Цитата Andreich670:
Цитата dontpiter:
Цитата Andreich670:

Цитата dontpiter:
А зачем всё это? Разве команды Archive недостаточно?

 Командой archive нельзя архивировать допустим только выделенный обьект со всеми текстурами. И перед архивированием  скрипт собирает все текстуры в одну папку map, очень удобно.

Отдельно объект можно экспортировать вместе с текстурами командой Export selected

 Как это сделать?  В каком формате? Куда текстуры сохранятся? Научите, думаю многим будет полезно. У меня экспортируется только файл, без текстур.

https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/3DSMax/files/GUID-845EB927-AD0B-49EE-9904-D673DEF9603E-htm.html 

Сохраняете объект в obj в настройках жмёте кнопку Map-Export, там указываете путь, разрешение и пр.

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

Подскажите,есть ли такой плагин, чтобы сам текстуры находил на компе?

Например, я не создаю под каждый проект папку с текстурами,это отнимает место на диске, у меня они в  отдельных папках с моделями и по категориям дерево,обои итд, но иногда все вдруг теряется, нужно снова прописывать путь...(

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

azalia

http://www.scriptspot.com/3ds-max/scripts/relink-bitmaps  

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

Благодарю!)

На сайте c 02.12.2016
Сообщений: 28
Киев
EARLDK:


Пожизненный бан

http://3dlancer.net/ru/lessons/3d-max/utilita-sbora-fajjlov-sceny-3dmax---resource-collector-65 стандар что собират все в одну папку...

На сайте c 20.09.2006
Сообщений: 6985
Kiev

proart12

нужного он ничего не собирает....

На сайте c 31.01.2008
Сообщений: 268
Chelyabinsk

Привет! В процессе работы обнаружил баг или это у меня что-то не работает.. обычно архивом пользовался))

В общем делаю следующие действия:

Выделяю нужный объект(ы), указываю путь, ставлю три чека и жму коллект

9b58aac5c1cccc4b248b5832d1f784d6.jpg

Появляется окно сохранения нового макс файла. 

525cb6f2b0156a0cf16cfea2891e5a65.jpg

Вввожу новое имя, жму сохранить и выскакивает это

d041fac929620242fdfb57839e00dc39.jpg

В итоге работа ассета заканчивается и нужных действий не происходит smiley-sad.gif

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

Faster

Спасибо. Попробую разобраться.

Цитата Faster:
Вввожу новое имя, жму сохранить и выскакивает это d041fac929620242fdfb57839e00dc39.jpg

Строка с ошибкой должна выглядеть так:

saveNodes selection filename

Нужно исправить, сохранить изменения, перезагрузить 3д макс.

Спасибо за то что отписываетесь про ошибки

----

Я наконец-то обновил скрипт!

Спасибо всем, кто помогал выявлять в нем ошибки и вносил предложения. Что-то я уже сделал, а что-то еще у меня записано для добавления в будущем.

Пробуйте и отписывайтесь. Я еще не успел его хорошо протестировать, так что если будете находить ошибки в его работе - пишите, буду стараться оперативно исправлять.

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

Где можно скачать?

На сайте c 17.12.2015
Сообщений: 1098
Mozart:


Пожизненный бан
Цитата Andreich670:

Где можно скачать?

http://www.scriptspot.com/3ds-max/scripts/collect-asset 

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

так там предыдущая версия, Version:  2.03 

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