|
Описание структуры eng-файла
Ребята, расшифровать внутренности Engа не поможете?
|
Поможем конечно!
Как раз собирался писать статью на эту тему. В качестве примера беру файл от [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] |
Спасибо, жду продолжения...
|
Хорошее дело начали. Если получится более-менее полная статья, надо будет её в FAQ закопировать.
Ну и я бы прежде чем переходить к подробностям - смыслу кадого параметра - начал с общих замечаний для всех типов и серий локомотивов. Что в первой строке енга всегда написана одинаковая абракадабра [code]SIMISA@@@@@@@@@@JINX0D0t______[/code] Что структура всего, что написано в файле далее, очевидно, состоит из набора выражиений типа [code]ИМЯ_ПАРАМЕТРА ( ЗНАЧЕНИЯ_ПАРАМЕТРА )[/code] и допускает множество вложенных уровней. Поэтому надо строго следить за парностью скобок. Что самый верхний уровень всегда состоит из 2 блоков, включающих следующее: [code]Wagon ( Имя_Локомотива ... Type (Engine) ... ) Engine ( Имя_Локомотива ... Wagon ( Имя_Локомотива ) ... )[/code], причем имя локомотива в енге во избежание глюков везде должно совпадать с именем файла. Расположение остальных параметров обычно примерно одинаково, хотя порядок их следования вообще говоря не принципиален, и по крайней мере некоторые из них могут быть прописаны хоть в первой, хоть во второй "частях" енга. Немного запутанно кажется выходит, но хочется отметить общие моменты перед рассмотрением частностей. |
Большое спасибо за важное добавление. Я вот закончу болеть на днях, и обязательно допишу статью.
Вот какой интересный факт раскопал: в одном буржуйском мануале говорится что параметры, описанные в [B]Wagon[/B], такие, например, как [I]NumWheels[/I] и [I]WheelRadius[/I] отвечают за неведущие (бегунковые) оси локомотива, а сам параметр [I]NumWheels[/I] обозначает не количество колес, а количество осей. Соответственно, те же самые параметры в секции [B]Engine[/B] описывают ведущие оси. Насколько я понимаю, прежде при разработке энгов команда Трейнсима это не учитывала и дублировала параметры в обеих частях. |
Неправильно понимаешь - учитывала и рассчитывала.
|
[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 отвечает за заднюю сцепку, а второй соответсвенно за переднюю? |
[B]Паштет[/B] - верно: сначала идёт задняя, потом - передняя
|
В данном случае отвечает как передняя так и задняя
если вы хотите по отдельности например так [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 ) отвечает за переднею |
Опечатка, чоуш :) спасибо за исправления
Итоговый вариант соберем и в FAQ прицепим |
Парни,молодцы,очень нужное и полезное дело делаете!
|
извините может не в эту ветку зашел
можете объяснить как сделать настройку буферных огней что,где, и за что отвечает зараннее спасибо! |
Еще 5 копеек, уже ближе к концу Eng-a
Параметр [B]Name[/B] отвечает за отображаемое имя в редакторе составов, может содержать пробелы, в этом случае указанное в параметре имя заключается в кавычки, если пробелов нет, кавычки не обязательны.
Также может применяться у вагонов для отображения нужного имени вагона вместо имени файла в редакторе, например Name ( Boxcar-3580f_psim ). Позже добавлю про Description и EngineOperatingProcedures |
Продолжим :)
Далее следует раздел, отвечающий за источники света, находящиеся на локомотиве. [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]. |
А если посмотреть на енг файл паровоза? Там же всё сложнее! Например как прописать, что это танк-паровоз?
|
Текущее время: 16:12. Часовой пояс GMT +4. |
|
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim