Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Подвижной состав

Ответ
 
Опции темы Опции просмотра
Старый 10.06.2009, 15:25   #1
2ТЭ116-1103
Новичок
 
Регистрация: 06.02.2008
Сообщений: 17
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
2ТЭ116-1103 стоит на развилке (репутация по умолчанию)
По умолчанию Описание структуры eng-файла

Ребята, расшифровать внутренности Engа не поможете?
2ТЭ116-1103 вне форума   Ответить с цитированием
Старый 10.06.2009, 23:53   #2
RC_Vinchenzo
Опытный
 
Аватар для RC_Vinchenzo
 
Регистрация: 12.05.2007
Адрес: Екатеринбург
Сообщений: 173
Вы сказали Спасибо: 0
Поблагодарили 5 раз(а) в 2 сообщениях
RC_Vinchenzo стоит на развилке (репутация по умолчанию)
По умолчанию

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

В качестве примера беру файл от ТЭП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-файла"?
Согласен. И заодно перенес в раздел "Подвижной состав"

Последний раз редактировалось Raskolnikov; 11.06.2009 в 00:13.
RC_Vinchenzo вне форума   Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо RC_Vinchenzo за это полезное сообщение:
Старый 15.06.2009, 20:21   #3
2ТЭ116-1103
Новичок
 
Регистрация: 06.02.2008
Сообщений: 17
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
2ТЭ116-1103 стоит на развилке (репутация по умолчанию)
По умолчанию

Спасибо, жду продолжения...
2ТЭ116-1103 вне форума   Ответить с цитированием
Старый 16.06.2009, 08:53   #4
Паштет
Разработчик
 
Аватар для Паштет
 
Регистрация: 06.06.2007
Адрес: Ст.Бескудниково, МСК
Сообщений: 1,668
Вы сказали Спасибо: 849
Поблагодарили 932 раз(а) в 453 сообщениях
Паштет стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от RC_Vinchenzo Посмотреть сообщение
Код:
	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, в этом случае первый отвечаетза переднюю сцепку, а второй - за заднюю.
А разве не наоборот: первый параметр Coupling отвечает за заднюю сцепку, а второй соответсвенно за переднюю?
Паштет вне форума   Ответить с цитированием
Старый 15.06.2009, 21:18   #5
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,645
Вы сказали Спасибо: 2,049
Поблагодарили 2,350 раз(а) в 777 сообщениях
E69 хороший собеседник
По умолчанию

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

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

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

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

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

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

Немного запутанно кажется выходит, но хочется отметить общие моменты перед рассмотрением частностей.
__________________
🚆🚆🚆
E69 вне форума   Ответить с цитированием
Старый 16.06.2009, 06:05   #6
RC_Vinchenzo
Опытный
 
Аватар для RC_Vinchenzo
 
Регистрация: 12.05.2007
Адрес: Екатеринбург
Сообщений: 173
Вы сказали Спасибо: 0
Поблагодарили 5 раз(а) в 2 сообщениях
RC_Vinchenzo стоит на развилке (репутация по умолчанию)
По умолчанию

Большое спасибо за важное добавление. Я вот закончу болеть на днях, и обязательно допишу статью.
Вот какой интересный факт раскопал: в одном буржуйском мануале говорится что параметры, описанные в Wagon, такие, например, как NumWheels и WheelRadius отвечают за неведущие (бегунковые) оси локомотива, а сам параметр NumWheels обозначает не количество колес, а количество осей. Соответственно, те же самые параметры в секции Engine описывают ведущие оси.
Насколько я понимаю, прежде при разработке энгов команда Трейнсима это не учитывала и дублировала параметры в обеих частях.
RC_Vinchenzo вне форума   Ответить с цитированием
Старый 16.06.2009, 07:04   #7
Im-Ho-Tep
Дессидент
 
Аватар для Im-Ho-Tep
 
Регистрация: 10.04.2007
Адрес: Павлодар
Сообщений: 1,983
Вы сказали Спасибо: 43
Поблагодарили 284 раз(а) в 169 сообщениях
Im-Ho-Tep стоит на развилке (репутация по умолчанию)
По умолчанию

Неправильно понимаешь - учитывала и рассчитывала.
__________________
Ну, чё новенького-то на Плюке?
Im-Ho-Tep вне форума   Ответить с цитированием
Старый 16.06.2009, 09:09   #8
RailMax
московское метро
 
Аватар для RailMax
 
Регистрация: 17.08.2007
Адрес: Москва
Сообщений: 4,195
Вы сказали Спасибо: 6,547
Поблагодарили 2,440 раз(а) в 1,072 сообщениях
RailMax стоит на развилке (репутация по умолчанию)
По умолчанию

Паштет - верно: сначала идёт задняя, потом - передняя
__________________
" прошёл сценарий и я очень понравился автору" (с)
RailMax вне форума   Ответить с цитированием
Старый 16.06.2009, 09:12   #9
ВIGMAN
Заблокирован
 
Регистрация: 15.06.2008
Адрес: 117452 г. Москва, дальше спросить у первого встречного...
Сообщений: 1,748
Вы сказали Спасибо: 2,282
Поблагодарили 1,913 раз(а) в 594 сообщениях
ВIGMAN стоит на развилке (репутация по умолчанию)
По умолчанию

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

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

Код:
	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 )
	)
то первый блок Type ( Bar ) отвечает за заднею сцепка
второй блок Type ( Automatic ) отвечает за переднею
ВIGMAN вне форума   Ответить с цитированием
Старый 16.06.2009, 10:27   #10
RC_Vinchenzo
Опытный
 
Аватар для RC_Vinchenzo
 
Регистрация: 12.05.2007
Адрес: Екатеринбург
Сообщений: 173
Вы сказали Спасибо: 0
Поблагодарили 5 раз(а) в 2 сообщениях
RC_Vinchenzo стоит на развилке (репутация по умолчанию)
По умолчанию

Опечатка, чоуш спасибо за исправления
Итоговый вариант соберем и в FAQ прицепим
RC_Vinchenzo вне форума   Ответить с цитированием
Старый 16.06.2009, 21:16   #11
boroda6304
Матёрый пользователь
 
Аватар для boroda6304
 
Регистрация: 17.02.2009
Сообщений: 1,735
Вы сказали Спасибо: 9,821
Поблагодарили 1,454 раз(а) в 741 сообщениях
boroda6304 стоит на развилке (репутация по умолчанию)
По умолчанию

Парни,молодцы,очень нужное и полезное дело делаете!
boroda6304 вне форума   Ответить с цитированием
Старый 16.06.2009, 21:30   #12
jerry
Новичок
 
Регистрация: 16.06.2009
Сообщений: 11
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
jerry стоит на развилке (репутация по умолчанию)
Отправить сообщение для jerry с помощью ICQ
По умолчанию

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

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

зараннее спасибо!
jerry вне форума   Ответить с цитированием
Старый 16.06.2009, 21:45   #13
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,263 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию Еще 5 копеек, уже ближе к концу Eng-a

Параметр Name отвечает за отображаемое имя в редакторе составов, может содержать пробелы, в этом случае указанное в параметре имя заключается в кавычки, если пробелов нет, кавычки не обязательны.

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

Позже добавлю про Description и EngineOperatingProcedures
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.

Последний раз редактировалось Zabor; 04.07.2009 в 00:36. Причина: орф.
Zabor вне форума   Ответить с цитированием
Старый 03.07.2009, 19:27   #14
RC_Vinchenzo
Опытный
 
Аватар для RC_Vinchenzo
 
Регистрация: 12.05.2007
Адрес: Екатеринбург
Сообщений: 173
Вы сказали Спасибо: 0
Поблагодарили 5 раз(а) в 2 сообщениях
RC_Vinchenzo стоит на развилке (репутация по умолчанию)
По умолчанию

Продолжим
Далее следует раздел, отвечающий за источники света, находящиеся на локомотиве.
Код:
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 )
					)
				)
			)
	)
38 указывает на общую сумму всех источников света, это количество подгрупп Light в данном разделе. Как правило, каждый "фонарь" снабжен комментарием, в примере это за это отвечает строка comment( Sphere of light medium ), это говорит пользователю, что следующие настройки относятся к пучку света в режиме "тусклый свет". Type (1) означает пучок света, тот же параметр, но с 0 вместо 1 означал бы фонарь. Группа параметров Conditions отвечает за условия включения/выключения фонарей. Headlight ( 2 ) означает что световой пучок будет задействован в положении 2 переключателя света (0 - независимо от положения переключателя; 1 - выключен; 2 - тусклый; 3 - яркий). Unit (2) означает что световой пучок будет задействован если данная единица ПС должна находиться первой в составе. Другие значения: 0 - независимо от положения в составе; 1 - не в голове и не в хвосте состава; 2 - в голове состава; 3 - в хвосте состава. Cycle ( 0 ) означает что данный световой пучок работает постоянно. FadeIn ( 1.2 ) и FadeOut ( 1.0 ) - это длительность включения и выключения, насколько быстро нагревается лампа. Далее описаны States - состояния пучка света. Посколько при включении он работает постоянно, то и состояние у нас одно. Duration ( 0.0 ) говорит о том, что свет идет постоянно. В случае циклический работы этот параметр означал бы продолжительность цикла. LightColour обозначает цвет светового пучка, Position - позицию его источника, Radius - "дальнобойность" света, Angle - ширина угла светового пучка.
Код:
Sound ( "../../tsrLoco_TEP80-Alias/Sound/tsrLoco_tep80-eng.sms" )
)
Следует ссылка на "наружный" звуковой файл локомотива. Примечательно, что МСТС предполагает наличие в папке с каждым локомотивом папок Cabview и Sound, но поскольку разработчики используют алиас-файлы для упрощения работы и уменьшения занимаемого дискового пространства, приходится добавлять к пути ../../ чтобы выйти на уровень папки Trainset, и только затем прописать путь к sms-файлу, уже относительно Trainset.
Далее следует закрывающаяся скобка, на этом заканчивается секция Wagon.
RC_Vinchenzo вне форума   Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо RC_Vinchenzo за это полезное сообщение:
Старый 03.07.2009, 21:18   #15
Вазюк
Матёрый пользователь
 
Аватар для Вазюк
 
Регистрация: 22.03.2008
Адрес: Пост ЭЦ
Сообщений: 2,677
Вы сказали Спасибо: 8,621
Поблагодарили 6,084 раз(а) в 1,378 сообщениях
Вазюк стоит на развилке (репутация по умолчанию)
По умолчанию

А если посмотреть на енг файл паровоза? Там же всё сложнее! Например как прописать, что это танк-паровоз?
__________________
КПВТ лучше. Он раненых не оставляет, только расчленёнку. © Colonel Abel
Вазюк вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


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