PlayTruckSims: Грузовые симуляторы, Дальнобойщики, Euro Truck Simulator 2, American Truck Simulator

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



База знаний ZModeler 3

Сообщений 1 страница 20 из 20

1

Основная информация и основные туториалы по программе.

Тему ведёт и обновляет автор программы, Zmodeler 3

Установка, запуск и активация программы

Установка
Программу необходимо скачивать с оффициального сайта https://www.zmodeler3.com (ссылка для скачивания доступна справа внизу), это гарантирует наиболее свежую и полную версию, хотя и необазательно укомплектованную самыми последними сборками модулей. Некоторые некритичные обновления могут отсутствовать в сборке при скачивании и появятся при автообноалении программы.

Программа поставляется как .zip архив и не требудет установки. Архив необходимо распаковать в какую удобно папку. Если у вас уже есть установленная версия программы, лучше создать новую папку для свежей версии и распаковывать её туда, а в дальнейшем можно удалить старую версию если она окажется ненужной.

Допускается работа нескольких версий (или нескольких копий) программы из разных папок, при этом все версии могут быть активированы одной и той же лицензией. Если есть необходимость запустить сразу несколько ZModeler одной и той же версии, это нужно делать запуская их из разных папок, или проще говоря, запустить насколько копий из одной папки не получится - конфликт запущенных программ оставит одну из копий без лицензии.

Все настройки программа сохраняет в файл ZModeler3_profile.xml. Данный файл переходит от версии к версии со стандартными настройками, а на вашем компьютере по мере пользования программой он дополняется вашими собственными настройкми. Если при обновлении версии вы предпочетаете сохранить свои прежние настройки, достаточно сохранить ваш ZModeler3_profile.xml файл и заменить сохранненной копией соответствующий файл после распаковки новой версии. Данный файл в частности сохраняет цветовую схему, горячие клавиши, расположение и размер окон, кнопок, инструментов и т.д.

Запуск
Программа поставляется с необходимым набором библиотек, однако для её работы требуется наличие установленного DirectX 9.0c версии от июня 2010. Данный пакет из-за своих размеров не поставляется с программой и его желательно скачать и установить предварительно: https://www.microsoft.com/en-us/download … px?id=8109
Следует понимать, что наличие более свежей версии DirectX у вас в системе, не означет, что она подходит для ZModeler3. Для работы программы нужна вполне конкретная версия DirectX и установка его в систему лишь дополнит разнообразие доступных версий DirectX у вас в системе, но не в коем разе не откатит версию на более раннюю.

Активация
Для работы программы необходима лицензия и программа активируется лицензионным ключем. На пробный период предоставляется бесплатная пробная (Trial, триальня) лицензия на 14 дней. Функиональность программы на пробной лицензии идентична функционалу полной программы.
Для получения триальной лицении необходимо создать аккаунт на сайте https://www.zmodeler3.com/account/
Для активации аккаунта надо указать адрес электронной почты, и на указанный адрес придет письмо с ссылкой для активации. Если письмо не приходит в течение нескольких часов, можно в аккаунте рядом с адресом электронной почты надать на "колокольчик" и администрация будет уведомлена о необходимочти активировать аккаунт вручную.
После активации аккаунта в нем появятся дополнительные разделы связанные с лицензией, заказами и прочие. Первое с чего надо начать - зарегистрировать ваш компьютер (далее "Платформа") в аккаунте. Для этого запустите ZModeler и откройте окно "о программе", нажав на иконку (?) в верхнем меню. Там перейдите на закладку "License Information" и увидите ID своей платформы вида ABCDE-FG. В аккаунте на закладке My Computers надо добавить эту платформу нажав на кнопку Add New, введя в поле соответсвующий ID и нажав Submit.

Поскольку ID не уникальны, возможно, платформа с таким ID уже кем-то зарегистрирована. В таком случае вы увидите надпись внизу "This plaform ID is already attached to someones account". В таком случае необходимо уведомить меня по почте или приватным сообщением (здесь или на форме ZModeler3), указав логин от своего акканута и ID платформы, который не удалось добавить. Каждый такой случай разбирается отдельно и если не будет обнаружено причин не позволяющих добавить вам такую платформу, платформа будет добавлена на ваш аккаунт администрацией через некоторое время. В большинстве случаев (тоже всё проверяется-перепроверяется) платформу вам выдадут с триальной лицензией.

