Скрипт 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 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Uraken:

я тут подумал. Было бы очень круто в функционале добавить выбор версии сохраняемого файла (2017-2016 и пр), довольно часто сохраняю в 2017 из 2018 и надо потом еще раз сохранить из макса в 2017, удалить из архива файл 2018 и закинуть туда версию 2017.

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

Там действительно нельзя просто вызвать стандартный диалог с версией макса. Но как-то сделать можно, если заморочится.

Цитата Yehat:
Цитата xiruim:
А если не по сети, то работает?

А не по сети он нафиг не нужен. Надо было проект с сервера собрать в кучку. Сделал по старинке SaveAs - Archive. Потом развернул, сделал поиск *.* скинул всё в одну папку и стрипанул пути.

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

На сайте c 10.07.2008
Сообщений: 1699
Екатеринбург
Цитата Yehat:
Цитата xiruim:
А если не по сети, то работает?

А не по сети он нафиг не нужен. Надо было проект с сервера собрать в кучку. Сделал по старинке SaveAs - Archive. Потом развернул, сделал поиск *.* скинул всё в одну папку и стрипанул пути.

у меня по сети все работает!

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

Это похоже на глюк, но у меня тоже заработало. После перезапуска макса всё скинулось. Приношу свои извинения за поклёп ))

Косметический комментарий: в окне скрипта исправьте, пожалуйста, слово "russin" на "russian".

На сайте c 02.10.2012
Сообщений: 74
Москва
Хочу лишний раз отметить, что скрипт архи-полезен. Помогает в работе над каждым проектом без исключений. Дисциплинирует в хранении и передаче сцен. Спасибо за то, что он есть!
На сайте c 16.05.2017
Сообщений: 11
Вот бы кнопка Select Seek учитывала подпапки и имела вид после нажатия типо максовского

Было бы вообще супер иметь возможность добавлятть и сохранять свои пути часто используемые.

На сайте c 10.03.2013
Сообщений: 71
Чебоксары
Ошибка в описании кнопки "Rename Russian symbols"
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Обновил скрипт до версии 2.092
На сайте c 31.03.2013
Сообщений: 333
от верблюда)
Цитата xiruim:
Обновил скрипт до версии 2.092

Отлично!

На сайте c 10.07.2008
Сообщений: 1699
Екатеринбург
Цитата xiruim:
Обновил скрипт до версии 2.092

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

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

Кнопка Collect Files. Снимите справа от нее все галочки.
На сайте c 10.07.2008
Сообщений: 1699
Екатеринбург
Цитата xiruim:
Кнопка Collect Files. Снимите справа от нее все галочки.

спасибо!! оказывается все просто, а я галочки не юзал)

На сайте c 06.06.2018
Сообщений: 2

всем привет! После установки скрипта при запуске сцены вылазят вот такие ошибки 

https://i.imgur.com/hObaX4x.png 

https://i.imgur.com/EKH4aEg.png  

причем это происходит рандомно - в каких-то сценах постоянно, в каких-то периодически, в каких-то их вообще нет. Если их закрыть и проигнорировать, то в принципе все работает, и макс и корона и сам скрипт... но что-то же все-таки не так? Версия скрипта 2.09

так... после обновления до версии 2.092 ошибка пропала... для теста открыл 10-15 сцен, пока не было ни одной. 

Спасибо, xiruim, за труды)

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата aiviz:
всем привет! После установки скрипта при запуске сцены вылазят вот такие ошибкиhttps://i.imgur.com/hObaX4x.png  https://i.imgur.com/EKH4aEg.png  

Не думаю что эти ошибки как-то связаны с моим скриптом. Но как-то связаны вообще со скриптами. Какие-то ошибки записью\чтением их данных в памяти.
На сайте c 28.11.2013
Сообщений: 8
Krasnoyarsk
при запуске выдаёт такую ошибку,как быть?

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Markusha31:
при запуске выдаёт такую ошибку,как быть?

Эта ошибка связана с выводом картинки шапки скрипта. Или что-то с Microsoft .NET Framework (не хватает нужной версии или еще что-то), или что-то с правами доступа на картинку.

Мне пока не понятно как справится с этой ошибкой, так как у меня она не возникает. Но думаю я каким-то другим инструментом сделаю шапку в скрипте в будущем.

Попробуйте закрыть окно ошибки и работать дальше. Скрипт все равно должен работать.

На сайте c 14.12.2010
Сообщений: 1790
spb.ru
xiruim если не сложно, подскажите что где должно лежать (в смысле файлы). тоже по хз каким причинам не создавалась папка с head.png. Создал вручную. Но где то еще должны лежать иконки к кнопке ))
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата beard02:
xiruim если не сложно, подскажите что где должно лежать (в смысле файлы). тоже по хз каким причинам не создавалась папка с head.png. Создал вручную. Но где то еще должны лежать иконки к кнопке ))

Файлы копируются по следующим путям:

copy "7z.dll" to "$userScripts\Collect_asset\7z\"

copy "7zG.exe" to "$userScripts\Collect_asset\7z\"

copy "collect_asset.ini" to "$userScripts\Collect_asset\"

copy "head.png" to "$userScripts\Collect_asset\"

copy "CollectAsset_16i.bmp" to "$userIcons\"

copy "CollectAsset_24i.bmp" to "$userIcons\"

$userIcons Это c:\Users\User Name\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\usericons\

$userScripts Это c:\Users\User Name\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\scripts\

На сайте c 14.12.2010
Сообщений: 1790
spb.ru
спасибо.
На сайте c 28.11.2013
Сообщений: 8
Krasnoyarsk
Цитата xiruim:
Цитата Markusha31:
при запуске выдаёт такую ошибку,как быть?

Эта ошибка связана с выводом картинки шапки скрипта. Или что-то с Microsoft .NET Framework (не хватает нужной версии или еще что-то), или что-то с правами доступа на картинку.

Мне пока не понятно как справится с этой ошибкой, так как у меня она не возникает. Но думаю я каким-то другим инструментом сделаю шапку в скрипте в будущем.

Попробуйте закрыть окно ошибки и работать дальше. Скрипт все равно должен работать.

скрипт работает,но при каждом запуске выдаёт такое ошибку,спасибо.

На сайте c 27.03.2017
Сообщений: 431
Краснодар
Привет! Скрипт супер! У меня 2.0, я не знаю что там в последней версии, но очень нужно поле, куда можно ввести префикс при сборе текстур, который добавится ко всем названиям. Это для того, чтобы моделлеры могли в название текстур добавить оригинальный префикс, это позволит минимизировать очень насущную проблему одинаковых названий. Да я и сам мог бы корректировать дурацкие названия типо 1,2,3. Такое можно?
Читают эту тему: