Скрипт Collect Asset

Автор
Сообщение
xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1576
Откуда: Украина, Луганск

Решил создать тему по своему скрипту Collect Asset. Качать тут

Пишите в тему, если найдете ошибки, или знаете, как его улучшить, или можете что-то подсказать. Или если что-то не понятно.

ed7cad9fe80a53f466b82beff8c986fe.jpg

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

Скрипт видит специфические карты (например 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.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. Пожалуйста, отписывайтесь об ошибках. Не молчите, если что-то не работает, или работает не так как нужно. Это важно. Я не всегда могу все протестировать в одиночку.

Вы можете отблагодарить меня за скрипт материально, если желаете.

monotumba
Возраст:
Пол: М
На сайте c: 01.12.2009
Сообщения: 61
Откуда:

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

Это как бы не проблема при локальном просчете, но при дистрибьюте на нодах ошибка вылетает.

Хотелось бы, чтобы скрипт умел в самом материале переназначать путь к секвенции.

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1576
Откуда: Украина, Луганск
Цитата monotumba:

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

Это как бы не проблема при локальном просчете, но при дистрибьюте на нодах ошибка вылетает.

Хотелось бы, чтобы скрипт умел в самом материале переназначать путь к секвенции.

да, когда делал эту функцию, я помнится решил оставить текстуры в контейнере без путей, так как проблем тогда не обнаружил. но скрипт можно заставить прописывать абсолютные пути. Я должен был оставить соответсвующую строку закомментированной в скрипте. могу изменить и выслать вам версию для пробы
honduras
Возраст:
Пол: М
На сайте c: 06.08.2015
Сообщения: 21
Откуда:
Спасибо большое за этот скрипт, пользуюсь постоянно, лично у меня никаких претензий нет, только благодарности к автору - раньше очистка от потерянных текстур была головной болью - теперь - секундное дело, спасибо
monotumba
Возраст:
Пол: М
На сайте c: 01.12.2009
Сообщения: 61
Откуда:
Цитата xiruim:
Цитата monotumba:

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

Это как бы не проблема при локальном просчете, но при дистрибьюте на нодах ошибка вылетает.

Хотелось бы, чтобы скрипт умел в самом материале переназначать путь к секвенции.

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

Да, если пришлете оттестирую и отпишусь.

vladimir.drobzhev90
Возраст:
Пол: М
На сайте c: 27.03.2017
Сообщения: 111
Откуда:

Добрый день! Вернусь к своей просьбе и выражу ее картинкой

только нужно в скрипте учесть проверку наличия префикса в названии, чтобы не задваивать.

Очень надеюсь, что у вас найдется время!

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1576
Откуда: Украина, Луганск

Обновил скрипт до версии 2.097

Добавил поддержку V-ray volume grid файлов. Добавил поиск по подпапкам. Сделал окошко настройки скрипта, куда вынес настройку сохранения путей в ifl файлах и настройку вида окна выбора папок.

dead_lyric
Возраст: 32
Пол: М
На сайте c: 10.07.2008
Сообщения: 844
Откуда: Екатеринбург
Цитата xiruim:
Обновил скрипт

а есть возможность сделать выбор сохранения версии макса при создании архива?

Andreich670
Возраст: 37
Пол: М
На сайте c: 25.11.2008
Сообщения: 68
Откуда: Москва
Вот это было бы здорово.
Цитата dead_lyric:
Цитата xiruim:
Обновил скрипт

а есть возможность сделать выбор сохранения версии макса при создании архива?

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1576
Откуда: Украина, Луганск
Цитата dead_lyric:
а есть возможность сделать выбор сохранения версии макса при создании архива?

Такое можно реализовать, хотя придется подумать как именно, так как вызвать стандартное окно через скрипт нельзя. Займусь на досуге.
Читают эту тему: