Скрипт 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
Украина, Киев
Цитата paz:
а расширение файлов текстур в матах можно как-то менять?

нет. Это уже относится к функциям переименования. Я их не реализовал в скрипте.
На сайте c 10.07.2008
Сообщений: 1700
Екатеринбург
Цитата xiruim:
нет. Это уже относится к функциям переименования. Я их не реализовал в скрипте.

и снова я с прозьбой выбора версии макса при сохранении!) позязя!

На сайте c 02.09.2017
Сообщений: 11
Moscow
в офисе, на разных компах, на 2020 максах не работает collect asset. при первом нажатии не происходит ничего, при втором сцена вылетает с характерным "an error has occurred and the application will now close"до этого все работало отменно, но пару недель назад началось
На сайте c 09.06.2013
Сообщений: 397
Тюмень/Анталия
Цитата xiruim:
Цитата yuROCK:
Выдает ошибку в 2019 максе, окно висит но  в нем ничего не работает.

Ему не нравится имя файла, начинающееся на $. В будущем я исправлю эту проблему. Сейчас вам придется вручную переименовать этот файл и назначить его в материале

Привет xiruim, мы все еще ждем исправления этой проблемы, я даже готов заплатить))

На сайте c 17.11.2009
Сообщений: 114
Еще очень бы пригодилась возможность коллектить и файлы .osl , сейчас скрипт их пропускает
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Dreana:
Еще очень бы пригодилась возможность коллектить и файлы .osl , сейчас скрипт их пропускает

что это за файлы и как они применяются в сцене? Мне нужна какая-то простая сценка для экспериментов.
На сайте c 24.06.2014
Сообщений: 4507
Цитата xiruim:
что это за файлы и как они применяются в сцене? Мне нужна какая-то простая сценка для экспериментов.

https://wparallax.com/  

Там вроде есть Download FREE Scene

Тоже пользуюсь OSL/Параллаксами.

Но так как их не коллектит - то просто записал их в одно место на диске и в Максе указал путь туда.

Так что теперь любая сцена с параллаксами сразу в то место смотрит.

На сайте c 04.01.2020
Сообщений: 1
Беларусь
Цитата Andreich670:
Была пару раз такая проблема, даже автору скрипта посылал  сцену , пытались разобраться. у него все норм была, а у меня на компе не архивировалась. Все дело было в какой то левой текстуре , у которой статус был ОК , которая не находилась.
Запуститу asset tracking (shift+t) , найдите эту текстуру со статусом ОК и удалите, должно все заработать.
Цитата Praigor:
Цитата sky_line:
Всем привет. столкнулся с такой проблемой что скрипт перестал запаковывать сцены в архив. выскакивает ошибка при попытке запуска архиватора 

Всем привет! А как удалось решить эту проблему?)

Спасибо за ответ!

У меня такая же ошибка. Как понять какая текстура не находится? У меня там много текстур с "ОК". Во всех сценах не могу сделать архив.. Помогите пожалуйста! Или выход только переустановка макса?

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Grabowski:
У меня такая же ошибка. Как понять какая текстура не находится? У меня там много текстур с "ОК". Во всех сценах не могу сделать архив.. Помогите пожалуйста! Или выход только переустановка макса?

Может проблема именно в доступе к папке Temp? Скрипт использует общую папку temp, которая указана в виндовс. Попробуйте запустить макс от имени Администратора, решит это проблему или нет?
На сайте c 26.07.2008
Сообщений: 3966
Москва
Привет! Написал уже на скрипспоте, там еще есть подобные вопросы: на 2022 максе не работает создание архива - что-то вроде пролетает очень быстро при сохранении, но архив не создается. Версия 2.099b
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата Uraken:
Привет! Написал уже на скрипспоте, там еще есть подобные вопросы: на 2022 максе не работает создание архива - что-то вроде пролетает очень быстро при сохранении, но архив не создается. Версия 2.099b

скорее всего скрипт не поставился до конца
На сайте c 31.03.2018
Сообщений: 1
Киев
Цитата Uraken:
Привет! Написал уже на скрипспоте, там еще есть подобные вопросы: на 2022 максе не работает создание архива - что-то вроде пролетает очень быстро при сохранении, но архив не создается. Версия 2.099b

Столкнулся с такой же проблемой. Но заметил её после установки антивируса аваст. Проблема решилась отлучением Антивируса и Брандмауэра. после отключения я переустановил скрипт. И всё работает. а так выскакивала данная ошибка при установке скрипта(скрин). И он не создавал архив.

xiruim, есть ли возможность добавить в архивацию и прописыванию путей файлы с расширением ".vrscan". Я покопался в скрипте но так как в кодинге 0 то ничего не получилось)P.S всё разобрался) та пару поправок всего)

 

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата bogatyr4ik:
Цитата Uraken:
Привет! Написал уже на скрипспоте, там еще есть подобные вопросы: на 2022 максе не работает создание архива - что-то вроде пролетает очень быстро при сохранении, но архив не создается. Версия 2.099b

Столкнулся с такой же проблемой. Но заметил её после установки антивируса аваст. Проблема решилась отлучением Антивируса и Брандмауэра. после отключения я переустановил скрипт. И всё работает. а так выскакивала данная ошибка при установке скрипта(скрин). И он не создавал архив.

