MW ::: Туториал по конвертированию автомобилей в MW

Оглавление:

-- Необходимые программы
-- Настройка
- 1. Подготовка модели
-- Части автомобиля
-- Деколи
-- Повреждения
-- Материалы
- 2. Zmodeler
-- Мини-поинты
- 3. Текстурирование
- 4. Конвертирование
- 5. VltEdit
-- Типы переменных
-- Логотип и название
-- Настройка колес
- 6. Дополнительно
-- Таблица стандартных текстур и шейдеров
-- Список всех доступных шейдеров
-- Настройка камер
-- Тонировка стекол
- 7. Окончание

Необходимые программы:

1. NFSMW-Modtools [Скачать]
2. Zmodeler 1.0.7
3. 3Ds Max или другая программа для работы с 3D-моделями, из которой возможен экспорт в формат, понятный для Zmodeler'a
4. Adobe Photoshop или любой другой графический редактор, поддерживающий формат Direct Draw Surface (DDS)
5. DDS-plugin для Adobe Photoshop [Скачать]
6. Опционально: сторонние программы для экспорта моделей из игр, 3DRipperDX


Настройка.

1. Установить Zmodeler, Adobe Photoshop, 3Ds Max и все необходимые программы. :)
2. Установить плагин для Adobe Photoshop из комплекта DXTTools
3. Распаковать NFSMW-Modtools в отдельную папку.
Папка /bin/ содержит все основные программы, используемые для импорта в NFS MW новых автомобилей.
Папка /ferrari360/ содержит файлы примера автомобиля Ferrari Spider 360, экспортированного Arushan'ом.
Папка /zmodeler/ содержит фильтр для Zmodeler'а. Его необходимо скопировать в папку /Filters/ установленной программы.

Разберемся с программами в папке /bin/.
1. binTex - программа для просмотра файлов игровых текстур.
В основном используется для проверки на работоспособность созданных файлов и для замены текстур.
2. geomviewer - программа для просмотра созданной модели, с ее помощью можно изучить внутреннее строение игровой модели, получить адресные названия шейдеров и текстур, используемых на определенной части автомобиля.
3. vltedit - программа для нахождения адресов в памяти игры, которые в последующем понадобятся для применения патчей.
4. Файлы mwgc.exe, mwtc.exe, texpatch.exe служат для непосредственного импорта модели в игру. Не пытайтесь их запускать, они работают только с параметрами командной строки.

Пример содержит следующие файлы:
- 360badging.dds - текстура, накладываемая на стекла, в ней использована альфа маска;
- 360misc.dds - основная текстура Ferrari;
- 360tire.dds - текстура колес и тормозов;

- mw360.mwr - файл с геометрией машины, полностью готов для импорта в игру. Формат Most Wanted Raw (*.mwr), получают при экпорте модели из Zmodeler'а.

- matlist360.txt - основной файл с описанием материалов модели;
- texdefn.txt - файл, определяющий текстуры модели;
- xlink360.txt - задаются части модельки (капоты, корпуса, etc.) и их качество

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

- build.bat - основной файл всего архива, после его запуска в папке /output/CARS_REPLACE/SL65/ появятся GEOMETRY.bin и TEXTURES.bin

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

Данная статья не рассматривает моделирование в 3Ds Max, в ней изложены основные этапы конвертирования автомобиля из готовой модельки.
Движок MW поддерживает модели состоящие более чем из 400000 полигонов, так что можно создавать High Poly модельки, но не стоит слишком усердствовать в этом деле, так как в меню будут наблюдаться особенно сильные тормоза, потому что красивое отражение в полу построено на основе копирования оригинальных моделей с отражением их по вертикальной оси.


1. Подготовка модели.

Части автомобиля.

Ниже опишу названия всех частей, на которые разделена оригинальная модель авто (здесь и далее по тексту XX - номер корпуса, от 00 до 05; Y - качество геометрии, от A (самое высокое) до D (самое низкое)):

- Base_Y - без преувеличения можно сказать, что это основная часть авто, ведь именно без нее не заработает ни один из думмиков, отвечающих за эффекты выхлопа и свет. Обычно представляет из себя детали, одинаковые для всех корпусов автомобиля: крыша, стекла.
- KitXX_body_Y - названия корпусов модели, XX - идентификатор номера корпуса, 00 - стоковый, остальные до 05 - тюнингованные;
- Kit00_driver_a - водитель, рекомендую брать из оригинальных игровых моделей;
- Kit00_front_brake_Y - передние тормоза и тормозные диски;
- Kit00_rear_brake_Y - задние тормоза и тормозные диски;
- Kit00_front_tire_Y - колесо;
- Kit00_hood_Y - стоковый капот, о тюнингованных ниже;
- Kit00_interior_Y - интерьер. Хорошая деталь, к которой можно присоединять части, одинаковые для всех корпусов;
- Kit00_left_brakelight_Y - левый стопогонь;
- Kit00_right_brakelight_Y - соотвественно правый стопогонь;
- Kit00_left_headlight_Y - левая фара;
- Kit00_right_headlight_Y - правая фара;
- Kit00_left_headlight_glass_Y - стекло левой фары;
- Kit00_right_headlight_glass_Y - стекло правой фары;
- Kit00_left_side_mirror_Y - левое зеркало заднего вида;
- Kit00_right_side_mirror_Y - правое зеркало заднего вида;
- Kit00_front_window_Y - лобовое стекло;
- Kit00_rear_window_Y - заднее стекло;
- Kit00_front_left_window_Y - переднее левое стекло;
- Kit00_front_right_window_Y - переднее правое стекло;
- Kit00_rear_left_window_Y - заднее левое стекло;
- Kit00_rear_right_window_Y - заднее правое стекло;
- Kit00_spoiler_Y - спойлер, если таковой автомобиль имеет;
- Kit00_universal_spoiler_base_Y - универсальное крепление под спойлер, используется на тех автомобилях, где стандартный тип крепления невозможен (см. Porsche 911 Turbo S и т.п.);
- StyleZZ_hood_Y - тюнингованные капоты, здесь ZZ может принимать значения 02-07, 09, 10, 13, 16, 17, 20, 21, 23, 26, 31, 32.

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

Деколи.

Деколи - геометрические части, на которые будут наноситься наклейки. Названия:

- Decal_front_window_wide_medium_a - для переднего стекла;
- Decal_rear_window_wide_medium_a - для заднего стекла;
- KitXX_decal_left_door_rect_medium_a - блок деколей для левой двери, включает в себя 1-6 слот наклеек+отдельно для наклеек с номером;
- KitXX_decal_right_door_rect_medium_a - аналогично для левой двери;
- KitXX_decal_left_quarter_rect_medium_a - для левой четверти багажника;
- KitXX_decal_right_quarter_rect_medium_a - для правой четверти багажника.

Обращу ваше внимание, что части должны быть отекстурены в соответствии с текстурами-примерами SAMPLE_WIDE для переднего и заднего стекла, SAMPLE_RECT для остальных наклеек, DUMMY_NUMBER_LEFT и DUMMY_NUMBER_RIGHT для левой и правой части наклейки-номера из файла TEXTURES.BIN в директории /CARS/ игры.

Повреждения.

Царапины, появляющиеся на корпусе автомобиля, представляют собой объекты, по строению похожие на деколи. Названия:

- KitXX_damage0_front_Y - передний бампер;
- KitXX_damage0_rear_Y - задний бампер;
- KitXX_damage0_frontleft_Y - переднее левое крыло;
- KitXX_damage0_frontright_Y - переднее правое крыло;
- KitXX_damage0_rearleft_Y - заднее левое крыло;
- KitXX_damage0_rearright_Y - заднее правое крыло.

Текстуру, под которую следует размечать деталь, можно найти в файле GLOBALB.BUN/GLOBALB.BUN.000156.tpk.bin директории /GLOBAL/ под названием DAMAGE0. Открыть этот файл можно плагином GAUP для Total Commander.

Сейчас не важно, как вы назовете детали (просто потому, что при экспорте из 3Ds Max в .3ds формат все имена будут иметь длину в 8 символов), но имейте ввиду, что потом в Zmodeler вам придется присваивать им вышеописанные названия.

В 3Ds Max готовую модель разбиваем на части (если хотим создать модель с полноценным тюнингом, иначе капот следует оставить присоединенным к корпусу, чтобы избежать некрасивого эффекта исчезновения части при попытке тюнинга, если такового не имеется).

Материалы.

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

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

Дополнительно можно создавать материалы для поверхностей с разными свойствами:

а) для хромированных частей
б) для частей из пластика
в) для частей из алюминия

Также можно выделить материалы:
а) для дна автомобиля
б) для номерного знака
в) для сеточки.

Не забываем создать восемь материалов для деколей (рекомендую пользоваться следующими названиями):

- DECAL1 - материал для переднего, заднего стекла, четвертей багажника и первого слота на дверях;
- DECAL2 - для второго слота на дверях и дальше по списку подобно;
- DECAL3
- DECAL4
- DECAL5
- DECAL6
- DECAL7 - материал для правой части наклейки-номера;
- DECAL8 - материал для левой части наклейки-номера.

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

Следует избегать создания мультиматериала, желательно использовать в модели не более 6 своих текстур, главное, чтобы все части имели собственную текстуру (исключая водителя, если брали его из оригинальных моделей; пустоты, так как там применяется одна черная текстура; части, использующие стандартные игровые текстуры, которые обязательно должны иметь текстурную карту, чтобы все выглядело хорошо).

Если все настроено, модель выглядит, как ей и подобает, экспортируем ее в формат *.3ds. Но сначала нужно проделать кое-что, чтобы избежать дальнейших трудностей, а именно бага формата *.3ds, при котором детали модели разбрасываются по всей сцене Zmodeler'а.Для этого после настройки пропорций и корректирования модели, создается бокс с центром в нулях, к нему присоединяют определенную деталь модели, потом в режиме mesh удаляются бокс как элемент, и так с каждой деталью. Долго, но практично.
Еще совет: при экспорте из 3Ds Max должно быть как можно меньше деталей. Поэтому все, что можно слить с интерьером, сливаем.
Затем выбираем File/Export и сохраняем модельку. Если вы озаботились заранее созданием текстурной развертки корпуса, чтобы использовать винилы, и не хотите увидеть в Zmodeler побитые полигоны, то снимите галочку с пункта "Preserve MAX's Texture Coordinates". Таким образом и волки сыты и овцы целы, то есть и текстурная карта сохранена и полигоны целы. :)


2. Zmodeler


Загружаем ZModeler, жмем File/Import, выбираем сохраненную модельку.
Теперь следует переименовать части модели под те значения, что были описаны в предыдущем разделе.


Мини-поинты.

Итак, мы добрались до важного места. Теперь мы сможем создать объекты, отвечающие за установку спойлера, воздухозаборника, свечение огней, выхлоп. Будем называть эти объекты мини-поинтами.
Создаем в необходимых местах кубы с такими названиями:

- #LEFT_HEADLIGHT, #RIGHT_HEADLIGHT - передний свет;
- #LEFT_BRAKELIGHT, #RIGHT_BRAKELIGHT - стоп огни;
- #LEFT_REVERSE, #RIGHT_REVERSE - белый цвет при езде назад, где LEFT и RIGHT - это позиция относительно оси симметрии (слева или справа);
- #LEFT_EXHAUST, #RIGHT_EXHAUST - дым из труб и огонь при использований закиси азота, в общем всё, что выходит из выхлопной трубы;
- #SPOILER - место крепления спойлера;
- #SPOILER2 - назначение неизвестно, но в оригинальных моделях используется;
- #ROOF_SCOOP - место для крепления воздухозаборников;
- #FRONT_BRAKE, #REAR_BRAKE - место для крепления тормозных дисков соответственно на переднее и заднее колесо.

Если модель имеет несколько стопогней, ламп переднего света и т.д., следующие подобные объекты именуются также, только в конце добавляется [X], где X - это числа от 0 до бесконечности.
Например: #LEFT_EXHAUST и #LEFT_EXHAUST[0].

Далее необходимо получить модель в формате *.mwr. Для этого жмем File/Export, выбираем формат *.mwr, сохраняем файл. Zmodeler не закрываем
Теперь закидываем его в папку, где находится build.bat. Сейчас вполне можно запускать его и любоваться результатом, но текстуры будут наложены с модели Ferrari Spider 360. Пора исправить эту оплошность. :)


3. Текстурирование

Открываем блокнотом файл texdefn.txt.
Первый блок файла, начинающийся со слов [tpk] и до первого [texture], служит для определения папки сохранения файла с текстурами, наименование машины для замены и еще ряд параметров. Прописываем:

[tpk]
Identifier=CARTEXTURES - стандартная строка, указывает на принадлежность к файлам текстур
PipelinePath=Global/Pipeline/CarTemplateTextures_наименование_автомобиля.tpk - задается файл в формате *.tpk, который будет упакован в Textures.bin, вместо наименование_автомобиля задайте название автомобиля из игры (соответсnвует имени папки с авто из каталога игра /Cars/)
XName=наименование_автомобиля - строка, необходимая для компиляции текстур и правильного их отображения в игре, наименование_автомобиля должно быть таким же, как и в строке выше
Output=output/CARS_REPLACE/наименование_автомобиля/TEXTURES.BIN - задается папка для сохранения файла TEXTURES.BIN

Далее следует раздел с описанием текстур, состоящий из блоков.
Он имеет вид:

[texture]
Name=игровое_название_текстуры - может быть INTERIOR, BADGING, MISC, TIRE, BADGING_N, TIRE_N и SKINx, где x - это число от 1 до 12. Не следует задавать слишком длинные имена файлов (макс._длина=23-длина_наименование_автомобиля)
File=имя_текстуры.dds - файл, который будет вставлен в архив TEXTURES.BIN под именем Name=игровое_название_текстуры. Здесь задается название файла текстуры, который должен находится в одной папке с файлом texdefn.txt

Следует отметить, что для каждой новой текстуры необходимо создавать новый раздел.
P.S. Для текстур, которые будут находиться за прозрачными поверхностями, следует применять сжатие DXT1 для формата *.dds (выбирается в настройках сохранения в Adobe Photoshop).

Следующим файлом является matlist360.txt.
Он состоит из строчек вида:

имя_материала_в_ZModeler = шейдер/x_игровое_название_текстуры_из_файла_texdefn.txt

Теперь дело за материалами.
Нажимаем кнопочку "E" в Zmodeler, видим окно со списком.
Аккуратно переносим все названия в файл matlist360.txt, следим за регистром (пропустите деколи). Приписываем шейдеры и текстуры (полный список можно найти в разделе Дополнительно).
Если называли материалы для деколей так, как я советовал, то можете просто скопировать эти строчки в файл:

DECAL1 = DECAL/DUMMY_DECAL1
DECAL2 = DECAL/DUMMY_DECAL2
DECAL3 = DECAL/DUMMY_DECAL3
DECAL4 = DECAL/DUMMY_DECAL4
DECAL5 = DECAL/DUMMY_DECAL5
DECAL6 = DECAL/DUMMY_DECAL6
DECAL7 = DECAL/DUMMY_NUMBER_RIGHT
DECAL8 = DECAL/DUMMY_NUMBER_LEFT

Пример строки для текстуры интерьера:
INTERIOR=INTERIOR/x_INTERIOR


4. Конвертирование.

Теперь, когда у нас уже готовы модель авто, текстуры к нему, настроены файлы texdefn.txt и matlist360.txt, можно приступать к импорту модели в формат игры.
Для этого служит файл build.bat, который открывается обыкновенным Блокнотом. В нем записаны основные параметры конверта.

Сокращения, принятые для удобства описания:

NAME – наименование авто, которым вы заменяете
CAR_NAME – наименование авто, которые вы меняете
N – номер должен быть больше 34
Car_model - имя файла модели в формате *.mwr

Открываем файл build.bat:

echo off
echo ==================================================
===
echo Compiling Textures...
echo ==================================================
===
../bin/mwtc.exe texdefn.txt
../bin/texpatch output/FRONTEND/MANUFACTURERS/N-NAME.BIN "CARSELECT_MANUFACTURER_NAME"
../bin/texpatch output/CARS_REPLACE/CAR_NAME/SECONDARYLOGO.BIN "SECONDARY_LOGO_CAR_NAME_1"
echo.
echo ==================================================
===
echo Compiling Model...
echo ==================================================
===
../bin/mwgc -nowait -xname "CAR_NAME" -matlist "matlist360.txt" -xlink "xlink360.txt" -source "Car_model.mwr" -target "output/CARS_REPLACE/CAR_NAME/GEOMETRY.BIN"
echo.
echo ==================================================
===
echo Complete.
echo ==================================================
===
pause

Все, моделька готова к использованию, осталось только настроить колеса, логотип и название машины.


5. VltEdit.

Копируем файлы FE_ATTRIB.bin, attributes.bin, gameplay.bin из папки /GLOBAL/ игры в директорию /bin/vltedit/ запускаем unpackall.bat, затем запускаем vltedit.exe, нажимаем File/Open и загружаем 2 файла db.vlt и frontend.vlt из папки vlt, находящейся там же, где и распакованная программа.
Теперь самое сложное.

Типы переменных.

Определение переменной в программировании практически не отличается от математического. Правда есть одно ограничение - тип или размер хранимого значения. Именно поэтому нельзя заменять одни переменные значениями другого типа. Разберем подробнее используемые в VltEdit типы переменных.
Чтобы определить тип, достаточно взглянуть на строчку "Type", находящуюся над искомым значением. Ниже приведу соответствия типа в VltEdit c тем, что придется вписывать в файл настроек.

Значение в VltEdit Расшифровка Значение для файлов настроек Диапазон значений
Int8 Signed Integer 8 (целое, 8 бит) byte (байт) -128 .. 127
Int16 Signed Integer 16 (целое, 16 бит) word (слово) -32 768 .. 32 767
Int32 Signed Integer 32 (целое, 32 бита) dword (двойное слово) -2 147 483 648 .. 2 147 483 647
Int64 Signed Integer 64 (целое, 64 бита) qword (четверное слово) -9 223 372 036 854 775 808 .. 9 223 372 036 854 775 807
UInt8 Unsigned Integer 8 (беззнаковое целое, 8 бит) byte (байт) 0 .. 255
UInt16 Unsigned Integer 16 (беззнаковое целое, 16 бит) word (слово) 0 .. 65 535
UInt32 Unsigned Integer 32 (беззнаковое целое, 32 бита) dword (двойное слово) 0 .. 4 294 967 295
UInt64 Unsigned Integer 64 (беззнаковое целое, 64 бита) qword (четверное слово) 0 .. 18 446 744 073 709 551 615
Float Float (вещественное, 32 бита) float 3.4e-38 .. 3.4e+38
Double Double Float (вещественное двойной длины, 64 бита) float 1.7E-308 .. 1.7E+308
StringKey String Key (строковый ключ) string любое значение, после замены ничего не просходит

Логотип и название.

В дереве ищем Database/frontend/vehicles.
Там три раздела: europe, north_america, japan. Каждый из них характеризует место производства машины.

Пример:
путь к нему Database/frontend/vehicles/europe/mercedes/sl65.
Нажимаем на sl65, справа в окошке появилось куча всяких параметров, но нам нужны только два - это manufacturer и required_bl_level, а точнее их значения. Поясню их назначение: manufacturer характеризует производителя автомобиля, required_bl_level показывает, после победы над каким членом Черного списка будет доступен данный автомобиль.

При нажатии на manufacturer под окном с параметрами получаем значение bin:0x8954 (альтернатива: жмем правой кнопкой мыши на значение, выбираем Copy Offset, вставляем скопированное значение сразу в строку консоли, затем копируем все, что находится после "0х", открываем Калькулятор, вводим это значение, переходим к шестнадцатиричному представлению этого числа и получаем тоже самое значение. Удобно, если невозможно увидеть значение первым способом).
Тоже самое проделываем и с required_bl_level.

Зайдем в директорию output/CARS_REPLACE/SL65, откроем Блокнотом файл FE.MWPS

## manufacturer
patch dword значение_ manufacturer N, где N - это префикс в названии файла с логотипом производителя.

## required_bl_level
patch byte значение_ required_bl_level 16

Пример для SL65:

## manufacturer
patch dword bin:0x8954 32

## required_bl_level
patch byte bin:0x896d 16

Следующий файл CAR.INI всё в той же папке

[car]
name=имя которое будет показываться в игре. Можно писать по-русски (проверено с установленной русификацией от SerGEAnt's Zone Of Games v 1.08)
manufacturer=NAME
internal=CAR_NAME
modloader=0.2

В следующих файлах нужно поменять текстуры на свои.

Файл SECONDARYLOGO.BIN - логотип серии автомобиля.
Открываем этот файл с помощью BinTex, кликаем на единственную текстуру, затем нажимаем Texture/Import и указываем файл с собственной текстурой в формате *.dds.

Файл в папке output/FRONTEND/MANUFACTURERS - логотип компании-производителя.
Название - N-NAME.BIN
Пример:
32-FERRARI.BIN


Настройка колес.

Файлы собраны, всё настроено для конверта.
Нажимаем дважды на build.bat и модель готова.
Закидываем файлы в нужную папку, запускаем игру. И что же мы видим? Модель выглядить нормально, правда остается одно "но": колеса находятся не на своем месте.
Исправляем...

Запускаем уже знакомый vltedit.exe. На этот раз идем по адресу ecar/default/racers/наименование_автомобиля. Здесь нам нужен параметр wheel_position*, открываем список, видим четыре значения для четырех колес соответсвенно.
Кликаем на первом, получаем значение, для остальных проделываем аналогичную операцию. Далее открываем Блокнотом файл ATTRIBUTES.MWPS

Основное его назначение - настройка различных параметров машины. Но сейчас нам нужны колеса...

Для настройки одних лишь колес файл должен выглядеть примерно так (за символами # находятся комментарии, они игнорируются при чтении файла):

memfile GLOBAL/GlobalMemoryFile.bin
vpak GLOBAL/ATTRIBUTES.BIN db

## позиция колес
# в формате x,y,z,w (z=0, w=размер колес/высота машины?)

patch float bin:0x3f7f0 1.28
patch float bin:0x3f7f4 0.8
patch float bin:0x3f7f8 0.0
patch float bin:0x3f7fc 0.30

patch float bin:0x3f800 1.28
patch float bin:0x3f804 -0.8
patch float bin:0x3f808 0.0
patch float bin:0x3f80c 0.30

patch float bin:0x3f810 -1.311
patch float bin:0x3f814 -0.8
patch float bin:0x3f818 0.0
patch float bin:0x3f81c 0.30

patch float bin:0x3f820 -1.311
patch float bin:0x3f824 0.8
patch float bin:0x3f828 0.0
patch float bin:0x3f82c 0.30

Как видим, для каждого колеса имеется четыре параметра, а у нас лишь один. Чтобы получить остальные поступаем так.

Пример:
Мы получили, например, адрес bin:0x3da60 (одно из колес Lamborgini Gallardo).
Остальные записываем в таком формате 0x3da6x (где x - это 4, 8 или с соответственно для координаты y, z, w).
Полностью это будет выглядеть так:

patch float bin:0x3da60 1.28
patch float bin:0x3da64 0.8
patch float bin:0x3da68 0.0
patch float bin:0x3da6c 0.30

Точно так же и для остальных колес. Когда все будет готово, сохраняем файл в папку с моделью и текстурами. Затем закидываем все куда следует и любуемся результатом. :)
Если что-то не так, поправляем.
P.S. Параметр z рекомендуется оставить в том виде, какой есть, т.е. нулями.

Что же делать, когда обвесы имеют разную ширину и колеса при смене корпуса буквально утопают в нем? Как изменить тип привода у автомобиля? Можно ли настроить ширину колес? Постараюсь ответить на эти вопросы.
Для начала добавляем в файл hashes.txt следующие строчки:

K1llM@n fd3077e8 front_axis_width* #настройка ширины колесной базы для передней оси
K1llM@n ccc484dc rear_axis_width* #настройка ширины колесной базы для задней оси
K1llM@n 8f952090 WheelWidth* #Ширина колес
K1llM@n 7381ee38 DriveType* #0 - задний привод, 0.5 - полный, 1 - передний

Затем запускаем vltEdit и идем по уже знакомому адресу для настройки колес. Необходимые для нас параметры теперь скрываются за названиями front_axis_width, rear_axis_width, WheelWidth* и DriveType*. Для каждой оси по шесть параметров (соответственно для шести корпусов: 0 — сток, 1-5 — обвесы), четыре параметра для ширины колес (отдельно каждое) и один для типа привода.
Копируем адреса, вставляем в файл и задаем необходимые значения.


6. Дополнительно.

Таблица стандартных текстур и шейдеров.

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

Название текстуры Название шейдера Адресное
название
текстуры
Адресное
название
шейдера
Описание
PLAINNOTHING 0x1B049702 0x10CB64A Черный неотражающий цвет
CARBONFIBRE CARBONFIBER
CARBONFIBER2
0x721AFF7C 0xB57AB98E Углеродное волокно
CARBOTTOM BOTTOM 0xBD1F0E0A 0x52BF4C34 Днище автомобиля
DAMAGE0 HOSES 0x236BD9CE 0x2EE77E1 Царапины
DRIVER_COP DRIVER 0xBF19330C 0x5799E60B Водитель-полицейский
DRIVER_PLAYER DRIVER 0x4E8CF857 0x5799E60B Водитель
GRILL_01 GRILL 0x69C032B9 0x2DDDAD9 Прозрачная сетка
GRILL_02 GRILL 0x69C032BA 0x2DDDAD9 Непрозрачная сетка
INTERCOOLER 0x427B4565 0xD916 Продвинутый радиатор
LICENSEPLATE LICENSEPLATE 0x4C95C6F8 0x4C95C6F8 Номерной знак
RADIATOR 0xD916 Радиатор
REAR_DEFROSTER 0xD195BE56 0x471A1DCA
ROTOR1 BRAKEDISC 0xF0A43B67 Тормозные диски от простых до продвинутых
ROTOR2 BRAKEDISC 0xF0A43B67
ROTOR3 BRAKEDISC 0xF0A43B67
ROTOR4 BRAKEDISC 0xF0A43B67
TIRE_BACK RUBBER 0xE38806E3 0x10CB64A Задняя черная подложка колес
TREAD RUBBER 0x3C906EF 0x78743CA1 Протектор
TREADR RUBBER 0x78743CA1 Другой протектор
WINDOW_DAMAGE0 WINDSHIELD 0x7B220DDF 0x471A1DCA Разбитые стекла

Пользуясь адресной записью, очень удобно создавать действующие игровые материалы.
Например:

WINDOW_FRONT=0x471A1DCA/0x7B220DDF

Такая запись создает материал стекла, который при столкновении отображает текстуру разбитого стекла.
Также прикрепляю вытянутые из игры стандартные текстуры, по которым нужно создавать текстурную развертку в программе 3D моделирования. [Скачать]

Список всех доступных шейдеров.

0xD6D6080AПокраска кузова
ALUMINUMАлюминий
BOTTOMДно
BRAKEDISC Тормозной диск
BRAKELIGHTСтопогни
BRAKELIGHTGLASSСтекло стопогней
BRAKESТормоза
CALIPERСуппорт тормозов
CALIPERDECALНаклейка на суппорте
CARBONFIBERУглеродволокно
CARBONFIBER2Углеродволокно 2
CHAR_CLOTHОдежда персонажа (например, водителя)
CHAR_HAIR Волосы
CHAR_LATEXЛатекс
CHAR_LEATHERКожа (например, куртка)
CHAR_PLASTICПластик
CHAR_RUBBER-
CHAR_SKIN Кожа (руки, лицо)
CHROMEХром
CLEARPLASTICЧистый пластик
CUSTOMPAINT_xЗначения для x: 1 - 20
DECALДеколи
DEFAULTОтладочный материал
DIABLOHP-
DRIVERВодитель
DRIVERHEADГолова водителя
DULLENGINE-
DULLPLASTICДвусторонний пластик
ENGINEДвигатель
EXHAUST_TIPВыхлопная труба
GOLDROTORЗолотой цвет тормозного диска
GRILLСетка
HEADLIGHTФары
HEADLIGHTGLASSСтекло фар
HEADLIGHTREFLECTORОтражатели фар
HOSESЦарапины при повреждениях
INTERIORСалон
LICENSEPLATEНомерной знак
MAGCHROME-
MAGGUNMETAL-
MAGSILVER-
MAGSILVERGLOSS-
MATTEPLASTICМатовый пластик
MESH-
METPAINTxМеталлическая краска, возможные значения x: BLACK, BLUE, GOLD, GRAY, GREEN, RED, SILVER, YELLOW
MIRRORЗеркало
MOLDINGS-
PEARL[x]Перламутр, значения для x: 1 - 9. Скобочки означают, что параметр вообще можно опустить.
PLAINNOTHINGПустота (черный неотражающий цвет)
PLASTICHUBCAP-
RAD-
REGPAINTxВозможные значения x: BLACK, BLUE, GRAY, GREEN, ORANGE, PINK, RED, WHITE, YELLOW
RIMPEARL[x]Перламутр для колесного диска, значения для x: 1 - 9. Скобочки означают, что параметр вообще можно опустить.
ROADДорога
RUBBER-
SHINYMOLDINGSБлестящие молдинги
SHINYPLASTICБлестящий пластик
TRAFFIC-
TRAFFICWINDOWSСтекла траффиковых автомобилей
USER_CALIPERS-
USER_EXHAUST-
USER_EXHAUST2-
USER_HOSES-
USER_RIMS-
USER_RIMS_CHROME-
USER_RIMS_GLOSS-
USER_RIMS_GUNMETAL-
USER_RIMS_MAGSILVER-
USER_RIMS_MET-
USER_RIMS_SILVERGLOSS-
USER_SPOILER-
WHEELBLURРазмытость на колесах
WHITEБелый
WINDOWMASKМаска для стекла
WINDSHIELDCтекло

Настройка камер.

Бывают такие случаи, когда требуется изменить положение камеры позади автомобиля (например, когда из-за габаритов авто не видно дороги впереди. P.S. Эти адреса только для машин не относящихся к трафику). Это делается так:
1) Открываем файл ATTRIBUTES.MWPS создаваемого авто;
2) Добавляем такие строчки:

#close_cam - камера 3, близко сзади

patch float bin:0x2b078 2.1 ##высота камеры - эти параметры можно изменять
patch float bin:0x2b07c 2.1
#far_cam - камера 4, далеко позади
patch float bin:0x2b168 2.2
patch float bin:0x2b16c 2.2
При приделывании такой "фишки" следует учитывать, что все автомобили будут иметь камеру в установленном положении.

Тонировка стекол.

При создании модели иногда необходимо нанести тон на стекла еще не тюнингованной модели. Это делается так:
создаем отдельный материал для тонированного стекла, прописываем его в файле matlist360.txt. Чтобы применить тон, надо заменить стандартный шейдер стекла WINDSHIELD на этот WINDSHIELD_TINT_Lx_y, где x — число от 1 до 3 (тип тонировки), а y — цвет. Его возможные значения: BLACK, GREEN, MBLACK, MBLUE, MGREEN, MRED, AQUA, BLUE, GOLD, GRAPE, LAVENDER, LIME, ORANGE, PINK, RED, YELLOW. Следует учитывать, что на первом уровне тонировки нет некоторых цветов, которые доступны на 2-ом и 3-ем уровне и наоборот.

7. Окончание.

Все, новая отличная ;) модель авто готова. Можно играть. Но на этом не стоит расслабляться - не забудьте выложить свое нетленное творение на нашем сайте.
Удачных творений, побольше полиции на дорогах Рокпорта и бешеных скоростей!

K1llM@n. Статья создана при помощи материалов форума www.nfsko.ru. Размещение на других ресурсах без согласия администрации и указания сайта-правообладателя запрещено.

Need For Speed World Site -=- MW ::: Автостудия -=- MW ::: Туториал по конвертированию автомобилей в MW
Страница создана: K1llM@n, 8 марта 2007 г. 0:42
Обращений к странице: 38942 Автор: K1llM@n для www.nfsko.ru
 Комментарии
Как мне наоборот сконвертировать авто из NFS MW и распаковать BIN файл?
# 8 августа 2013 г. 9:04
–1
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии.