Скрипт Prepare Model 3DDD

Автор
Сообщение
На сайте c 15.09.2013
Сообщений: 691

Prepare Model 3DDD

  
Версия:  v.1.4.1
Автор: MastaMan
Требования: 3Ds Max 2011 и выше, WinRar
  

6779be0d12dd612eb31cb77c9872cd7b.png

Скрипт для подготовки модели перед заливкой в базу на сайт 3ddd.ru. При помощи скрипта вы сможете быстро установить модель в центр сцены, сделать ResetXForm, быстро установить Pivot, создать архив со всеми текстурами, сценой и экспортируемыми форматами *.fbx, *.obj, *.mtl в пару кликов.

Скрипт писал под свои нужды, решил поделится наработками, возможно кому то будет полезн. smiley-smile.gif

Возможности:

- Reset XForm моделей (даже в группе)
- Box Trick моделей
- Быстрая установка Pivot модели
- Установка модели в центр сцены
- Перемещение моделей в "0"(default) слой
- Переименование материалов
- Копирование текстур
- Сбрасывание путей в текстурах
- Название текстур в соответствии с названием модели
- Добавление превью
- Правильное название файлов
- Экспорт форматов *.fbx, *.obj
- Сохранение в разные версии 3Ds Max
- Статистика
- Архивирование

Как пользоваться:

1) Перетащите скрипт в окно 3Ds Max

2) Выделите модель(и) для архивации

3) Выполните поочередно все шаги:

     -Шаг1: Укажите название модели, укажите добавлять или нет префикс с названием рендера в названия файлов
    -Шаг2: Сделайте ResetXForm модели, установите Pivot, установите модель в центр сцены
    -Шаг3: Установите или нужно переименовывать материалы, сбрасывать пути текстур и переименовывать текстуры
    -Шаг4: Добавьте превью (не обязательно)
    -Шаг5: Укажите форматы для сохранения модели
Нажмите кнопку Save Model, после чего откроется директория с архивом модели и будет показана статистика. Эту статистику вы может скопировать в описание модели на сайте перед заливкой. Не забудьте так же внимательно проверить архив и сцены на работоспособность.

Скрипт сделан на основе статьи: http://3ddd.ru/blog/post/riekomiendatsii_k_zaghruzhaiemym_modieliam_na_sait_3ddd_1 

Изменение версий:

 

На сайте c 15.01.2011
Сообщений: 298
Цитата MastaMan:
Цитата Al3XXX:

MastaMan, В чем может быть проблема не подхватывания текстур? Папка maps пустая.

Если я использую Bitmap вместо CoronaBitmap, может ли это влиять?

Скрипт работает с CoronaBitmap и Bitmap.

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

К стати пути к текстурам случайно не сетевые? 

Нет.

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

