|
Оглавление:
-- Необходимые программы
-- Настройка
- 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 модельки, но не стоит слишком усердствовать в этом деле, так как в меню будут наблюдаться особенно сильные тормоза, потому что красивое отражение в полу построено на основе копирования оригинальных моделей с отражением их по вертикальной оси.
Части автомобиля.
Ниже опишу названия всех частей, на которые разделена оригинальная модель авто (здесь и далее по тексту 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 — обвесы), четыре параметра для ширины колес (отдельно каждое) и один для типа привода.
Копируем адреса, вставляем в файл и задаем необходимые значения.
Таблица стандартных текстур и шейдеров.
При создании некоторых моделей используется довольно много текстур, а их количество в архивном файле ограничено. Чтобы вставить как можно больше своих изображений, лучше использовать для стандартных типов материалов игровые текстуры. Представленная ниже таблица в этом поможет. В ней представлены как словесные записи названий текстур, так и адресные (работают также, как и словесные, просто вместо имени-идентификатора используется адрес памяти).
Название текстуры | Название шейдера | Адресное название текстуры |
Адресное название шейдера |
Описание |
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 | Маска для стекла |
WINDSHIELD | Cтекло |
Настройка камер.
Бывают такие случаи, когда требуется изменить положение камеры позади автомобиля (например, когда из-за габаритов авто не видно дороги впереди. P.S. Эти адреса только для машин не относящихся к трафику). Это делается так:
1) Открываем файл ATTRIBUTES.MWPS создаваемого авто;
2) Добавляем такие строчки:
#close_cam - камера 3, близко сзади
patch | float | bin:0x2b078 | 2.1 ##высота камеры - эти параметры можно изменять |
patch | float | bin:0x2b07c | 2.1 |
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. Размещение на других ресурсах без согласия администрации и указания сайта-правообладателя запрещено.
Страница создана: K1llM@n, 8 марта 2007 г. 0:42 | |
Обращений к странице: 39009 | Автор: K1llM@n для www.nfsko.ru |
Комментарии |
|