из обновления фильтра 3.0.2 Build 168, цитирую фрагмент описания изменений:
-----------------------------------------------------------------
Постановка задачи: Упростить конверт шейдеров из GTS в ETS2. например eut.dif.tintadd чтобы при экспорте заменяла на eut2.glass и т.д.
-----------------------------------------------------------------
сделал следующим образом: фильтр при импорте все шейдеры, которые встречает, заносит в список, который доступен в Settings \ Profile \ Editor \ Preferences \ Filters \ SCSPrism3D \ Shaders
по умолчанию ни для какого шейдера значение там не указано и фильтр вычленит название самого шейдера и назначит его для адаптации материала. Т.е. он назначит "dif.spec" если встретит "eut2.dif.spec.decal.over". Если же для "eut2.dif.spec.decal.over" в этом списке прописать значение к примеру "декаль", то при импорте фильтр будет назначать уже пользовательское имя "декаль" и в редакторе материалов увидишь Adapt: декаль (регистр важен!)
При экспорте, фильтр будет сверять сначала пользовательские имена из адаптации и подбирать подходящий шейдер. Что тут следует учесть - на экспорте получишь именно то название шейдера на которое попало значение адаптации. так, например, если указан "eut2.dif.spec.decal", а в материале выключены опции "Z Correction" and "Render Last" (именно они отвечают за суффикс .decal), то всё равно в mat-файле будет красоваться "eut2.dif.spec.decal". Это остаётся верным и для опций которые включаешь - например если выключить опции "Z Write" и "Z Test" на материале, то в названии шейдера суффикс .noz не появится. Таков вот набор ограничений.
Далее интереснее. После иморта всего и вся получается довольно большой список шейдеров которые попадались фильтру. там могут встречаться как названия из ETS/GTS (начинаются с eut.) так и названия из ETS2 (начинаются с eut2.) Что примечательно, можно назначать одинаковые пользовательские имена на разные шейдеры (при этом конечно лучше понимать что делаешь). Так, например, можно назначить имя "стекло" для шейдера "eut.none_spec.add.env.tintadd" (из ETS/GTS) и это же имя
"стекло" для шейдера "eut2.glass" (из ETS2). При импорте модели из GTS на материале стекла будет адаптация "стекло" и этот материал без труда выгрузится в формате ETS2 причем в mat-файле уже пропишется "eut2.glass".
Если просмотреть названия шейдеров и где и как они применяются, думаю возможно создать некоторую таблицу "конверта" одних матов в другие. прописав эти назавния в профиле, конверт материалов GTS->ETS2 упростится.
-------------------------------------------
2. Создание .tobj и .mat файлов
-------------------------------------------
Так же в обновлении фильтра 3.0.2 Build 168 представлена новая опция экспорта "Local .tobj & .mat" которая позволяет фильтру создавать в папке экспортируемого файла все .tobj и .mat файлы.
Следует правильно понимать, что эта опция лишь принуждает фильтр создать эти файлы, в то время как их содержимое по прежнему учитывает группы в которых значились материалы и текстуры. Уверен, это требует некторого пояснения:
Если .tobj необходим в папке экспорта и там же и будет использоваться (т.е. по этому пути и будет лежать текстурка), то соответсвующую текстуру надо извлечь из "группы" (группы в браузере слева вверху). для этого текстуру надо перетащить на надпись "All Textures". После этого для текстурки в любом случае будет создан .tobj файл и соотвествующую текстуру надо паковать вместе с модом.
Если текстурка идет общая на несколько модов и, к примеру, будет размещаться в папке vehicle/truck/share/paintjob, то надо в браузере текстур создать группу с таким именем и перетащить требуемые текстуры в эту группу. После чего можно экспортировать. Как следует из описания фильтра, .tobj для текстур в группах создан не будет, т.е. предполагается что эта текстура там уже лежит и к ней есть .tobj (это верно для родных "расшаренных" текстур в игре), но это может быть не так, если вы только собираетесь поместить туда текстуру и вам нужен соответсвующий .tobj файл. Именно здесь вам надо включить опцию "Local .tobj & .mat" и экспортировать снова. Вы получите в папке с экспоротом .tobj файл для своей тексуры. Что важно отметить, что этот tobj всё равно ссылается на текстуру, что в папке vehicle/truck/share/paintjob ! Более того, в mat-файлах материалов, которые использовали эту текстуру всё равно прописан /vehicle/truck/share/painjob/***.tobj. Т.е. занозоа просто создает вам этот файл, но вы всё равно должны поместить его в ту папку, которая была указана в названии группы у текстуры.
С .mat файлами ситуация полностью идентичная, за исключением того, что со включенной опцией .mat файлы не только создаются в папке экспорта, но и прописываются по этому же пути в PMD файле.
Отредактировано ZModeler3 (2012-11-02 19:14:34)