На сайте c 25.10.2009
Сообщений: 280

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

    fn getFullPath p =     (            if(doesFileExist p) do return p                return mapPaths.getFullFilePath (filenameFromPath  p)    )            fn gatherTextures szMaps type: Bitmaptexture =     (        oldMtl = #()        oldTex = #()        errorTex = #()        toRename = #()                try        (                    for i in selection where i.material != undefined and findItem oldMtl i.material == 0 do            (                            if(bSetMaterialNames and findString (i.material.name) szModelName == undefined) do i.material.name = szModelName + "_" + i.material.name                                append oldMtl i.material                                                for b in getClassInstances type target:i do                (                                    f = getFullPath b.filename                                        n = filenameFromPath f                    p = getFilenamePath f                                                            if(bTexturesRename and findItem oldTex b == 0) do                     (                        n = szModelName + "_" + n                                            append oldTex b                                                if(doesFileExist f) then append toRename #(b, (p + n), (szMaps + n), n, f) else append errorTex #(b.filename, i.name)                                                    )                                                    )            )        )catch()                if(errorTex.count > 0) do return errorTex                for t in toRename do        (            copyFile t[5] t[3]                        t[1].filename = t[2]            if(bTexturesStrip) do t[1].filename = "maps\\" + t[4]        )        return errorTex    )

На сайте c 13.07.2010
Сообщений: 2700
Цитата MastaMan:
Требования: 3Ds Max 2011 и выше, WinRar

без винрара можно обойтись? 7zip библиотеки например с максимальным сжатием по умолчанию в формат ZIP?

На сайте c 15.09.2013
Сообщений: 691
Цитата falik:
Цитата MastaMan:
Требования: 3Ds Max 2011 и выше, WinRar

без винрара можно обойтись? 7zip библиотеки например с максимальным сжатием по умолчанию в формат ZIP?

Увы без winrar не будет работать.

Цитата xberzx:

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

Эта опция будет реализована в новой версии паковщика. В данной версии надо переделывать большой кусок кода

На сайте c 02.10.2013
Сообщений: 356
Добрый день. Спасибо за скрипт, скажите пожалуйста, это в порядке вещей что скрипт все конвертит в меш? можно как-то этого избежать, чтобы турбосмуз оставался или uvw map? в файлах экспорта fbx присутствуют мусор из главной сцены dummy, не пойму как это избегать используя данный скрипт
На сайте c 18.09.2016
Сообщений: 2649
Украина, Запорожье
Mozart:


Пожизненный бан
Спасибо чувак... Огромное, человеческое СПАСИБИЩЕ!
На сайте c 20.01.2019
Сообщений: 89
Москва, Краснодар, Воронеж
Спасибо Вам большой! Человеческое! От души! Вы хороший человек! Намасте!smiley-bomb.gif
На сайте c 23.09.2013
Сообщений: 15
Nizhny Novgorod
Очень полезный скрипт, особенно для новичков. Автор скрипта экономит наше время - которого и так ни на чего не хватает. Спасибо ему.
На сайте c 20.08.2015
Сообщений: 185
Украина. Днепр
Цитата YaroslavNagorniy:
Добрый день. Спасибо за скрипт, скажите пожалуйста, это в порядке вещей что скрипт все конвертит в меш? можно как-то этого избежать, чтобы турбосмуз оставался или uvw map? в файлах экспорта fbx присутствуют мусор из главной сцены dummy, не пойму как это избегать используя данный скрипт

Есть пара вариантов, но нужно будет распаковывать архив и править макс файл и fbx

Чтоб не колапсить турбосмуз, необходимо предварительно снять его с объектов и пройти в скрипте ШАГ 2. пункт 1. Geometri fix. Это тут колапсятся стеки модификаторов. Вся геометря атачиться к боксу и сбрасывается хформ. После этого шага должна остаться чистая геометрия.

затем два варианта:

1. после прохождения ШАГ 2. пункт 1 сразу добавить Тсмз на объекты. Прогнать скрип. В этом случае в полученном макс фале, скрипт оставит лоу геометрию с модификатором Тсмз. Но, в файлах экспорта, экспортер  сконвертирует Тсмз в высокополигональный меш.  Так что при добавлении Тсмз оставляйте только 1 итерацию. Обязательно проверяем фалы экспорта! Там должен быть только мешь без модификаторов!

2. после прохождения ШАГ 2. пункт 1.  НЕ добавлять Тмсз. прогнать скрипт. В этом случае и во всех файлах будет лоу геометрия. Добавляем Тсмз в полученный макс файл и персохраняем. Обязательно проверяем фалы экспорта! Там должен быть только меш без модификаторов! Если при экспорте поломало лоу меш (иногда бывает), экспортируем снова из полученного макс фала с Тсмз  с 1 итер. Предварительно сконвертировав все в меш. Проверяем файлы экспорта. Можно конечно загорячиться и сохранить лоу меш и модиф Тмсз в фбх. Но, кому это надо?

Чтоб мусорные объекты не попадали в фбх,  нужно чтоб скрипт экспортировал только с поли или меша, без модификаторов хелперов и групп и т.п., Обычно все группирую в скрипте Шаг 2 п2. И при экспорте в фбх появляется мусор dimmy, это наша группа. Тут тоже два варианта:

1. Пропустить шаг 2 п. 2. (Не группероват в скрипте) Далее, В полученном макс файле сгрупперовать и назвать группу(ы). В файлах экспорта мусора не будет, так как группы при экспорте не было.

2. Выполнить Шаг2 п. 2. (Групперовать в скрипте). Далее из полученного макс файле переэкспортировать файлы экспорта, предварительно разгрупперовав объекты и сколапсить Тсмз. Или, в в фбх выделить и удалить весь мусор, затем реэкспорт в тот же файл.

Короче, открывать, проверять  и править файлы макс и фбх после скрипта, все равно нужно. Потому что, поленившись и загрузив как есть, получишь через два дня вежливое письмо, типа уберите мусор:) И ещё два дня ожидания.

Что касается Unwrap UVW. Не вижу смысла его оставлять в стеке. При конвертации в поли или меш координаты сохраняются. Применив его снова к объекту мы получим те же возможности что и до конвертации.

Это кстати информация также для автора скрипта, возможно это все можно реализовать в новых версиях и тогда ему цены не будет:)

Также хотел обратить внимание автора на условия загрузки моделей на другие стоки. Я уверен на базе этого скрипта можно реализовать и такой функционал. И спасибо Вам за этот полезнейший инструмент!

________________________________________________

И ещё вопрос, у коллеги не работает скрипт Prepare Model 3DDD.

Просто не реагирует на запуск. Я подозреваю что проблема глубже, так как при старте макса выскакивает такое сообщение:

Может есть быстрое решение? Или просто переставить макс? Заранее спасибо!

На сайте c 15.09.2013
Сообщений: 691

RadionovAS1

Спасибо за сообщение, по поводу если что то не работает, пишите в личку, постараюсь помочь. Макс переустановобивать не надо, проблема с vray и темповыми файлами. Так же могу в личке описать

-----------------------------

Написал статью почему нужно делать Reset XForm. Для этого включены эти инструменты в скрипте:

https://3dground.net/ru/article/3ds-max-mirroring-problem 

---------------------------------------------

3D GROUND обновлен до актуального состояния, все скрипты рабочие и без багов, есть все переводы и мануалы.

Сделана мультиязычность, добавлена новая система оплаты на сайте и все работает отлично!

Но что дальше?! 

На данный момент я начал работать над Паковщиком моделей.

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

а также возможность записать на системном уровне информацию об авторстве (максимально 100 символов) в саму модель.

Таким образом, не важно сделаете, attach, remesh или видоизмените геометрию, эту информацию можно будет считать!

Я надеюсь, это позволит моделлерам доказать свое авторство, даже если была позаимствована хотя бы малая часть модели!

Следите за обновлениям в моем телеграм канале: https://t.me/threedground 

А да забыл сказать, паковщик будет полностью переделан с нуля. Будет пересмотрен UI/UX, и будут добавлены пресеты под 3ddd.

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

---------------------------------------

Тестирую добавление копирайтов прямо в панели Modify.

Получилось сделать кликабельную ссылку даже!

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

На сайте c 14.02.2015
Сообщений: 13
Как это будет работать?
На сайте c 15.09.2013
Сообщений: 691
Nesquik123, в скрипте будет возможность наложить копирайты на модель. Одна из опций будет вставка вот таких вот видимых копирайтов, будет запись в User Properties, в File Properties, в общем во все возможные места, ну более жесткая запись прямо в сам меш на системном уровне.
На сайте c 21.09.2009
Сообщений: 181
Москва
Цитата MastaMan:
Nesquik123, в скрипте будет возможность наложить копирайты на модель. Одна из опций будет вставка вот таких вот видимых копирайтов, будет запись в User Properties, в File Properties, в общем во все возможные места, ну более жесткая запись прямо в сам меш на системном уровне.

Это же лишние атрибуты на модели, может вызвать косяки с ней в каком нибудь совсем неожиданном месте smiley-unknw.gif

На сайте c 15.09.2013
Сообщений: 691

Цитата RUSTTM:
Цитата MastaMan:
Nesquik123, в скрипте будет возможность наложить копирайты на модель. Одна из опций будет вставка вот таких вот видимых копирайтов, будет запись в User Properties, в File Properties, в общем во все возможные места, ну более жесткая запись прямо в сам меш на системном уровне.

Это же лишние атрибуты на модели, может вызвать косяки с ней в каком нибудь совсем неожиданном месте smiley-unknw.gif

По идее не должно. Если были случаи опишите, если не сложно.

------------------------

Осталось еще немного и выйдет улучшенная версия паковщика моделей!

Уже есть первые скриншоты:

На сайте c 13.07.2011
Сообщений: 6

Здравствуйте! Не подскажите, с чем может быть связана такая ошибка? 

На сайте c 15.09.2013
Сообщений: 691

Используйте новую версию 

https://3dground.net/ru/prod/model-packer-3091668 

не забудьте выбрать пресет 3ddd/3dsky

На сайте c 08.01.2018
Сообщений: 295
Владивосток
Скажите, есть разница между платной и бесплатной версией?
На сайте c 15.09.2013
Сообщений: 691
Цитата alexsimm:
Скажите, есть разница между платной и бесплатной версией?

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

Более подробно тут:

https://3dground.net/ru/manual/model-packer#/license-obtain-license 

На сайте c 08.01.2018
Сообщений: 295
Владивосток
Почему, после работы скрипта, меш во вьюпорте становится невидим, если на нём включено отображение материала?

На сайте c 15.09.2013
Сообщений: 691
Цитата alexsimm:
Почему, после работы скрипта, меш во вьюпорте становится невидим, если на нём включено отображение материала?

Привет, пришли пожалуйста сцену. Надо посмотреть в чем проблема.

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