Поможем конечно!
Как раз собирался писать статью на эту тему.
В качестве примера беру файл от
ТЭП80-0001 как одного из наиболее качественно настроенных (хотя и не без ошибок) и свежих локомотивов.
Поехали:
Код:
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 )
)
Название локомотива в первой строке должно совпадать с именем eng-файла, иначе игра просто не опознает локомотив. Следом указан тип (
Type) подвижного состава. В данном случае мы имеем дело с локомотивом (другие возможные значения: Carriage, Freight, Tender, но это относится уже к wag-файлам). В строке комментария (
Comment) может содержаться абсолютно любая информация для тех, кто возьмется этот файл редактировать. Эту строку игра не читает.
WagonShape ссылается на модель локомотива в виде s-файла. Интересная особенность: если шейп-файл с заданным именем не будет найден в папке с локомотивом, игра будет искать его в папке Shapes того маршрута, на котором вы собрались прокатиться. Возможно, игра также будет искать его в общей папке Shapes, но у меня нет точных сведений насчет этого. Параметр
Size задает размеры локомотива, которые будут учитываться игрой. Сюда вписывают габаритную ширину, высоту и длину локомотива по осям автосцепок.
CentreOfGravity отвечает за расположение центра тяжести. как видно, здесь он почему-то смещен на 12 сантиметров вперед относительно центра. Видимо, сказывается влияние массы тел лок.бригады в кабине
Mass отвечает за массу локомотива,
WheelRadius - диаметр колес в общем случае. В данном случае этот параметр находится в секции
Wagon, он отвечает за диаметр бегунковых колес, если таковые имеются. Очевидно, что этот параметр ни на что не влияет без строки
NumWheels, которая здесь, впрочем, отсутствует, поэтому вернемся к ней позже.
InertiaTensor - важный параметр, влияющий на поведение вагонов в составе и их соударение. Рекомендуется делать устанавливать его равным параметру
Size, либо меньше его на одну единицу, дабы исключить автосцепки как мало влияющие на поведение вагона ввиду их небольшой массы.
Код:
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 )
)
Эти строки описывают поведение сцепок и буферов. Локомотив может иметь два набора параметров Coupling, в этом случае первый отвечаетза переднюю сцепку, а второй - за заднюю. Такую конфигурацию разумно применять, например, на двухсекционных электровозах, где передняя сцепка может быть автоматической, а задняя - жесткой для сцепления со второй секцией. В данном случае тепловоз имеет идентичные сцепки, так что надобность во втором наборе параметров отпадает.
Type оговаривает тип сцепки (автоматическая, винтовая стяжка (Chain) и жесткая (Bar), при этом Bar является неразьемной, ее нельзя расцепить во время игры!). Далее задаются характеристики пружин сцепки, работающих на растяжение (
Stiffness) и сжатие (
Damping). Параметр
Break задает максимально допустимое усилие на разрыв.
r0 влияет на возможности поворота сцепки относительно центральной оси локомотива. Не рекомендуется использовать маленькие значения на маршрутах с кривыми малого радиуса. Закомментированный параметр
CouplingHasRigidConnection может принимать значение (1), в этом случае пружины в сцепке не учитываются, это нужно для жесткой сцепки, к примеру, между паровозом и тендером.
Группа параметров
Buffers идентична параметрам сцепок, применяется только при сцепке типа
Chain, которая не имеет собственных пружин, а сжимающие усилия воспринимаются через буферы.
Важно заметить, что для специальных типов подвижного состава возможно использование особых типов сцепок. В этом случае присутствует строка
CouplingUniqueType ( "любое название" ). При этом возможна сцепка только тех локомотивов и вагонов, у которых прописан этот особый, уникальный вид сцепки.
Код:
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 )
Adheasion - это коэффициент сцепления, первое значение задается для скользких условий, второе - для нормальных, третье - для посыпки песком, четвертое значение не используется.
DerailRailHeight обозначает максимально допустимое несовпадение секций пути по высоте; при превышении этой величины произойдет сход.
DerailRailForce - максимально допустимая действующая центробежная сила, при превышении значения (например прислишком высокой скорости в кривой) произойдет сход.
DerailBufferForce - наибольшая сила, которую может воспринять локомотив при соударении с другой единицей ПС без схода.
NumWheels в секции
Wagon в данном случае не нужен, т.к. он описывает количество
бегунковых осей.
Friction учитывает не только силу трения, но и аэродинамическое сопротивление локомотива, рассчитывается по специальным формулам.
BrakeEquipmentType отвечает за типы тормозного оборудования.
BrakeSystemType отвечает за типы тормозной системы локомотива. Если типы тормозов вагона и локомотива не будут совпадать, поезд, фактически, останется без тормозов.
MaxBrakeForce - максимальное тормозное усилие.
TripleValveRatio задает отношение. В данном случае изменение давления в уравнительном резервуаре на 1 единицу вызовет изменение давления в тормозных цилиндрах на 2.5 единицы.
MaxReleaseRate - наибольшая скорость сброса давление из тормозных цилиндров, фунтов на квадратный дюйм в секунду.
MaxApplicationRate - скорость наполнения тормозных цилиндров.
MaxAuxilaryChargingRate - наибольшая скорость зарядки магистрали.
BrakeCylinderPressureForMaxBrakeBrakeForce - давление в тормозных цилиндрах при наибольшем тормозном усилии.
IntakePoint - координаты примерного расположения заправочной горловины (от и до, относительно центра модели) с указанием типа топлива.
Продолжение следует
2 модератор:
Нельзя ли переименовать тему в "Подробное описание структуры eng-файла"?
Согласен. И заодно перенес в раздел "Подвижной состав"