Скрипт 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 03.12.2018
Сообщений: 5

Антон, спасибо за отличный скрипт. Постоянно им пользуюсь. Есть 2 просьбы.

1. В самом начале, скрип начинает проверять текстуры, в больших сценах это длится очень долго, а после того как текстуры собраны он опять начинает проверять текстуры. Получается, что я запускаю скрипт, сижу жду (иду пить кофе) тоесть скрипт запускается 20 минут.... потом я наконец могу указать что мне надо и нажимаю кнопку "Collect" и жду когда закончится работа... жму "ок" и опять должен ждать 20 минут gока скрипт там что-то делает.

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

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

Спасибо ещё раз за скрипт.

На сайте c 31.03.2011
Сообщений: 9937
Renderfarm

logvin@hh-vision.de, ну не знаю, может у вас какой то комп супер древний, у меня такая проверка в сцене с 2000 ассетов занимает пару минут (не на ssd)

oapalamar, макс может падать при работе скрипта, если в именах или в путях текстур есть спец символы вроде $, которые недопустимы в именах

На сайте c 03.12.2018
Сообщений: 5

Большая сцена, гигабитная сеть, быстрый компьютер, много текстур, много прокси, полно иксрефов... Даже 2 минуты - это много. Представте, вы нажимаете на кнопку открыть папку и ждёте 2 минуты... закрыть папку - ещё 2 минуты, а если 10? а если 20? Задержка в 5 секунд уже будет раздаражать. Задержки вообще ненужны.

Мне нужно регулярно отправлять задание на сервер и делать актуальный сбор текстур и прокси. Даже если будет, как вы говорите 2 минуты, то что мне делать в это время? 2 минуты паузы когда я нажимаю кнопку, я должен всё бросить и начать делать другие дела, потом я возвращаюсь и могу забыть на какой стадии я нахожусь - я собрал текстуры или ещё только открыл скрипт... нужно вести журнал?

На сайте c 31.03.2011
Сообщений: 9937
Renderfarm
logvin@hh-vision.de, надуманная проблема какая то) а не смущает, что тяжелая сцена может 10 минут открываться, если там форесты, рейлы и анима? и что то сомневаюсь, что вам надо сотни сцен в день отправлять на рендер
На сайте c 03.12.2018
Сообщений: 5
albatr0s, кажется вы не понимаете сути.
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата logvin@hh-vision.de:

Антон, спасибо за отличный скрипт. Постоянно им пользуюсь. Есть 2 просьбы.

1. В самом начале, скрип начинает проверять текстуры, в больших сценах это длится очень долго, а после того как текстуры собраны он опять начинает проверять текстуры. Получается, что я запускаю скрипт, сижу жду (иду пить кофе) тоесть скрипт запускается 20 минут.... потом я наконец могу указать что мне надо и нажимаю кнопку "Collect" и жду когда закончится работа... жму "ок" и опять должен ждать 20 минут gока скрипт там что-то делает.

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

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

Спасибо ещё раз за скрипт.

привет. отвечу по пунктам.

1. первый скан нужен в любом случае - это сбор данных о всех ассетах. Без него скрипт не поймет что откуда собирать. А вот сканирование после сбора, а особенно после нажатия ОК на окошке завершения действительно раздражает даже меня :). Я думаю добавить хотя бы прерывание по Escape. Ну или еще что-то придумаю.

2. Да, идея хорошая. запишу в туду.

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

Спасибо что указываете на проблемы

На сайте c 03.12.2018
Сообщений: 5
Цитата xiruim:
1. первый скан нужен в любом случае - это сбор данных о всех ассетах.

Если нужен - значит нужен. Его можно стартовать тогда когда нажимается кнопка "Collect". То-есть, скрипт открывается сразу и можно сразу сделать настройки и вот когда нажимаешь "Collect" скрипт собирает данные и потом переносит текстуры куда надо. Для тех кому не нужно собирать текстуры, а просто посмотреть что там происходит - есть отдельная кнопка "Refresh" нажимаешь её и скрипт производит сбор актуальных данных.

Я думаю добавить хотя бы прерывание по Escape. Ну или еще что-то придумаю

Escape - это уже лучше чем есть, но лучше просто автоматизировать. Либо этот процеcс стартует автоматом после переноса текстур, либо опять повесить его на кнопку "Refresh".

На сайте c 01.02.2019
Сообщений: 12
Минск
Цитата xiruim:
Цитата MetaArch:
стал вылетать Макс при запуске скрипта, первое нажатие -  НЕ появляется окно скрипта, второе нажатие - Макс вылетает. работаю со скриптом уже 2 года, все было отлично до данного момента

странное дело. Не сталкивался с таким. Свяжитесь со мной по скайпу или другим личным способом. Попробую помочь

как решили эту проблему? Актуально сейчас.

На сайте c 18.06.2020
Сообщений: 5
А как выбрать версию программы при создании архива? Мне скидывают архив а я его открыть не могу в более ранней версии.
На сайте c 25.11.2008
Сообщений: 160
Москва
Цитата parkin_apk:
А как выбрать версию программы при создании архива? Мне скидывают архив а я его открыть не могу в более ранней версии.

Эх ,  если бы эту функцию сделали...

На сайте c 10.07.2008
Сообщений: 1699
Екатеринбург
Цитата Andreich670:
Эх ,  если бы эту функцию сделали...

уже давно прошу добавить эту функцию( оказалось проще всем смежникам насильно установить последнюю версию макса

На сайте c 24.11.2009
Сообщений: 4185
Москва
Цитата dzmitrijeilja:
как решили эту проблему? Актуально сейчас.

Некропост, но вдруг кому пригодится:

 v2.098 работает нормально
На сайте c 29.10.2013
Сообщений: 219
Москва

Привет всем! Кто знает решение этой проблемы? Очень часто колект асет ди и релинк битмап просто не видит потерянные текстуры, а они есть.

На сайте c 27.12.2016
Сообщений: 107
Україна, Київ
Цитата Meriutsa:

Привет всем! Кто знает решение этой проблемы? Очень часто колект асет ди и релинк битмап просто не видит потерянные текстуры, а они есть.

не стоит галочка на "инклуд саб фолдерс"

На сайте c 29.10.2013
Сообщений: 219
Москва
Цитата MikhailMekhanik:
Цитата Meriutsa:

Привет всем! Кто знает решение этой проблемы? Очень часто колект асет ди и релинк битмап просто не видит потерянные текстуры, а они есть.

не стоит галочка на "инклуд саб фолдерс"

а причем здесь эта галочка?  он все равно не найдет, написано же missing 0

На сайте c 03.08.2007
Сообщений: 5
Симферополь
большое спасибо автору за скрипт. уже несколько лет использую, а благодарность не выразил.
очень полезная вещь, через день используемая в работе
На сайте c 06.08.2016
Сообщений: 6
подскажите пожалуйста перестал работать архив в скрипте , кто нибудь знает как еще можно сохранить модель из сцены с текстурами?
На сайте c 18.06.2018
Сообщений: 67
Воронеж
подскажите с 2023 максом работает?
На сайте c 16.10.2006
Сообщений: 1677
Цитата Goodov:
подскажите с 2023 максом работает?

работает, и в 2024 тоже

На сайте c 18.06.2018
Сообщений: 67
Воронеж

Столкнулся с такой проблемой в 23 максе 

на панели висит значок, нажимаю и ничего не происходит, долго ждал и ничего, после второго нажатия сразу вылет.

может кто сталкивался в чем дело?

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