После добавления платформы и получения триальной лицензии необходимо активировать лицензию. На закладке "My Licenses" находите в левом столбце лицензию которую хотите активировать, нажимаете на неё и произвотиде её активацию для платформы:
1. выбираете платформу в списке, для которой вы хотите активировать лицензию (триальная лицензия выдаётся привязанной к платформе и для нее нельзя выбрать какую-то иную платформу)
2. Нажимаете на знак (?) в строке с кнопкой "Apply". Система проинформирует, что после активации сразу же пойдет время лицензии, которое будет истекать именно с момента активации.
3. После закрытия окна с информацией кнопкой Ок, нужно нажать галочку в строке с кнопкой "Apply" (до этого момента она была неактивна).
4. Нажать кнопку Apply. При этом будет сгенерирован лицензионный ключ для указанной лицензии, он появится в той же строке, а справа от него иконка (!). Если нажать на иконку с восклицательным знаком, появится окно с инструкцие по ручной активации лицензии. В настоящее время она необязательна.

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

Автоматическая активация.
Для автоматической активации программы необходимо в аккаунте разрешить вашему компьютеру проводить онлайн действия с аккаунтом. Для этого на закладке My Computers выбираете в списке свой компьютер, включаете галочку "Allow this platfrom to login" и указываете пароль для платформы. Это может быть какой угодно пароль 6-12 символов, он может совпадать с паролем от вашего аккаунта, хотя и не обязательно - полностью на ваше усмотрение. Потом нажмите Submit.

В программе ZModeler в окне "О программе" перейдите на закладку "Account Setup". В нем необходимо указать логин от аккаунта и пароль назначенный этой платформе. небольшое пояснение - аккаунт может быть один на несколько платформ, иногда там могут быть платформы "для друзей" или "для членов клана/группы", поэтому пароль даётся для каждой платформы отдельно, чтобы при необходимости пользователи указанных платформ могли получать и обновлять лицензии, но не могли войти в сам аккаунт для каких-либо действий.

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

После перезапуска откройте снова в программе закладку "License Information". Помимо ID платформы там должна появиться ваша лицензия в виде лицензионного ключа и сопутствующей информации. Программа "скачав" лицензию проведет её валидацию (освежит срок действия), после чего можно перезагрузить программу.

Ручная активация.
Ручная активация производится в два идентичных этапа. На первом этапе вы поставляете программе лицензионный ключ, на втором - валидацию. Лицензионный ключ доступен в аккаунте на панельке лицензии, а валидацю вы получаете там же, нажав кнопку Validate.
Для вставки лицензионного ключа или ключа валидации в программу, его необходимо скопировать полностью (можно открыть любой текстровый документ и нажать Ctrl+V (вставка), чтоб убедиться, что ключ скопирован полностью). Открыть окно программы "License Information" и нажать Shift. Программа считает ключ и активирует его, однако без валидации напишет чуть ниже ключа Verification: failed.
Затем проделать то же самое с ключем валидации (скопировать, Shift) - и надпись поменяется на "Verification: passed today". После этого программу можно перезагрузить.
Следует помнить, что валидация даётся на небольшой срок (он написан в аккаунте на панельке информации про лицензию) и новую валидацию придется делать потом снова. При использовании автоматической онлайн активации, программа будет это делать самостоятельно по мере необходимости.

Возможные проблемы во время или после активации

1. ничего не происходит в окне License Information.

Проверьте, чтоб ID платформы в этом окне совпадал с тем, что вы указали в аккаунте.
Убедитесь, что верно указан логин аккаунта и задан верный пароль от платформы. Для простоты используйте пароль типа 123456.
Проверье, чтоб в аккаунте при выборе платформы у нее стояла галочка "Allow this platform to login".
Убедитесь, что для вашей платформы на закладке My Licenses есть хоть одна активированная лицезия в среднем столбце.
Если проводите ручную активацию, убедитесь что полностью скопировали ключ из аккаунта, открыв текстовый документ и нажав Ctrl+V. при этом ключ должен появиться полностью.

2. Verification: failed не меняется
Получите новый ключ валидации кнопкой Validate в аккаунте.
Убедитесь, чтоб вы получаете ключ валидации именно для той лицензии, ключ которой написан в программе (такой же ключ должен быть в аккаунте на панельке лицензии)
Если проводите ручную активацию, убедитесь что полностью скопировали валидационный ключ из аккаунта, открыв текстовый документ и нажав Ctrl+V. при этом ключ должен появиться полностью.

3. После перезапуска программы лицензия пропала
Убедитесь, что не запущена еще одна копия программы. Можно открыть диспетчер задач и остановить там процесс ZModeler3.exe, если он есть. После этого перезапустите программу снова и проверьте наличие лицензии.
Проведите активацию ключа и ключа валидации снова и перезапустите программу еще раз.
Убедитесь, что в папке "Shared" у программы есть файл CodeLib.zmx а во время активации (перед закрытием программы) там появляется файл CodeLib.dynamic. Если первый из указанных файлов отсутсвует, его можно скопировать из установочного zip архива программы. Если он пропадает или если не появляется второй файл, вероятно их удаляет ваша антивирусная защита. Рекомендуется отключить её на время активации и/или добавить ZModeler и его папку с файлами в исключения или "доверенные программы". В противном случае антивирус так и будет удалять лицензионные файлы и будет препятствовать обновлению программы.

0

2

Как у модели сделать новый вариант?Например тоже здание - по умолчанию один - default, а как добавить например LOOК1 LOOK2 и т.д?

Эти варианты добавляются кнопкой New State на закладке Structure. В опциях надо указать "Exclusive" и "Affect Materials". оба варианта уйдут в одну общую кнопку с выпадающим списком. Если используется и вариант Default,
то его тоже надо создать, иначе в экспортированном файле такого варианта не будт (он создаётся когда нет других вариантов).

1. Выбрав вариант Look1 (нажав кнопку) переходишь в редактор материалов и открываешь свойтсва нужного материала.
2. На закладке Material States увидишь внизу Look1 - нажми кнопку Add current. При этом вариант Look1 появится в списке на вкладке Material States (и будет выделен жирным, т.к. это текущее выбранное состояние).
3. Открываешь вкладку с текстурой (например DETAIL1) и вдишь что она пустая. Т.е. для данного варианта материал использует текстуру как и для обычного состояния (вариант выключен). Ставишь галку "Overload sampler
for current material state" (Особые настройки сэмпла/текстуры для текущего состояния материала).
4. Выбираешь текстуру и настройки текстуры для текущего состояния (Look1).
5. При необходимости, подстраиваешь сэмплер SPECMAP.
6. Повторяешь действия 1-5 для варианта Look2.

всё, теперь при выключении вариантов Look1/Look2 будет показан обычный материал, при включении Look1 или Look2 он будет менять текстуры.

P.S. вообще, движок SCS позволяет полностью менять материал для разных состояния (т.е. и цвет, и сам шейдер, и настройки прозрачности и отражений), но в занозе на разные состояния можно менять только текстуры.

+1

3

Как сделать свой материал и назначить на него текстуры?

1. сконвертировать материал в "Shader Material" путём выбора материала (или нескольких сразу) и потом двойной щелчек в дереве слева на New Material -> Shader Material. По умлочанию на все шейдерные материалы назначается шейдер Color и текстурка с материала (если это был материал из второй занозы к примеру) пропадет.

2. применить к материалу (или нескольким сразу) нужный шейдер. точно так же - либо двойным щелчком либо перетаскиванием нужного шейдера на плитку материала. По умолчанию назначается шейдер Color (без текстур)

3. в свойствах материала отображаются панельки текстуры только для тех типов текстур, которые есть в шейдере у материала. если каких-то закладок нет, значит выбран неправильный шейдер - просто поменять шейдер как указано в пункте 2. Шейдеры меняются безболезненно и настройки не сбрасываются. т.е. если переходишь с более продвинутого шейдера на какой-то простой, то "лишние" настройки материал помнит, просто они недоступны. вернувшись на какой-то продвинутый шейдер, материал вспомнит все настройки текстур, которые были назначены ранее.

4. текстурку на панельки материала можно просто перетаскивать из браузера текстур. или по-старинке нажимать на кнопку с названием текстуры и выбирать в браузере. планируется сделать назначение текстурки DETAIL путём перетаскивания из браузера текстур прямо на плитку в редакторе материалов для быстроты. ну это так, лирика.

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

Для конверта сразу нескольких материалов надо в браузере материалов выбрать первый материал, удерживая Shift кликнуть на последний, чтоб выбрались сразу несколько. С кнопкой Ctrl можно добавить к выбранным или убрать из них какой-то материал. Затем двойной щелчек на Shader Material сконевертирует выбранные материалы.

0

4

Второй канал UV для чего он? как сделать траку кабрну двухцветной и использовать раскраски как на дефолтных траках?

Второй канал используют шейдеры truckpaint и шейдеры в которых упомянуты два раза "dif" но не упомянуты "weight". например, dif.over.dif, dif.mult.dif.

Перед изменением второго канала мэппинга надо убедиться что он есть у объекта (свойства, Mesh\Vertices\Format\Max UV Channels -> 2). По умолчанию большинство объектов в занозе (в том числе при импорте из второй занозы или различных форматов) идут всего с
одним каналом UV.

при маппинге второго канала на трак лучше использовать vehicle\truck\share\painjob\matching_pattern.dds, чтоб
наиболее точно мапить скин. при необходимости, можно прям в занозе
примерять скины и смотреть чтоб они все налазили на модель правильно.

0

5

При конверте из GTS/ETS в ETS2 приходится много переименовывать названия шейдеров для игры (Adapt), можно как-то упростить процесс, чтом например eut.dif.tintadd сразу при экспорте заменяла на eut2.glass и т.д.?

фильтр при импорте все шейдеры, которые встречает, заносит в список, который доступен в Settings \ Profile \ Editor \ Preferences \ Filters \ SCSPrism3D \ Shaders

по умолчанию ни для какого шейдера значение там не указано и фильтр вычленит название самого шейдера и назначит его для адаптации (Adapt) материала. Т.е. он назначит "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 упростится.

0

6

При экспорте заноза не создаёт MAT файлы или TOBJ файлы. Я ставлю галку "Local .tobj & .mat", файлы появляются, но игра всё равно ругается на отсутсвующие материалы или текстуры и модель в игре красная. Что я не так делаю?

Опция "Local .tobj & .mat" позволяет фильтру создавать в папке экспортируемого файла все .tobj и .mat файлы.

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

Обращайте внимание на группы текстур и материалов, а также на значение пользовательского свойства Origin (на закладке Properties в отдельном окошке User Defined) у корневого дамми объекта сцены!

Если .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 файле.

Если группа не указана для материала или текстуры, используется путь указанный в Origin.

0

7

Как поменять Origin на модели?

На самом верхнем дамми-объекте в списке объектов нажимаешь, потом внизу под списком жми кнопку Isolated, на закладке Properties вверху появятся свойства объекта - двойной клик на User Defined и там меняешь значение свойства Origin. потом Apply и выключи Isolated.

0

8

Как сделать правильный материал для фар, чтоб светилось и само стекло фары а не только "эффект"?

Надо назначать на материал шейдер eut2.lamp или eut2.lamp.add.env. Второй из них поддерживает отражения (ENVMAP), в остальном они идентичны. В занозе используют шейдеры на основе двух
текстур (ветка Dual Diffuse). Вторая текстура (DETAIL2) предназначена для текстуры-маски. это текстурка где отдельные каналы R, G, B, A отвечают за интенсивность подсветки при горящих стопах, габаритах, поворотниках и т.п. Я не экспериментировал в игре, но там всё интуитивно должно быть. В занозе можно смотреть переключаяя входной канал Input Map на DETAIL2 (попеременно выбирая R, G, B, A), по умолчанию стоит RGB и текстурка цветным поверх основной текстуры наносится. Обращаю внимание: текстурка-маска использует второй UV канал! Т.е. можно сделать более детальную текстурку для фар, не надо "ужиматься" в мелкие детали, которые отведены фарам на оригинальной color.dds текстуре.

Для того чтоб игра отличала "левый поворотник" от "правого", "передние" от "задних", все осветительные приборы надо мапить не только на саму текстуру (т.е. в первый квадрат - он для передних левых фар), но и во второй квадрат (справа от текстуры - для передних правых фар), и еще правее в третий и четвертый квадрат для задних левых и правых фар. т.е. надо при мэппинге некоторые объекты вынести справа от текстуры. Как это сделать? Во первых, сделать мэппинг на саму текстуру, чтоб всё правильно нанеслось и отображалось в занозе. затем взять инструмент Move, выключить в панельке наверху ось Y (останется включенной только X) выбрать в UV Mapper-е вершинки от мэппинга "передних правых осветительных приборов" нажать и начать их двигать вправо. не отпуская левой кнопки нажать кнопку Tab. Появится окошко где можно ввести расстояние, на которое применить инструмент (кнопку можно отпустить). в окошке вводим 1.0 и выбранные вершинки сдвигаются вправо на 1.0. При этом они уйдут за пределы текстуры но мэппинг на модели не пострадает. аналогично для задних левых и правых фар - сдвинуть на 2.0 и 3.0 соответственно.

0

9

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

1.выбрать текстуру-маску для цветов (у неё каждый канал отвечает за один цвет или какой-то один канал отвечает за нужный цвет, для занозы без разницы). В ETS используется по-моему в обратном порядке - синий, зеленый, красный (может и альфа тоже используется для четвертого цвета, не уверен). Родные текстуры-маски лежат в папке vehice/truck/share/paintjob/
2. текстурку применить на слот текстуры и выставить её уровень (Output Level) в 0, чтоб она не отрисовывалась на материале. Для кабины, это скорее всего будет слот DETAIL2, т.к. на DETAIL лежит основная текстура материала.
2.2. текстура-маска скорее всего должна использовать UV#2, соответсвтенно надо выставить этот источник UV для материала.
3. на самой верхней закладке выбрать в списке Diffuse2 - это второй цвет для материала.
3.1. выбрать цвет
3.2. выкрутить Level на полную.
3.3. включить галочку Masked By map/channel и выставить там слот текстуры-маски (DETAIL2) и соответствующий канал (B.G.R...)
(галочки Matted, Glossy, Opaque для ETS значения не имеют, это для занозы и просто задел на будущее).

После этих манипуляций, на сэмпле в редакторе уже будет виден второй цвет в соответствии с текстурой-маской. на самой модели он может не появиться, если отсутсвует UV#2. Соответственно, после раскладки UV#2, появится и на кабине раскраска. Раскладка там довольно простая, за 5 минут можно бегло раскидать всю кабину.

на загруженной оригинальной модели ETS2 уже назначены дополнительные цвета, достаточно в
редакторе текстур заменить (Replace...) текстурку empty.dds с какой-нибудт маской из vehicle/truck/upgrade/paintjob/ и трак будет с раскраской в 3D окне.

0

10

После экспорта оригинального салона перестает работать GPS в салоне. вместо него компьтер рисуется, хотя ничего в модели и материалах не менял.

Для исправления этой проблемы на форуме занозы в теме про фильтр ETS2 прикреплен файл ets2gps.zip. в нем "правильный" tobj файл для салонного GPS. достаточно распаковать этот tobj в папку игры (в папку с распакованным base.scs) и проблема будет утсранена.

Данный файл позволит при импорте загрудать текстуру "gps.dds" для GPS, т.к. на дефолтных траках загружается текстура dashboard.dds, что на экспорте создаёт неправльную привязку к tobj файлам.

0

11

В игре от трака и кабины нет тени, как её сделать?

загружаешь родную модель (сканию, рено, без разницы) с выключенной опцией Merge Models. и галочками по одной включаешь-выключаешь объекты. быстро найдешь что в почти каждой вкладке есть простенький по форме серый объект - а материал он использует с адаптацией (Adapt) shadowonly (дословно "только тень"). движок игры будет рендерить эти объекты для создания теней внутри кабины, под грузовиком и т.п, но на экране ты эти "простенькие" объекты не увидишь. вот такие же надо создать, чтоб тень появилась.

0

12

Добавил к траку/салону свои модели и тюнинг, но в игре они светятся, хотя используют те же материалы.

Когда трак заезжает в тень, то объекты становятся "плоскими",  объем геометрии не читается, что можно сделать?

Обе проблемы связаны с рассчетом "общего освещения" (Ambient Occlusion), которое сделано на всех родных моделях в ETS2. Данные освещения нанесены на текстуры модели (прорисованы в виде теней на самих текстурах) и внесены в цвет вершинок на модели. Если нет возможности создать качественные текстуры с тенями (так называемое "запекание"/baking), то можно сделать приблизительный рассчет теней в ZModeler используя инструмент Self Shadows. Для этого надо включить опцию "Diffuse Color" в свойствах "Mesh\Vertices\Format" на объектах сцены и выполнить поэтапный рассчет освещения.

Данная тема показана в двух видеоуроках.

Первый видеоурок показывает рассчет освещения на модели трака. используется стандартный трак и для всей модели обновляется освещение. В случае добавления лишь нескольких деталей к модели, можно делать рассчет лишь для новых деталей, подгоняя результат под основную модель:
[youtube]https://www.youtube.com/watch?v=-0eKj-loZmU[/youtube]

Второй видеоурок раскрывает технику освещения для "замкнутых пространств" на примере салона трака:
[youtube]https://www.youtube.com/watch?v=T5Q7428h9AY[/youtube]

+1

13

Ошибка наподобии ??A?$array_t@M@prism@@QAEAAMI@Z: Index outside array boundaries. - с чем она связана?

Игра может загружать (в основное меню или непосредственно в рейс) не только основную модель трака, но и его LODы (менее детализированные варианты). В частности, для отображения трака в меню, игра может использовать расстановку элементов из LOD-версии трака, а саму геометрию раскладывать из высоко-детализированной сцены (truck.pmd). Данная ошибка может появиться если игре не удаётся состыковать расстановку элементов LODа с высоко-детализированной геометрией модели truck.pmd. Грубо говоря, если в модели truck.pmd удалены несколько даммисов колес, а в LOD-версии они остались, то это потенциально проблемная ситуация. причем о ней можно не знать, если вы поставили высоко-детализированные настройки графики.

Рекомендуется перед работой с траком перенастроить его конфигурационный файл chassis.sii , заменив в нем упоминания файлов-LODов ссылкой на высоко-детализированную модель. например так:

Код:
    detail_model: "/vehicle/truck/scania_rcab_09/truck.pmd"
    model: "/vehicle/truck/scania_rcab_09/truck.pmd"
    lods[]: "/vehicle/truck/scania_rcab_2009/truck.pmd"
    lods[]: "/vehicle/truck/scania_rcab_2009/truck.pmd"
    collision: "/vehicle/truck/scania_rcab_09/truck.pmc"

после этого можно вносить изменения в сцену truck.pmd и на время тестирования не беспокоиться о LODах.
В окончательном моде конечно надо делать и LOD модели для траков и прописывать их соответсвующим образом.

Данная рекомендация верна и для случая, когда у трака не меняется положение колес, даже после изменения позиций дамми-объектов в модели truck.pmd.

0

14

Краткий обзор создания и редактирования анимации для ETS2

Для создания анимации используйте кнопку "Animation" в редакторе анимации. У созданной анимации необходимо выключить опции World tracks, Relative to bind и включить опцию Keep Handedness.

Преамбула.
1. файлы PMA могут содержать трэки для управления несколькими объектами сразу.
2. имена соответсвующих объектов в PMA не представлены (не предусмотрено разработчиками), вместо этого объекты привязаны числовым индексом 1....256

Собственно, исходя из этих данных, пришлось реализовать работу (а вернее экспорт) анимации следующим образом:
1. на каждом трэке анимации есть свойство ID. если в редакторе трэков на анимации несколько трэков, можно их убрать из "правой стороны" редактора и пройтись по ним в дереве в левой стороне. при этом слева внизу будут показаны свойства выбранного трэка. там есть свойство ID, которому надо задать правильное значение.
2. каждый объект анимированной сцены располагается в иерархии, которая начинается со служебного имени __root__ (точно не помню, вроде двойное подчеркивание и спереди и сзади, посмотрите на оригинальных моделях). Предполагается, что это корневой элемент и ему соответсвует номер 0.
3. все объекты в сцене должны иметь уникальный номер или ID отличный от нуля (ноль занят корневым элементом) и все номера должны сформировать набор чисел без пропусков. Т.е. номера не обязательно должны быть по порядку, допускаются перестановки и перетасовки, но общий набор должен получиться без пропусков. т.е. 1,2,3,4,5 и т.д.. Например, сцена где нет объекта с номером 3, но есть 4,5 и т.д. - будет экспортирована неверно (будет или нет какое сообщение, не помню, скорее выругается).
4. номера/ID для объектов указываются в свойствах объекта. Properties -> External State -> ID.

Ввиду такой "сложности" настоятельно рекомендую на листке бумаги выписать все объекты для анимации и их ID, чтоб это было перед глазами.

Так вот, номер\ID на трэке надо выставить такой же, как и ID на объекте. В игре такой трэк анимации "захватывает и управляет" соответсвующим объектом в сцене. Более того, не допускается назначение разным анимациям и их трэкам одного и того же ID. Т.е. сразу несколько анимаций не могут управлять одним и тем же объектом.

Если необходимо сделать разные анимации для одного и того же объекта, поступайте так же, как и SCS - вводите дополнительные объекты в иерархию. простого dummy будет достаточно. Например, для анимации рычага управления светом есть две анимации - одна для поворотников (вверх/вниз), другая - для дальнего света (от себя). каким образом это сделать? перед объектом рычага (пусть это будет light_stick) в иерархию добавляется дамми-объект light_stick_mount "крепление переключателя", а объект "light_stick" делается дочерним для этого дамми. дамми объект естественно мы выставляем в основании рычага управления светом - т.е. точка основания, относительно которой рычаг будет двигаться. Далее для этого дамми назначем свободный ID который мы еще нигде не использовали. У дамми-основания будет один ID, у самого рычага - другой. Теперь в одной анимации мы привязываем трэк (и выставляем ID на трэке) для дамми-основания, а на другой анимации делаем аниму непосредственно для рычага. Таким образом, одна аниация будет поворачивать дамми-основание, которое в свою очередь развернет и всю иерархию, прицепленную к этому дамми, а в нашем случае это рычаг управления световыми приборами). а вторая анимация, независимо от дамми основания может двигать сам рычаг от себя / на себя. При необходимости, третья анимация может крутить кончик рычага включая габариты и ближний свет. для этого кончик рычага должен быть отдельным объектом со своим ID и прицеплен в иерархии как дочерний объект к основному рычагу light_stick.

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

Каким образом проверить правильность созданной анимации? надо загрузить её из файла в редактор, пометить как активную (кнопка вверху с зеленым треугольником), потом взять иерархию сцены за объект __root__ и перетащить на анимацию. в появившемся окне надо выбрать Match by ID. рядом с этой надписью должно быть "(сколько-то там совпадений)", например "(4 matches)". количество совпадений должно соответсвовать количеству трэков в анимации. если не так - где-то напутали с ID. запускайте анимацию и смотрите, какие объекты не двигаются.

Небольшое замечание по выставлению ID на объекты. скорее всего нельзя родительским объектам назначать ID больше чем у любого из дочерних. Настоятельно рекомендую выставлять ID следующим образом:
а) сверните все ветки иерархии, разверните корневой элемент __root__.
б) пройдитесь по порядку по его дочерним элементам, назначив 1, 2, 3, ..... , 6, 7
в) раскройте плюсиками ветки на этом данном уровне (раскрыв ветку, в ней ничего сейчас раскрывать не надо)
г) пройдитесь по раскрытым веткам и назначьте им ID 8, 9, 10 ... 13, 14.
д) повторите пункты в-г для очередного уровня.

ИЛИ

а) раскройте все-все ветки иерархии
б) начиная с __root__ и вниз, по списку (как в дереве сцены идут сверху вниз) проставьте ID по порядку без пропусков.

Важно: изменение ID в сцене обязывает вас переназначить/пересохранить все PMA файлы, чтоб там на всех трэках ID соответствовали сделанным изменениям

0

15

Видеоурок по текстурированию (UV Mapping)

0

16

Видеоурок по запеканию текстуры (Ambient Occlusion Baking)

+2

17

Видеоурок по наложению раскраски на второй UV канал, а также эффекты lightmask для фонарей.

+1

18

Видеоурок по анимации ETS2.
Часть 1 из 2.
Создание простой анимации для отдельного объекта.
Продолжительность: 9 минут
Уровень сложности: Средний

0

19

Видеоурок по анимации ETS2.
Часть 2 из 2.
Создание гибких анимированных элементов салона с помощью скелета и костей.
Продолжительность: 22 минуты
Уровень сложности: Эксперт.

0

20

Ошибки с Origin, Mod folder при экспорте. Отсутствуют .mat, .tobj файлы. Игра не находит mat или tobj файлы.

1. При экспорте обязательно надо выбрать папку Mod folder.
2. Экспорт должен идти в файл находящийся в Mod folder (где-то в глубине, не обязательно прям в самой папке). При этом эта "глубина" из под-папок образует путь Origin, который раньше надо было ручками прописывать в свойствах.
3. Значение Origin должно совпадать с тем путём, по которому идет экспорт, или удалить это свойство вообще, поскольку оно теперь не нужно.

При экспорте с условиями, перечисленными выше, (назовем этот сценарий правильный экспорт), фильтр сам создаст все необходимые папки и файлы, начиная с Mod folder. Таким образом, если расположение каких-то матов или текстур был настроено (путём задания группы материалов или группы текстур) на какую-то папку, то фильтр сам создаст эту папку и разместит .mat и .tobj где следовало.

Пути в группах материалов и группах текстур могут начинаться с косой черты - при этом путь будет подразумеваться "относительно Mod folder". если он указан без косой черты, то "относительно папки, куда экспортирую". Так, указав к примеру группу материалов "mats" и перекидав туда все материалы, в папке с экспортом будет создана папка "mats" и все .mat окажутся в ней. Аналогично, указав у текстур группу "mats/textures" и перекидав туда все текстуры, на экспорте будет еще и папка "textures" внутри "mats" и там окажутся все .tobj

Ограничения и замечания:
1. Непосредственно текстуры (dds) по папкам не раскидываются, это придется делать вручную.
2. Некоторые стандартные tobj создаются заново, но в мод их лучше не включать и просто удалить - особенно важно удалить все tobj, которые создаются в папке material/environment

Пример (салон для ивеко):

Mod folder это папка, в которой будет собираться мод. пусть это будет D:\ModHiWay. В ней надо создать папки vehicle/truck/iveco_hiway/interior. В сцене надо удалить свойство Origin с корневого dummy (именно удалить, с не пустое значение прописать). Также в браузере материалов и текстур удаляем папки-группы для тех матов/текстур, которые в папке экспорта должны оказаться (это как правило собственные текстуры для трака/интрерьера). Оставляем пути только для специфиченых "отсылов" к стандартным/общим текстурам и матам, типа /vehicle/share/ для dashboard и gps... и, например, текстурку с "логотипом," который, к примеру, на самом траке тоже используется - ей прописывается группа vehicle/truck/iveco_hiway - чтоб в папке с траком текстура была.

Делаем экспорт в папку vehicle/truck/iveco_hiway/interior (которая внутри D:\ModHiWay) - и там сгенерятся все маты, а для "логотипа" сгенерится отсыл в vehicle/truck/iveco_hiway. Теперь (для примера) делаем экспорт в vehicle/truck/iveco_hiway/interior_super_mod/ - и теперь именно там сгенерятся все маты и тобжи, причем в матах будут прописаны пути к тобжам правильные. а отсыл к "логотипу" так и останется "vehicle/truck/iveco_hiway/". т.е. "Origin" определяется в момент экспорта относительно Mod folder. Для работы с траками это, может, и не нужно. а когда работаешь с кучей объектов, которые пакуются в один мод - префабы, или элементы декора трака - mod folder задает организацию, а ты просто делаешь экспорт каждого объекта в свою папку.

Обращаю внимание, что правильны экспорт сгеренит материалы и tobjы для уже существующих текстур. например, в папке Mod folder появится папка "material \ environment" и там будет файлик vehicle_reflection.tobj. поскольку эти файлы уже есть в игре, эту папку рекомендуется удалить. аналогично, для салона сгенерится файл vehicle\share\dashboard.tobj - он тоже не нужен, он у всех траков общий, т.е. тоже можно удалить.

Замечание по "папкам-группам" в браузере матов и текстур: если там название начинается с косой черты / , то такой путь берет начало в Mod folder. если же там путь указан без косой черты в начале, то такой путь дописывается к папке, в которую экспортируешь. так, к примеру, можно задать группу для матов "mats" и при экспорте в папке экспорта D:\ModHiWay\vehilce\truck\iveho_hiway\interior появится папка mats и у неё внтруи будут соответсвующие .mat файлы. аналогично для текстур.

Важно: на экспорте .mat и .tobj раскидываются по финальным папкам, но перед упаковкой мода надо самому разложить по соответсвующим папкам файлы текстур DDS.

0