xiruim, есть ли возможность добавить в архивацию и прописыванию путей файлы с расширением ".vrscan". Я покопался в скрипте но так как в кодинге 0 то ничего не получилось)P.S всё разобрался) та пару поправок всего)

 

О! спасибо что помогаете. Кстати достаточно только второй правки. Filetipingimg - это для подсвечивания файлов изображений отдельным цветом в списке.
На сайте c 05.08.2010
Сообщений: 96
Одесса

Цитата smalltown_boy:
в офисе, на разных компах, на 2020 максах не работает collect asset. при первом нажатии не происходит ничего, при втором сцена вылетает с характерным "an error has occurred and the application will now close"до этого все работало отменно, но пару недель назад началось

Добрый день, вы решили эту проблему? у меня такая же...........

помогите! на разных компах, на 2020 максах не работает collect asset. при первом нажатии не происходит ничего, при втором сцена вылетает с характерным "an error has occurred and the application will now close"до этого все работало...причем ничего не менял, на рабочем компе в офисе вообще не изменялось ничего уже несколько месяцев.

На сайте c 27.11.2008
Сообщений: 71
Цитата NorthREBEL:

Цитата smalltown_boy:
в офисе, на разных компах, на 2020 максах не работает collect asset. при первом нажатии не происходит ничего, при втором сцена вылетает с характерным "an error has occurred and the application will now close"до этого все работало отменно, но пару недель назад началось

Добрый день, вы решили эту проблему? у меня такая же...........

помогите! на разных компах, на 2020 максах не работает collect asset. при первом нажатии не происходит ничего, при втором сцена вылетает с характерным "an error has occurred and the application will now close"до этого все работало...причем ничего не менял, на рабочем компе в офисе вообще не изменялось ничего уже несколько месяцев.

Как писали раньше, скорее всего, у вас окно скрипта открывается за пределами экрана.Попробуйте после первого нажатия выполнить скрипт SetDialogPos Collect_asset [100,100] это должно вернуть окно CA

Если запускать CA когда его окно уже открыто, то макс крашится из-за какой-то ошибки связанной с записью в файл настроек.

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

writeVarToSettingsIniFile "settings" "dialogPos" (getDialogPos Collect_asset)

writeVarToSettingsIniFile "settings" "subdir" (edit_subdir.text)

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

Можно заменить их на 

try (writeVarToSettingsIniFile "settings" "dialogPos" (getDialogPos Collect_asset)) catch()

try (writeVarToSettingsIniFile "settings" "subdir" (edit_subdir.text)) catch()

Во вложении версия скрипта уже с изменениями, и с фиксированными координатами окна. Пробуйте, но не забудте сохраниться.

https://drive.google.com/file/d/1-17HUYogWyjWo8seABWyMbzloeOdYSKZ/view  

На сайте c 05.08.2010
Сообщений: 96
Одесса
Цитата vinigor:
https://drive.google.com/file/d/1-17HUYogWyjWo8seABWyMbzloeOdYSKZ/view    

СПАСИБИЩЕ ВАМ ОГРОМНОЕ!! заработало!)smiley-yahoo.gif

Активность: 0
На сайте c 24.08.2020
Сообщений: 2
Подскажите пожалуйста, в чём может быть проблема.Скрипт находит все текстуры. Скрипт собирает (копирует) их в одну папку. НО при создании скрипта он только выдаёт сообщение о завершении этого процесса "Creating an archive completed", а сам архив не создаётся (не существует его в указанной папке и где-либо ещё).
На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата r4botchaya:
Подскажите пожалуйста, в чём может быть проблема.Скрипт находит все текстуры. Скрипт собирает (копирует) их в одну папку. НО при создании скрипта он только выдаёт сообщение о завершении этого процесса "Creating an archive completed", а сам архив не создаётся (не существует его в указанной папке и где-либо ещё).

скорее всего не поставились дополнительные файлы при инсталяции скрипта. А в частности архиватор

Активность: 0
На сайте c 24.08.2020
Сообщений: 2
Цитата xiruim:
Цитата r4botchaya:
Подскажите пожалуйста, в чём может быть проблема.Скрипт находит все текстуры. Скрипт собирает (копирует) их в одну папку. НО при создании скрипта он только выдаёт сообщение о завершении этого процесса "Creating an archive completed", а сам архив не создаётся (не существует его в указанной папке и где-либо ещё).

скорее всего не поставились дополнительные файлы при инсталяции скрипта. А в частности архиватор

и как исправить?

На сайте c 10.07.2008
Сообщений: 1693
Украина, Киев
Цитата r4botchaya:
Цитата xiruim:
Цитата r4botchaya:
Подскажите пожалуйста, в чём может быть проблема.Скрипт находит все текстуры. Скрипт собирает (копирует) их в одну папку. НО при создании скрипта он только выдаёт сообщение о завершении этого процесса "Creating an archive completed", а сам архив не создаётся (не существует его в указанной папке и где-либо ещё).

скорее всего не поставились дополнительные файлы при инсталяции скрипта. А в частности архиватор

и как исправить?

https://3ddd.ru/forum/thread/show/skript_collect_asset/16#post1529139 тут посмотрите.
Читают эту тему: OneWinged