Другой относительно простой метод – конвертация модели из Microsoft Train Simulator.
Для начала потребуется shape-файл (.s) от модели. Остальные файлы модели не нужны.
Кроме того, будет не обойтись без
Vehicle Creator, Wally и палитры lomoveh.pal.
Совет: Не зарывайте все папки глубоко, в процессе работы к ним часто придется обращаться. Лучше ставить все в отдельную папку в корневом каталоге. Этот простой прием сэкономит уйму времени и нервов.
Если не вдаваться в подробности, то можно создать простой («одинарный») локомотив или вагон за шесть шагов.
1. С помощью встроенной утилиты набираем 136 минимально необходимых спрайтов.
1А. Открываем .s файл.
1Б. Включаем Measuring tool.
1В. Настраиваем камеру. Yoffset отвечает за положение локо над рельсами. Лучше его немного приподнять. Нормальное значение от (-0.4) до (-0.2). Положительные значения «утапливают» в землю. Большие отрицательные создают видимость левитации.
/upd
Выбираем расстояние. Чем дальше, тем меньше будет результат в игре. Лучше значения запоминать или записывать, на случай если понадобится тонкая подстройка. Выбираем тип (локо-вагон). Насколько я понял, для вагонов спрайтов в два раза меньше, движок их зеркалит и вдбавок ко всему обязательно нужны колесные пары (bogey). Поэтому иногда для вагонов имеет смысл экспортировать их как локомотивы. На существенную часть это не влияет, да и на визуальную тоже.
1Г. Нажимаем Export. Программа автоматически сохранит все спрайты в формате .bmp в папку VehicleCreator\<имя .s файла>
Теперь эти спрайты необходимо преобразовать в PNG с правильной палитрой. Это автоматически делает Wally.
/upd
Для экспортированных моделей имеет смысл слегка поднять яркость\убрать тени. Для этого понадобится Photoshop. Я делаю в CS, в CS2 это тоже должно быть, насчет остальных версий не уверен. Подробнее чуть позже.
I. Запускаем Wally. Открываем File>Batch Conversion
Выбираем исходную папку, выбираем конечную папку.
Указываем имена файлов *.bmp.
Выбираем тип конечного файла PNG.
II Настраиваем конверсию.
Выбираем для bmp и png Output Palette locoveh.pal
Ок. Возвращаемся обратно, нажимаем Go.
Если все настроено правильно, то в конечной папке будут 136 png.
2. Снова возвращаемся в Vehicle Creator. Настраиваем основные параметры.
/upd
Не стесняйтесь распаковывать, смотреть и использовать стандартные объекты! Во многих случаях можно сэкономить время и нервы, просто изменив стандартный Xml файл. Vehicle Creator позволяет выставить значения далеко не для всех переменных!
Internal name – внутреннее имя – 8 символов. Так будет называться .dat файл, кроме того его можно использовать для установки совместимости вагонов и локомотивов. Желательно папку со спрайтами назвать так же.
Class – программа VC не доделана, поэтому класс только 1 – ж\д
Subclass – вагон\локо.
Description – описание, используется, например, в редакторе сценариев. Copy – заполняет все поля по первому.
Compatible with – список совместимых. Вводятся внутренние имена. По умолчанию все локомотивы совместимы со всеми вагонами, так что вручную все вводить не надо.
Miscellanous – Доп. параметры. Прочность, мощность (в л.с.), скорость (в милях в час), скорость с доп. рельсом (у узкоколеек), вес, дата появления и списания. Нажав на кнопочки справа можно вводить данные в км\ч и Вт .
Снизу стоимость, тип топлива, и затраты на содержание. Величины относительные (в игре есть инфляция), подбираются на глазок. Для 2ТЭ подошло (100\20)
Справа флаги
1-й. Да если локо, нет если вагон.
2-й. Да, если при развороте становится первым.
3-й. Значение выясняется.
4-й. Да если объект машинное отделение (типа APT Power Car) и ему требуется головной вагон.
5-й. Да если локо «пыхтит» (для паровозов).
6-й. Значение выясняется.
7-й. Значение выясняется.
8-й. Парные ли вагоны (т.е. должно быть четное число на поезд).
9-й. Можно ли переоборудовать под другой тип груза.
10-й. Объявлять, когда вперывые появляется.
Ниже требования
Стандартная\узкая колея.
3 рельс
Провода сверху
Дополнительный рельс
Сводную таблицу характеристик можно позаимствовать у проекта xUSSR.
http://ttdrussia.net/xussr/trains/xUSSR_Set_tr.rar
3. Графика. Папка со спрайтами, их количество, наличие отдельных спрайтов колесных пар (bogey sprites), количество поворотных(64), наклонных(32) спрайтов, наличие анимированных деталей (напр. у паровозов) (1-нет), наличие нескольких состояний (как у вагонов с рудой) (1-нет), наличие наклоненных спрайтов (как у APT). Особое внимание обратите на bogeypos. Это местоположение «ценральной» колесной пары», относительно которой локомотив будет вращаться и отностельно которой вычисляется присоединение других вагонов. Жмем на кнопочку, выбираем 8-й спрайт, программа все вычислит автоматически.
Для простейшего случая двухсекционного локо выбираем N of vehicle parts - 2, а затем для Part 2 ставим Sprite 1 reversed.
Если же нужен отдельный спрайт, то ставим N of Sprites - 2 и отдельно настраиваем его, а потом для Part 2 выбираем Sprite 2 или его же reversed. Подгонка расстояния между секциями осуществляется с помощью bogeypos.
Если вы делаете вагон и
экспортируете его из MSTS как вагон, то вам понадобятся отдельно колесные спрайты (bogey sprites). Самый простой метод - взять их со стандартного вагона. Просто копируете
спрайты колесных пар из папки с графикой и в настройках графики ставите bogey sprites Present.
Применение колесных спрайтов на локомотивах зачастую тоже позволяет улучшить их отрисовку на поворотах. Метод такой же.
/upd Не забудьте настроить! (Как я... )
Поле field_0 - смещение передней пары назад
Поле field_1 - задней вперед
Если нули, то они будут торчать на носу и хвосте, соотв.
field_2 тип передней пары. 255- нет
field_3 тип задней.
Если нули, то отрисовываются нормальные. Остальные похоже вспомогательные.
Внимание, если Локо не запускается и выбрасывает ошибку при загрузке, то, скорее всего, вы не доложили в архив спрайтов. Провертье, что для выбранных настроек их нужное число. Комплектность можно посмотреть в стандартных файлах.
Если же Локо запустился, объект в папке есть, а в игре в списке его нет, то в большинстве случаев вы намудрили с настройками, чаще с графическими.
4. Жмем «Генерировать XML»
5. Экспортируем в .dat файл. Также рекомендую сохранить как .def файл, т.к. скорее всего придется возвращаться.
Все! Теперь готовый файл копируем в /ObjData/, создаем новый сценарий, в настройках сценария помечаем новый объект галочкой, ставим нужный год, сохраняем.
Начинаем новую игру на этом сценарии и тестируем.