Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Подвижной состав (http://www.trainsim.ru/forum/forumdisplay.php?f=18)
-   -   Описание структуры eng-файла (http://www.trainsim.ru/forum/showthread.php?t=7521)

2ТЭ116-1103 10.06.2009 15:25

Описание структуры eng-файла
 
Ребята, расшифровать внутренности Engа не поможете?

RC_Vinchenzo 10.06.2009 23:53

Поможем конечно!
Как раз собирался писать статью на эту тему.

В качестве примера беру файл от [I]ТЭП80-0001[/I] как одного из наиболее качественно настроенных (хотя и не без ошибок) и свежих локомотивов.

Поехали:
[CODE]Wagon ( tsrloco_tep80-0001
Type ( Engine )
Comment ( A.Grebnev. 2009 (c) )
WagonShape ( "tsrloco_tep80-0001.s" )
Size ( 2.9m 4.6m 24.775m )
CentreOfGravity ( 0m 0.6m 0.12m )
Mass ( 180t )
WheelRadius ( 62cm )
InertiaTensor ( Box ( 2.9m 4.6m 24.775m )
)[/CODE]
Название локомотива в первой строке должно совпадать с именем eng-файла, иначе игра просто не опознает локомотив. Следом указан тип ([B]Type[/B]) подвижного состава. В данном случае мы имеем дело с локомотивом (другие возможные значения: Carriage, Freight, Tender, но это относится уже к wag-файлам). В строке комментария ([B]Comment[/B]) может содержаться абсолютно любая информация для тех, кто возьмется этот файл редактировать. Эту строку игра не читает. [B]WagonShape[/B] ссылается на модель локомотива в виде s-файла. Интересная особенность: если шейп-файл с заданным именем не будет найден в папке с локомотивом, игра будет искать его в папке Shapes того маршрута, на котором вы собрались прокатиться. Возможно, игра также будет искать его в общей папке Shapes, но у меня нет точных сведений насчет этого. Параметр [B]Size[/B] задает размеры локомотива, которые будут учитываться игрой. Сюда вписывают габаритную ширину, высоту и длину локомотива по осям автосцепок. [B]CentreOfGravity[/B] отвечает за расположение центра тяжести. как видно, здесь он почему-то смещен на 12 сантиметров вперед относительно центра. Видимо, сказывается влияние массы тел лок.бригады в кабине :D [B]Mass[/B] отвечает за массу локомотива, [B]WheelRadius[/B] - диаметр колес в общем случае. В данном случае этот параметр находится в секции [I]Wagon[/I], он отвечает за диаметр бегунковых колес, если таковые имеются. Очевидно, что этот параметр ни на что не влияет без строки [I]NumWheels[/I], которая здесь, впрочем, отсутствует, поэтому вернемся к ней позже. [B]InertiaTensor[/B] - важный параметр, влияющий на поведение вагонов в составе и их соударение. Рекомендуется делать устанавливать его равным параметру [I]Size[/I], либо меньше его на одну единицу, дабы исключить автосцепки как мало влияющие на поведение вагона ввиду их небольшой массы.
[CODE] Coupling (
Type ( Automatic )
Spring (
Stiffness ( 1e6N/m 5e6N/m )
Damping ( 1e6N/m 1e6N/m )
Break ( 1.1e7N 1.1e7N )
r0 ( 20cm 30cm )
)
comment( CouplingHasRigidConnection () )
Velocity ( 0.1m/s )
)

Buffers (
Spring (
Stiffness ( 1e6N/m 5e6N/m )
Damping ( 1e6N/m/s 1e6N/m/s )
r0 ( 0m 1e9 )
)
Centre ( 0.5 )
Radius ( 1 )
Angle ( 0.5deg )
)[/CODE]
Эти строки описывают поведение сцепок и буферов. Локомотив может иметь два набора параметров Coupling, в этом случае первый отвечаетза переднюю сцепку, а второй - за заднюю. Такую конфигурацию разумно применять, например, на двухсекционных электровозах, где передняя сцепка может быть автоматической, а задняя - жесткой для сцепления со второй секцией. В данном случае тепловоз имеет идентичные сцепки, так что надобность во втором наборе параметров отпадает. [B]Type[/B] оговаривает тип сцепки (автоматическая, винтовая стяжка (Chain) и жесткая (Bar), при этом Bar является неразьемной, ее нельзя расцепить во время игры!). Далее задаются характеристики пружин сцепки, работающих на растяжение ([B]Stiffness[/B]) и сжатие ([B]Damping[/B]). Параметр [B]Break[/B] задает максимально допустимое усилие на разрыв.[B]r0[/B] влияет на возможности поворота сцепки относительно центральной оси локомотива. Не рекомендуется использовать маленькие значения на маршрутах с кривыми малого радиуса. Закомментированный параметр [I]CouplingHasRigidConnection[/I] может принимать значение (1), в этом случае пружины в сцепке не учитываются, это нужно для жесткой сцепки, к примеру, между паровозом и тендером.
Группа параметров [B]Buffers[/B] идентична параметрам сцепок, применяется только при сцепке типа [I]Chain[/I], которая не имеет собственных пружин, а сжимающие усилия воспринимаются через буферы.
Важно заметить, что для специальных типов подвижного состава возможно использование особых типов сцепок. В этом случае присутствует строка [I]CouplingUniqueType ( "любое название" )[/I]. При этом возможна сцепка только тех локомотивов и вагонов, у которых прописан этот особый, уникальный вид сцепки.
[CODE] Adheasion ( 0.7 0.49 6.49 0 )
DerailRailHeight ( 4cm )
DerailRailForce ( 2.5*180t )
DerailBufferForce ( 1604kN )
NumWheels ( 16 )
Friction (
2370.1N/m/s -0.10 1.5mph 10.688N/m/s 1.910
126N/rad/s 0 0.3rad/s 3 1.6
)

BrakeEquipmentType ( "Triple_valve, Auxilary_reservoir " )
BrakeSystemType ( "Air_single_pipe" )
MaxBrakeForce( 170kN )
TripleValveRatio( 2.5 )
MaxReleaseRate( 2 )
MaxApplicationRate( 12 )
MaxAuxilaryChargingRate( 4 )
BrakeCylinderPressureForMaxBrakeBrakeForce( 57 )

IntakePoint ( -0.5m 0.5m FuelDiesel )[/CODE]
[B]Adheasion[/B] - это коэффициент сцепления, первое значение задается для скользких условий, второе - для нормальных, третье - для посыпки песком, четвертое значение не используется. [B]DerailRailHeight[/B] обозначает максимально допустимое несовпадение секций пути по высоте; при превышении этой величины произойдет сход. [B]DerailRailForce[/B] - максимально допустимая действующая центробежная сила, при превышении значения (например прислишком высокой скорости в кривой) произойдет сход. [B]DerailBufferForce[/B] - наибольшая сила, которую может воспринять локомотив при соударении с другой единицей ПС без схода. [B]NumWheels[/B] в секции [I]Wagon[/I] в данном случае не нужен, т.к. он описывает количество [I]бегунковых [B]осей[/B][/I]. [B]Friction[/B] учитывает не только силу трения, но и аэродинамическое сопротивление локомотива, рассчитывается по специальным формулам. [B]BrakeEquipmentType[/B] отвечает за типы тормозного оборудования. [B]BrakeSystemType[/B] отвечает за типы тормозной системы локомотива. Если типы тормозов вагона и локомотива не будут совпадать, поезд, фактически, останется без тормозов. [B]MaxBrakeForce[/B] - максимальное тормозное усилие. [B]TripleValveRatio[/B] задает отношение. В данном случае изменение давления в уравнительном резервуаре на 1 единицу вызовет изменение давления в тормозных цилиндрах на 2.5 единицы. [B]MaxReleaseRate[/B] - наибольшая скорость сброса давление из тормозных цилиндров, фунтов на квадратный дюйм в секунду. [B]MaxApplicationRate[/B] - скорость наполнения тормозных цилиндров. [B]MaxAuxilaryChargingRate[/B] - наибольшая скорость зарядки магистрали. [B]BrakeCylinderPressureForMaxBrakeBrakeForce[/B] - давление в тормозных цилиндрах при наибольшем тормозном усилии. [B]IntakePoint[/B] - координаты примерного расположения заправочной горловины (от и до, относительно центра модели) с указанием типа топлива.

[B]Продолжение следует[/B]

[B]2 модератор:[/B]
Нельзя ли переименовать тему в "Подробное описание структуры eng-файла"? :)
[COLOR="Orange"]Согласен. И заодно перенес в раздел "Подвижной состав"[/COLOR]

2ТЭ116-1103 15.06.2009 20:21

Спасибо, жду продолжения...

E69 15.06.2009 21:18

Хорошее дело начали. Если получится более-менее полная статья, надо будет её в FAQ закопировать.

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

Что в первой строке енга всегда написана одинаковая абракадабра [code]SIMISA@@@@@@@@@@JINX0D0t______[/code]

Что структура всего, что написано в файле далее, очевидно, состоит из набора выражиений типа
[code]ИМЯ_ПАРАМЕТРА (
ЗНАЧЕНИЯ_ПАРАМЕТРА
)[/code]
и допускает множество вложенных уровней. Поэтому надо строго следить за парностью скобок.

Что самый верхний уровень всегда состоит из 2 блоков, включающих следующее:
[code]Wagon ( Имя_Локомотива
...
Type (Engine)
...
)

Engine ( Имя_Локомотива
...
Wagon ( Имя_Локомотива )
...
)[/code], причем имя локомотива в енге во избежание глюков везде должно совпадать с именем файла.

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

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

RC_Vinchenzo 16.06.2009 06:05

Большое спасибо за важное добавление. Я вот закончу болеть на днях, и обязательно допишу статью.
Вот какой интересный факт раскопал: в одном буржуйском мануале говорится что параметры, описанные в [B]Wagon[/B], такие, например, как [I]NumWheels[/I] и [I]WheelRadius[/I] отвечают за неведущие (бегунковые) оси локомотива, а сам параметр [I]NumWheels[/I] обозначает не количество колес, а количество осей. Соответственно, те же самые параметры в секции [B]Engine[/B] описывают ведущие оси.
Насколько я понимаю, прежде при разработке энгов команда Трейнсима это не учитывала и дублировала параметры в обеих частях.

Im-Ho-Tep 16.06.2009 07:04

Неправильно понимаешь - учитывала и рассчитывала.

Паштет 16.06.2009 08:53

[QUOTE=RC_Vinchenzo;93609][CODE] Coupling (
Type ( Automatic )
Spring (
Stiffness ( 1e6N/m 5e6N/m )
Damping ( 1e6N/m 1e6N/m )
Break ( 1.1e7N 1.1e7N )
r0 ( 20cm 30cm )
)
comment( CouplingHasRigidConnection () )
Velocity ( 0.1m/s )
)

Buffers (
Spring (
Stiffness ( 1e6N/m 5e6N/m )
Damping ( 1e6N/m/s 1e6N/m/s )
r0 ( 0m 1e9 )
)
Centre ( 0.5 )
Radius ( 1 )
Angle ( 0.5deg )
)[/CODE]
Эти строки описывают поведение сцепок и буферов. Локомотив может иметь два набора параметров Coupling, в этом случае первый отвечаетза переднюю сцепку, а второй - за заднюю. [/QUOTE]А разве не наоборот: первый параметр Coupling отвечает за заднюю сцепку, а второй соответсвенно за переднюю?

RailMax 16.06.2009 09:09

[B]Паштет[/B] - верно: сначала идёт задняя, потом - передняя

ВIGMAN 16.06.2009 09:12

В данном случае отвечает как передняя так и задняя

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

[CODE] Coupling (
Type ( Bar )
Spring (
Stiffness ( 2e6N/m 2e6N/m )
Damping ( 2e6N/m/s 2e6N/m/s )
Break ( 1.5e7N 1.5e7N )
r0 ( 10cm 10cm )
)
Velocity ( 0.01m/s )
)
Coupling (
Type ( Automatic )
Spring (
Stiffness ( 1e6N/m 1.5e6N/m )
Damping ( 1e6N/m/s 1e6N/m/s )
Break ( 1.5e7N 1.5e7N )
r0 ( 10cm 10cm )
)
Velocity ( 0.01m/s )
)
Buffers (
Spring (
Stiffness ( 1e7N/m 0 )
Damping ( 1e6N/m/s 0 )
r0 ( 0m 1e9 )
)
Centre ( 0.5 )
Radius ( 1 )
Angle ( 0.5deg )
)[/CODE]

то первый блок Type ( Bar ) отвечает за заднею сцепка
второй блок Type ( Automatic ) отвечает за переднею

RC_Vinchenzo 16.06.2009 10:27

Опечатка, чоуш :) спасибо за исправления
Итоговый вариант соберем и в FAQ прицепим

boroda6304 16.06.2009 21:16

Парни,молодцы,очень нужное и полезное дело делаете!

jerry 16.06.2009 21:30

извините может не в эту ветку зашел

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

зараннее спасибо!

Zabor 16.06.2009 21:45

Еще 5 копеек, уже ближе к концу Eng-a
 
Параметр [B]Name[/B] отвечает за отображаемое имя в редакторе составов, может содержать пробелы, в этом случае указанное в параметре имя заключается в кавычки, если пробелов нет, кавычки не обязательны.

Также может применяться у вагонов для отображения нужного имени вагона вместо имени файла в редакторе, например Name ( Boxcar-3580f_psim ).

Позже добавлю про Description и EngineOperatingProcedures

RC_Vinchenzo 03.07.2009 19:27

Продолжим :)
Далее следует раздел, отвечающий за источники света, находящиеся на локомотиве.
[CODE]Lights ( 38
Light (
comment( Sphere of light medium )
Type ( 1 )
Conditions (
Headlight ( 2 )
Unit ( 2 )
)
Cycle ( 0 )
FadeIn ( 1.2 )
FadeOut ( 1.0 )
States ( 1
State (
Duration ( 0.0 )
LightColour ( 50ffffff )
Position ( 0.0 1.5 1.5 )
Transition ( 0 )
Radius ( 80 )
Angle ( 10 )
)
)
)
)[/CODE]
38 указывает на общую сумму всех источников света, это количество подгрупп [I]Light[/I] в данном разделе. Как правило, каждый "фонарь" снабжен комментарием, в примере это за это отвечает строка [I]comment( Sphere of light medium )[/I], это говорит пользователю, что следующие настройки относятся к пучку света в режиме "тусклый свет". [I]Type (1)[/I] означает пучок света, тот же параметр, но с 0 вместо 1 означал бы фонарь. Группа параметров [I]Conditions[/I] отвечает за условия включения/выключения фонарей. [I]Headlight ( 2 )[/I] означает что световой пучок будет задействован в положении 2 переключателя света (0 - независимо от положения переключателя; 1 - выключен; 2 - тусклый; 3 - яркий). [I]Unit (2)[/I] означает что световой пучок будет задействован если данная единица ПС должна находиться первой в составе. Другие значения: 0 - независимо от положения в составе; 1 - не в голове и не в хвосте состава; 2 - в голове состава; 3 - в хвосте состава. [I]Cycle ( 0 )[/I] означает что данный световой пучок работает постоянно. [I]FadeIn ( 1.2 )[/I] и [I]FadeOut ( 1.0 )[/I] - это длительность включения и выключения, насколько быстро нагревается лампа. Далее описаны [I]States[/I] - состояния пучка света. Посколько при включении он работает постоянно, то и состояние у нас одно. [I]Duration ( 0.0 )[/I] говорит о том, что свет идет постоянно. В случае циклический работы этот параметр означал бы продолжительность цикла. [I]LightColour[/I] обозначает цвет светового пучка, [I]Position[/I] - позицию его источника, [I]Radius[/I] - "дальнобойность" света, [I]Angle[/I] - ширина угла светового пучка.
[CODE]Sound ( "../../tsrLoco_TEP80-Alias/Sound/tsrLoco_tep80-eng.sms" )
)[/CODE]
Следует ссылка на "наружный" звуковой файл локомотива. Примечательно, что МСТС предполагает наличие в папке с каждым локомотивом папок [I]Cabview[/I] и [I]Sound[/I], но поскольку разработчики используют алиас-файлы для упрощения работы и уменьшения занимаемого дискового пространства, приходится добавлять к пути ../../ чтобы выйти на уровень папки [I]Trainset[/I], и только затем прописать путь к sms-файлу, уже относительно [I]Trainset[/I].
Далее следует закрывающаяся скобка, на этом заканчивается секция [I]Wagon[/I].

Вазюк 03.07.2009 21:18

А если посмотреть на енг файл паровоза? Там же всё сложнее! Например как прописать, что это танк-паровоз?

ВЛ11 07.10.2009 16:50

Подскажите, а где находиться параметр изменения расстояния между сцепками? А то у меня при постройке состава вагоны друг на друга накладываются:(

Raul 07.10.2009 19:40

[QUOTE=ВЛ11;118434]Подскажите, а где находиться параметр изменения расстояния между сцепками? А то у меня при постройке состава вагоны друг на друга накладываются:([/QUOTE]
Длину вагона измените (Size).

ВЛ11 09.10.2009 11:31

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

Im-Ho-Tep 09.10.2009 11:44

Предположительно пивот модели не совпадает с ее геометрическим центром, а посему через eng-wag это [B]никак не лечется[/B]. Нужно переделывать саму модель.

ВЛ11 09.10.2009 15:35

Нет! Вагон состоит из двух SHAPES. Первый представляет собой сам вагон, а второй приставку к нему (в данном случае кабину). И из-за этого вагон получаеться в игре длинее, примерно на 1.5 метра

Im-Ho-Tep 09.10.2009 18:37

Еще раз - через энг/ваг [B]ни-как[/B].

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

Grebnev 09.10.2009 18:41

Вагон в студию"! Что это за чудо со смещенным пивотом? если что-пивот можно подвинуть ы Shape file Manager. Гугль в помощь.

Im-Ho-Tep 09.10.2009 18:44

Я так понял, проблемма в том, что у него "кабина" к вагону фрейтанимом присандалена.

ВЛ11 09.10.2009 18:57

короче легче вагон удалить чем в s-файле капаться!

Grebnev 09.10.2009 19:04

нет, ты уж будь добр, покажи что за маашина такая чудесная? где скачать?

ВЛ11 09.10.2009 21:14

вот сылка на вагон:
[url]http://webfile.ru/3991687[/url]

Raul 09.10.2009 21:31

Тут надо написать еще один eng или wag для состава, без freightanim. Я попробую, если хотите.

Grebnev 09.10.2009 21:40

[QUOTE=ВЛ11;119013]вот сылка на вагон:
[url]http://webfile.ru/3991687[/url][/QUOTE]

Забей на него, ничего не сделать-анимация слетает.

Raul 09.10.2009 22:09

Алексей, у меня не слетела. Вот что получилось: [url]http://webfile.ru/3991846[/url]

ВЛ11 09.10.2009 22:54

а проблема осталось! Кабина лезет на соседний вагон, а за wag-файл благодарю

Raul 09.10.2009 22:59

.con мой поставили? Оригинальный удалите.

Ромыч РЖДУЗ 10.10.2009 11:08

Возник вопрос, относительно поездного тормоза.
В частнсти это РКМ 395 или 394. Дело в том, что например в 395-м кране есть 7 положений. Понятное дело, что в msts, ЭПТ вообще не предусмотрено. Так вот я думал, можно-ли как-то, задать ещё одни параметр набора воздуха в ТЦ, что бы он набирался быстро? Ну или наоборот, очень медленно.

[B]Brake_Train ( 0 1 0.0125 0.2
NumNotches ( 6
Notch ( 0 0 TrainBrakesControllerReleaseStart )
Notch ( 0.2 0 TrainBrakesControllerRunningStart )
Notch ( 0.3 0 TrainBrakesControllerHoldLappedStart )
Notch ( 0.301 0 TrainBrakesControllerHoldLappedStart )
Notch ( 0.9 0 TrainBrakesControllerFullServiceStart )
Notch ( 1 0 TrainBrakesControllerEmergencyStart )
)
)[/B]
В положении "перекрыша", многие разработчики, ставят ещё одну перекрышу с пропуском, на дополнительный кадр. А мне интересно, можно-ли сделать ещё один нотч, который так же будет означать служебное действие, но давать например очень плавный набор?
З.Ы. Конечно можно сделать проще, поставив ещё один пропуск, на дополнительнвй кадр анимации крана. Что бы было 7 положений. Но так как действовать "пневматика" не будет, это уже не интересно.

Дмитрий2010 10.10.2009 11:41

Всем доброго времени суток. Помогите кто может. Я в игре МСТС новичек. Вроде во всем разобрался, но одну ошибку никак не могу исправить, а именно после установки маршрута "Пермь" стала вылетать ошибка tsrLoco_2te116-707a(b).eng. Видел на форуме, что эта ошибка из-за того, что в каком то файле не правильно прописан те116-707, но не могу найти в каком именно файле ошибка.

Grebnev 10.10.2009 11:55

[QUOTE=Дмитрий2010;119116]Всем доброго времени суток. Помогите кто может. Я в игре МСТС новичек. Вроде во всем разобрался, но одну ошибку никак не могу исправить, а именно после установки маршрута "Пермь" стала вылетать ошибка tsrLoco_2te116-707a(b).eng. Видел на форуме, что эта ошибка из-за того, что в каком то файле не правильно прописан те116-707, но не могу найти в каком именно файле ошибка.[/QUOTE]

В общем в папке маршрута есть каталог activity. Там файлы сценариев(.act ). Ошибка в них. Я бы их перенес куда-нибудь, и попробовал запустить игру.

Дмитрий2010 10.10.2009 12:30

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

Grebnev 10.10.2009 12:42

просто попробуй как я советую. и поищи файл состава в папке consist с этим локом.. тоже убери его

Дмитрий2010 10.10.2009 13:22

Нет это не помогает. Да и самого сценария тогда в игре нет. Где то 2ТЕ116-707 для маршрута "Пермь" ещё прописывается.

Дмитрий2010 10.10.2009 13:50

Нет данные действия не помогли. Да и самого сценария тогда в игре не будет. Ведь как то же можно исправить такие ошибки!? Где ещё прописываются все локомотивы и составы кроме папки сценариев маршрута?

Grebnev 10.10.2009 14:00

[QUOTE=Дмитрий2010;119147]Нет данные действия не помогли. Да и самого сценария тогда в игре не будет. Ведь как то же можно исправить такие ошибки!? Где ещё прописываются все локомотивы и составы кроме папки сценариев маршрута?[/QUOTE]

А ну еще ж сервисы и траффик- там тоже надо менять))...но вообще это все уже оффтоп в отношении данной темы.

Дмитрий2010 10.10.2009 14:18

А где тогда можно узнать все поточнее по данному моему вопросу? Просто я уже дня 3 мучаюсь с этим.

А где можно узнать поточнее ответ на мой вопрос? Просто я уже дня 3 с этим мучаюсь.

А где можно узнать поточнее информацию по моему вопросу? Просто я уже дня 3 с этим мучаюсь.


Текущее время: 17:24. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim