Скрипт Collect Asset

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

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

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

voc
Возраст:
Пол: М
На сайте c: 26.09.2010
Сообщения: 161
Откуда:
Отличный скрипт и спасибо за него) Использую практически с первой версии, сейчас стоит 1,53. Единственное не срабатывает Del Missing Paths на vrayHDRI, остальное удаляет. По всему остальному без нареканий, работает отлично. 
Цитата xiruim:
Так же скрипт не обрабатывает тектуры в XRef файлах, их нужно открывать отдельно.

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

Не пробовал. Надо будет проверить.

terodesign
Возраст: 32
Пол: М
На сайте c: 21.01.2013
Сообщения: 295
Откуда: Poland, Krakow

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

Мой скайп : dima.terodesign

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1555
Откуда: Украина, Луганск
Цитата terodesign:
А планируется ли функция поиска текстур ( и другого контента сцены ) по папкам ( + вложенным иерархиям папок )

Да. Есть в планах такое сделать. Если ничего не отвлечет - наверно начну на днях делать.

terodesign
Возраст: 32
Пол: М
На сайте c: 21.01.2013
Сообщения: 295
Откуда: Poland, Krakow
Очень ждем обновлений. Спасибо
Prog
Возраст: 40
Пол: М
На сайте c: 22.11.2006
Сообщения: 1983
Откуда: Wraeclast of PoE

xiruim

Прикрутите к этому скрипту свою переименовалку кириллических текстур, будет гораздо удобнее я считаю одним инструментом все делать. Но это конечно Вам решать )))

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

Цитата Prog:

xiruim

Прикрутите к этому скрипту свою переименовалку кириллических текстур, будет гораздо удобнее я считаю одним инструментом все делать. Но это конечно Вам решать )))

Я не думаю, что это популярная функция. Но да, можно добавить.

Обновил скрипт. Добавил переименование русских символов, как и просили.

Пишите, если обнаружите ошибки в скрипте.

Po3Dnyakov
Возраст: 35
Пол: М
На сайте c: 19.02.2012
Сообщения: 566
Откуда: Московская область
Незаменимый скрипт!!! Спасибо Антон)
Hold_on
Возраст:
Пол: М
На сайте c: 05.01.2012
Сообщения: 624
Откуда: Capital

Спасибо за скрипт. Попытался собрать текстуры с выбранных объектов в папку с сетевым адресом и

 появилось окошко с сообщением "Directory not writeable", а после - вот это:

930149408b803caf4cb0205f928f1514.jpg

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

"Collect all assets..." подразумевает копирование или перемещение из источника?

И еще допишу:

тыцнул кнопочку "мэйк архив", появилось окно выбора директории (куда) , передумал, нажал отмену, наблюдаю:

1) окошко с сообщением "оперейшн абортед" - ОК

2) окошко со словом ерор, а именно:

8661ac06f1f94ad64771ef869e3d9aec.jpg

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1555
Откуда: Украина, Луганск
Цитата Hold_on:
Попытался собрать текстуры с выбранных объектов в папку с сетевым адресом и появилось окошко с сообщением "Directory not writeable",  проверил: папка источник с галочкой "только для чтения", внутри нее файлы без атрибутов. "Collect all assets..." подразумевает копирование или перемещение из источника?

Скрипт только копирует. Ничего не перемещает и не удаляет.

На счет сетевой папки - сейчас проверил, все нормально копирует. И попробовал атрибуты у источника поменять на "только для чтения" - тоже все впорядке. Может у вас действительно сетевая папка не доступна для записи? Ну а то что потом скрипт вываливается - это надо доработать, спасибо что нашли баг.

Цитата Hold_on:
тыцнул кнопочку "мэйк архив", появилось окно выбора директории (куда) , передумал, нажал отмену, наблюдаю:

ну да. лишнее окошко с ошибкой после отмены операции. Зато скрипт не вывалился тут :)

Буду править эти баги

IIaJIbMa
Возраст:
Пол: М
На сайте c: 04.01.2013
Сообщения: 4
Откуда:
как скачать?
dedora
Возраст: 44
Пол: М
На сайте c: 14.06.2012
Сообщения: 2067
Откуда: Киев

Скрипт очень замечательный. Все текстуры храню на сервере и сохраняю туда прокси и тт.д... Иногда скрипт глючит если сразу на все кнопки не нажимать:-).

Если сцена очень большая, то сначала сохраняю как архив, а потом пользуюсь скриптом , чтоб ему было легче работать. И тогда он хорошо справляется...

Зы похожих окон белых не встречал. Только долгое зависание, но путь к исправлению описал выше.

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

Работаю сейчас над второй версией скрипта. Переписал полностью алгоритм. Отвязываю его от максовского Asset Tracking. Теперь поиск ссылок на файлы будет по их классам, что дает возможность учитывает даже те файлы, которые не видят стандартные утилиты. И надеюсь будет работать стабильнее, хотя и не быстрее.

Из-за работы над новой версией пока не дорабатываю старую. Надеюсь новая версия заменит старую. но надо будет еще потестировать

13.08.2015

Выложил первый релиз версии 2. Смотрите в шапке.

Полностью обновил алгоритм работы скрипта.

Только закончил тестирование. Прошу попробовать, потестировать и сообщать, если что-то не так.

Версия 2 не обновляет старые версии, а устанавливается как новый скрипт, так что надо снова вытащить кнопку на панель.

NeverExisted
Возраст: 30
Пол: М
На сайте c: 08.02.2013
Сообщения: 38
Откуда: Россия

2c865b3e575275b7501e4e300e82f79e.png

ошибка выскочила при первом запуске. 3ds max 2012, рендер - Corona

в матах используются corona bitmap

версия скрипта 2,03

А версия 1,55 только что все нормально собрал, за что огромное спасибо))) максовский коллектор вообще ничего не смог собрать

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

NeverExisted

Спасибо что нашли ошибку. Было бы хорошо, если бы вы могли дать вашу сцену, чтоб я мог получить эту ошибку у себя. Можете выложить на dropmefiles.com к примеру и дать ссылку в личку. Я постоянно пользуюсь скриптом и пока не выдавало ошибки такой.

NeverExisted
Возраст: 30
Пол: М
На сайте c: 08.02.2013
Сообщения: 38
Откуда: Россия
хорошо, залью по мере возможности
Yehat
Возраст: 37
Пол: М
На сайте c: 14.06.2012
Сообщения: 7238
Откуда: Москва
EARLDK:
Снова вводите пользователей в замешательство сами не зная правил ресурса. Хватит "пальцем в небо тыкать" Это не "Угадай мелодию"
Действует до:
26.03.2019 00:00:00
Цитата terodesign:

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

Мой скайп : dima.terodesign

Это делает бесплатный скрипт Relink Bitmaps. Он даже умеет выделять объект, если на него не нашлась текстура, чтобы руками её поставить.

varalis
Возраст:
Пол: М
На сайте c: 24.05.2009
Сообщения: 83
Откуда: От Верблюда

665508a088439503a882fa083a600280.jpg

Здравствуйте, хочу поблагодарить за столь замечательный скрипт и внести предложение по улучшению скрипта:

Как я понимаю, скрипт собирает все карты, которые находятся в сцене и в редакторе материалов, даже те, которые не назначены на объекты в сцене (см. прикреплённое изображение).

Это хорошо, но не во всех ситуациях.

Чаще требуется собрать карты которые применены к объектам, кроме тех, неприменённых, что находятся (по какой-то причине) в редакторе материалов.

Вариант "only from selected objects" работает, но далеко не всегда удобен, так как могут в сцене находиться многочисленные скрытые объекты, с которых тоже нужны карты.

Не могли бы вы добавить дополнительную функцию, которая бы собирала только карты, применённые в сцене?

xiruim
Возраст: 39
Пол: М
На сайте c: 10.07.2008
Сообщения: 1555
Откуда: Украина, Луганск
Цитата varalis:
Не могли бы вы добавить дополнительную функцию, которая бы собирала только карты, применённые в сцене?

Да. Знаю это, и я поправлю. Но вот как скоро, обещять не могу.

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