Играть бесплатно в World of Warships
Поделиться с друзьями
Новые файлы
Новые статьи
Как установить моды в
Внимание!!! На сайте ModZona.RU и Files.ModZona.COM проводятся плановые технические работы!
БОЛЬШЕ ВОЗМОЖНОСТЕЙ
перейти в другую группу ツ
Реклама на сайте
Мы в соц-сетях
Ма на YouTube

Вступить в группу в VK
Опрос на сайте
Почему вы отвечаете в опросах?
Всего ответов: 412
  • Страница 1 из 1
  • 1
Модератор форума: KOcccTya  
Форум » Архив » Закрытые темы » Импорт своего автомобиля в игру (Импорт своего автомобиля в игру)
Импорт своего автомобиля в игру
xCLOUDx
xCLOUDx
Ответственный за файлы !
Группа: Проверенный
Сообщений: 230
Награды: 29
Репутация: 245
Статус: Гдето лазит
Street Legal Redline является довольно сложной (если не самой сложной) игрой в плане моддинга. Сегодня я расскажу вам, как вставить свою собственную машину в игру.
У каждого есть свои хитрости и свои способы, здесь я расскажу как мне удобнее.

Нам понадобятся следующие файлы:

1. resdecode.exe и resconvert.exe чтобы править rpk.
2. 3d max 5 для работы с 3D. а так же плагин к нему для экспорта в формат scx.
3. zmodeler 1.07 а так же плагин к нему для импорта моделей из формата scx.
4. блокнот он есть у всех.
5. slrr 2.2.1 java pack - исходники стандартных машин.
6. adobe photoshop или иной графический редактор, но лучше фотошоп, а так же плагин к нему для работы с текстурами в формате dds.
7. SLRR 230LE. т.к. мы будем делать машину для этой версии.

Начнем.

Игру лучше установить в корень диска, так будет проще до нее добираться. У меня она установлена в "G:\Street Legal Racing 230LE"

Заходим в папку с игрой, жмем наверху кнопку "Сервис" -> "Свойства папки"

Далее выбираем вкладку "Вид" и снимаем галочку напротив "Скрывать расширения для зарегистрированных типов файлов".

Жмем Ок.
Теперь мы видим что в имени каждого файла отображается и его расширение.
Если в корне игры есть файл "error.log", удалите его.

Далее берем скачанные resdecode.exe и resconvert.exe и копируем их в папку с игрой.

Ок, жмем "Пуск" -> "Выполнить" -> в окошке пишем "cmd" и жмем ОК.

В черном окошке пишем (после каждой строки не забываем жать enter)
G:
cd street legal racing 230LE
resdecode cars/racers/einvagen

Напоминаю, что у меня игра установлена на диске G: в папке street legal racing 230LE, соответственно заменяйте на свои пути.
Если у вас игра например установлена на диске C: вместе с windows, то ваш порядок действий будет таков:

cd /
cd street legal racing 230LE
resdecode cars/racers/einvagen

Закрываем черное окно и идем в папку с игрой в cars/racers/ .
Там мы обнаружим новый файлик "einvagen.rdb".

Находим наши скачанные исходники для 2.2.1, распаковываем их и копируем от туда папку "einvagen_data" (она в cars/racers/ как и в игре")

Вставляем эту папочку в нашу игру в папку cars/racers/ , windows спросит о замене, нажмите "да для всех".

Идем в папку cars/racers/ , копируем папку "einvagen_data"
И сюда же вставляем

Теперь самое время, чтобы придумать нашей машинке название.
Назовем ее krevetko

Переименовываем нашу вставленную папку из "копия einvagen_data" в "krevetko_data", так же переименовываем "einvagen.rdb" в "krevetko.rdb"

открываем блокнотом "krevetko.rdb"

Небольшой ликбез по рпк файлам.
Рпк это нечто вроде архива, в основном со ссылками на игровые файлы..
Для каждой детали используются в основном 5 блоков.
т.е.
script
render
mesh
phys
texture
Однако, если деталь имеет ту же текстуру, или физ. модель.. или меш (3д модель), то можно использовать меньше блоков, но скрипт у каждой детали обязательно свой. Если сейчас это непонятно, то современем станет ясно.. это довольно просто.

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

И так, как мы можем заметить в рпк содержаться ссылки на различные файлы, и путь к ним указан в папку "einvagen_data" .. нам же нужно все их переместить в папку "krevetka_data".

Жмем "Правка" -> "Заменить"

В поле "Что" пишем "einvagen_data"
В поле "Чем" пишем "krevetko_data" .. точнее название своей машины.

Жмем "Заменить все"

После окончания процесса, закрываем маленькое окошко и сохраняемся.
Сворачиваем наш блокнот "krevetko.rdb", он нам еще пригодится.

Далее мы идем править исходники.
Они лежат в папке cars/racers/krevetko_data/scripts/src/
Имеют расширение .java и опять же открываются блокнотом.
Кстати рекомендую сделать "Вид" -> "Таблица"
[img]http://slrr.at.ua/_pu/0/40220670.jpg[img]
Открываем файл "Einvagen_110_GT.java"

Выделенные строки и являются названием нашего автомобиля, кузова, описания.. текст внутри кавычек можно править, например так:
[img]http://slrr.at.ua/_pu/0/51124831.jpg[img]
Чуть ниже мы увидим вот это, комментарии на скрине.

Нам снова надо заменить "einvagen" на "krevetko" но только в тех строках, в которых ставятся кузовные панели.
Жмем "правка" -> "заменить" , остальное видно на скрине.

Сохраняемся и закрываем. Для начала у нас будет 1 модель машины, поэтому другие 110 GTK, 140 GTA мы трогать не будем.

Поэтому открываем "Einvagen_models.java" и удаляем синие строки.

package java.game.cars;

import java.util.*;
import java.util.resource.*;
import java.game.parts.bodypart.*;

public class Einvagen_models extends Chassis
{
static int MODEL_110_GT = 1;
static int MODEL_110_GTK = 2;
static int MODEL_140_GTA = 3;
static int MODEL_110_GTD = 4;

public Einvagen_models( int id )
{
super( id );
carCategory = PACKAGE;

make = MAKE_EINVAGEN;
}

public void updatevariables()
{
super.updatevariables();

ResourceRef ref = new ResourceRef(sound:0x00000015r);
setHornSFX(ref, 1.0, 1);
setHornSFX(ref, 1.0, 3);
ref.set(0);
setHornSFX(ref, 1.0, 2);
}
}

Далее открываем "Einvagen_VT.java"
Жмем "правка" -> "заменить" , остальное видно на скрине.

точно так же заменяем "racers.einvagen" на "racers.krevetko" в файлах "einvagen_FL_door.java" , "einvagen_FR_door.java", "einvagen_RL_door.java", "einvagen_RR_door.java", "einvagen_R_door.java" и "kit_gta_body.java"

Теперь самое скучное - во всех исходниках надо заменить название деталей на свои, например для бампера:

package java.game.cars;

import java.util.*;
import java.util.resource.*;
import java.game.parts.bodypart.*;

public class Einvagen_F_bumper extends Bumper
{
public Einvagen_F_bumper( int id )
{
super( id );
carCategory = PACKAGE;
name = "Einvagen GT/GTK front bumper"; // собственно название детали в игре.
description = "The stock front bumper for the 110 GT and 110 GTK models."; // описание детали, его можно не менять.

value = tHUF2USD(55.633); // цена детали, разделенная примерно на 5, т.е. в игре бампер стоит примерно 280 у.е.
brand_new_prestige_value = 24.00; // престиж детали
}
}

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

package java.game.cars;

import java.util.*;
import java.util.resource.*;
import java.game.parts.bodypart.*;

public class Einvagen_F_bumper extends Bumper
{
public Einvagen_F_bumper( int id )
{
super( id );
carCategory = PACKAGE;
name = "Krevetko bumper"; // собственно название детали в игре.
description = "The stock front bumper for the 110 GT and 110 GTK models."; // описание детали, его можно не менять.

value = tHUF2USD(100); // цена детали, разделенная примерно на 5, т.е. теперь в игре бампер стоит примерно 500 у.е.
brand_new_prestige_value = 34.00; // престиж детали
}
}

С исходниками разобрались.

Теперь заходим в корень игры и создаем там текстовый файлик с любым именем, например krevetko.txt , заходим в него и пишем следующее:

resconvert cars/racers/krevetko

Сохраняемся, закрываем и переименовываем этот файлик в krevetko.bat

Запускаем получившийся файлик, появится черное окно, в котором побегут строки, когда остановятся закрываем его. Таким путем мы создали из "krevetko.rdb" "krevetko.rpk" , и теперь если мы обновим что-то в "krevetko.rdb" нам достаточно лишь запустить наш "krevetko.bat" в корне игры, чтобы сохранить наши изменения в рпк.

Заходим в игру, создаем карьеру и идем в обменник кузовов или в магазины .. если все сделали правильно, то должен появится эйнваген только под именем "krevetko"

К сожалению у меня нет времени проверять, но вроде ничего не упустил.

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

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

!syntax error in file cars\racers\krevetko_data\scripts\fl_quarterpanel.java at line 14

То это означает, что мы ошиблись в файле FL_quarterpanel.java нашей машины, следуем по адресу и открываем этот файл, переходим на 14 строку и внимательно смотрим на нее, ошибка может возникнуть из-за любого пустяка, например вот из-за такого:

package java.game.cars;

import java.util.*;
import java.util.resource.*;
import java.game.parts.bodypart.*;

public class Einvagen_FL_quarterpanel extends Quarterpanel
{
public Einvagen_FL_quarterpanel( int id )
{
super( id );
carCategory = PACKAGE;
name = Krevetko GT front left quarterpanel"; // вот здесь и закралась ошибка, обратите внимание, я забыл открыть кавычки перед словом Krevetkо.
description = "The stock front left quarterpanel for the GT models.";

value = tHUF2USD(87.375);
brand_new_prestige_value = 18.60;
}
}

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

Все ошибки исправлены, машина есть, теперь приступаем к собственно моделингу.
Устанавливаем 3D max 5, zmodeler 1.07 и не забываем плагины к ним.

Открываем zmodeler 1.07 , жмем "File" -> "Import" далее идем вот так street legal racing/cars/racers/einvagen_data/meshes/ открываем файл chassis.scx,
при этом появятся несколько ошибок, жмем ок на каждой и видим перед собой кузов эйнвагена. Мышью его можно покрутить

Видите справа окошко с названием "Objects" , удалите из него chassis.scx и chassis.scx+ (правой кнопкой на chassis.scx -> Delete, аналогично с chassis.scx+)

Должно получиться вот так.

Жмем "File" -> "Export"

В поле "Имя файла" пишем любое имя.. например "chas" и сохраняем в формате 3DS.

Закрываем занозу. Изменения можно не сохранять.
Открываем 3D Max 5

Жмем "File" - "Import" и находим наш только что сохраненный файлик. А сохранили мы его в street legal racing/cars/racers/einvagen_data/meshes/chas.3ds

Открываем его.
В появившемся мелком окошке жмем "ок"
Вот что мы должны увидеть.

Но модель слишком маленькая, надо увеличить ее в 100 раз.
Как работать в максе, я описывать тут не буду, для этого существует куча туторов, учитесь искать информацию.

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

После этого кузов эйнвагена можно удалить.

Далее игровой материал, процесс его создания и вставки детали в игру очень хорошо описан в туторе "Накладывание текстур", за который скажем спасибо Konner.
Однако я крайне советую еще в свойствах материала ставить "specular level:" 100 для окрашиваемых деталей, для хрома 150-200
"glossines:" 40

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

Допустим модель автомобиля готова. Перед экспортом детали в игру, выделите ее, зайдите в "hierarchy", нажмите "affect pivot only", нажмите "center to object", еще раз нажмите "affect pivot only", чтобы отжать кнопку.

Далее в поля координат ставим нули, деталь сместится на начало координат.
Жмем "File" -> "Export selected" в окошке заходим в папку игры street legal racing/cars/racers/krevetka_data/meshes/ и заменяем нужную нам деталь.

Небольшой ликбез:
FL - front left - передний левый
FR - front right - передний правый
RL - rear left - задний левый
RR - rear right - задний правый
L - left - левый
R- right - правый, однако бывает и rear - задний, зависит от детали, например R_mirror - правое зеркало, а R_bumper - задний бампер.
F - front - передний

quarterpanel - крыло
door - дверь
seat - сиденье
steering_wheel - руль
hood - капот
bumper - бампер
trunk - багажник
sideskirt - порог
roof - съемная крыша
window - стекло
windshield - переднее или заднее стекло
mirror - зеркало
headlights - передние фары
taillights - задние фары.

В любом случае, если вам будет непонятна какая-то деталь, то всегда можно открыть ее модель в zmodeler и покрутить детальку.

После замены детали иногда сбивается порядок текстур, опять же все это описано в туторе "Накладывание текстур", однако опять же добавлю от себя, необязательно при экспорте кузова или иных сложных деталей соединять их последовательно, я всегда экспортировал просто выделив деталь и прописав потом правильно порядок текстур.
О порядке текстур опять же добавлю, в рпк вы пишете порядок именно таким, который написан в получившимся tex файле при экспорте детали, НО меняете местами default_white.dds (0x00020025) и основную текстуру вашей детали, для крыла например это Einvagen_F_quarterpanel.dds (0x0000005A). В противном случае, ваша деталь будет закрашиваться полностью, иногда это плохо.

Далее мы возвращаем перемещенную в 0.0.0 деталь на место, для этого достаточно пару раз нажать "CTRL+Z", теперь наша задача установить ее правильно на машине.
Открываем street legal racing/cars/racers/krevetko_data/scripts/_main_110_GT.cfg
находим в нем нужную нам деталь, в данном случае это

slot -0.700 0.137 -0.778 0.000 0.000 0.000 34 ; FL_quarterpanel

Это слот на кузове, в который ставится переднее левое крыло.
Мы видим 3 блока цифр.

-0.700 0.137 -0.778 отвечает за положение слота по 3 осям координат x,y,z (относительно автомобиля: x - перпендикулярная ось, т.е. влево вправо, y - высота, z - продольная ось, т.е. вперед назад.

0.000 0.000 0.000 отвечает за наклон детали по 3 осям.
34 номер слота

В 3д максе эти оси расположены немного по-другому. (пришлось взять гольф, т.к. джип завис и не сохранился .. ЧАЩЕ ЖМИТЕ CTRL+S В МАКСЕ!)

Думаю скрин все объяснит, обратите внимание, что знак у оси X надо менять.
А так же делить эти значения на 100.

Если стандартный слот выглядил вот так:

slot -0.700 0.137 -0.778 0.000 0.000 0.000 34 ; FL_quarterpanel

То с нашим крылом он будет вот таким:

slot -0.734 -0.185 -1.532 0.000 0.000 0.000 34 ; FL_quarterpanel

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

Открываем street legal racing/cars/racers/krevetko_data/scripts/FL_quarterpanel.cfg

Вот и нужный нам слот на самой детали:

slot 0.022 0.371 0.468 0.000 0.000 0.000 34 ; FL_quarterpanel
attach 0x00000006 34 ; chassis->FL_quarterpanel

Ставим координаты на нули, вот так:

slot 0.000 0.000 0.000 0.000 0.000 0.000 34 ; FL_quarterpanel
attach 0x00000006 34 ; chassis->FL_quarterpanel

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

С дверьми, багажниками и капотами все несколько сложнее. Проделайте все тоже самое, но придется еще сдвинуть наш слот в то место, где деталь будет закреплена и вокруг которого она будет поворачиваться при нажатии на нее.
Сдвиньте слот в _main_110_GT.cfg по оси Z в нужное место (определяется через 3д макс или экспериментальным путем), не забудьте про flap, ее координата должна быть такой же

На такое же число, но с противоположным знаком, сдвиньте слот на самой детали (в ее cfg).. сложно?

Если очень сложно, то можно в 3д максе нажать "Affect pivot only" (помните, мы проделывали это ранее), но не нажимать "Center to object" а перенести указатель к предполагаемой оси кручение (грубо говоря - где будут петли), поставить деталь в начало координат и экспортировать в игру. (так же как и обычно).

Получится немного некрасиво, но легче.

Допустим вы экспортировали все детали в игру, собрали машину. Отлично.
Далее надо настроить положение водителя, колес и камер.
Все это описывается в _main_110_GT.cfg координатами. (надеюсь помните где он находится )

Начинаем с первой камеры, она же голова водителя.

camera -0.380 0.350 0.202 0.000 0.000 0.000 90.000

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

steering -0.378 0.080 -0.500 0.000 -0.454 0.000 0.01 sphere 0.1

Сюда крепится руль и соответственно руки водителя.

seat -0.375 -0.320 0.000 0.000 0.350 0.000

Сюда наш афроамериканец кладет свою попку.

pedals -0.375 -0.370 -0.610

А сюда тянет ноги к педалям.

Можно еще дописать ниже

shifter 0.000 0.000 0.000

ну координаты соответствующие, и сюда водила будет тянуть руку во время переключения передач.

cockpit_speed -0.265 0.135 -0.600 0.000 0.000 0.000 0x00020037 2.2 -0.03 -3.0 1.5
cockpit_rpm -0.357 0.135 -0.600 0.000 0.000 0.000 0x00020037 2.2 -0.00045 -1.5 1.5

Координаты стрелок спидометра и тахометра

А сюда будут крепится пружины и амортизаторы к кузову, по порядку: FL, FR, RL, RR (помним что это такое?)

;upper arms on chassis
slot -0.490 -0.103 -1.146 0 0 0 501
slot 0.490 -0.103 -1.146 0 0 0 502
slot -0.500 -0.172 1.220 0 0 0 503
slot 0.500 -0.172 1.220 0 0 0 504

Далее меняем положение колес (опять же если понадобится)

# FL wheel #
type 10.000 sphere 0.315
spring 0.290 0.100 0.050
wheel -0.670 -0.630 -1.146 0.000 0.000 0.000 1.000 1.000 1.000 0.000
wheelbones
slot 0.000 0.000 0.000 0.000 0.000 0.000 101 ; FL wheel
attach 0x00040200 1
slottype 101
slotdmgmode 0x00000004

вынос колеса (наружу/внутрь)
Высота колеса
Продольное положение колеса (вперед/назад)

Вместе с колесом так же меняют свое положение подвески.
Аналогично проделайте с другими колесами.

Вот и все, надеюсь ничего не забыл.


Подпись отключена!!!

Сообщение отредактировал TBDxCLOUD - Четверг, 01.09.2011, 14:59
Форум » Архив » Закрытые темы » Импорт своего автомобиля в игру (Импорт своего автомобиля в игру)
  • Страница 1 из 1
  • 1
Поиск: