Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Подвижной состав (http://www.trainsim.ru/forum/forumdisplay.php?f=23)
-   -   Скриптовая физика в игре (http://www.trainsim.ru/forum/showthread.php?t=15704)

TRam_ 14.09.2012 01:20

Скриптовая физика в игре
 
Оказавшись летом за компом, выдерживающим trainz только на минимальных настройках, стал писать свой собственный скриптовый расчёт сил в составе и перемещений вагонов. Благодаря одному свежему подарку аурановцев удалось двигать вагоны взад-вперёд по путям.

Формулы сопротивления и трения колодок взяты из ПТР, характеристики поглощающего аппарата у СА-3 взяты для Ш-2-В. А вот модель расчёта давлений в тормозной системе, а так же сила тяги пока дефолтные.

Для локомотивов расчёт силы торможения выполняется по формулам от 2ТЭ116.

Реализована анимация сцепок и звук лязга, возникающий при резких сжатиях/растяжениях автосцепки.

[YOUTUBE="видео"]XFQYCRb3w54[/YOUTUBE]
[YOUTUBE="видео2"]tPOFZ-6booQ[/YOUTUBE]

скачать - [url]http://narod.ru/disk/60972013001.24c101b7b12b42b3ac9b1907c27f7d0b/test_physics.cdp.html[/url]


Для теста расставить состав в редакторе (ни в коем случае не двигая его части, иначе в работу включаится дефолтная модель сцепок) и локомотива без скрипта раскачивания.
[URL=http://s54.radikal.ru/i145/1209/56/08b81b46645a.jpg][IMG]http://s43.radikal.ru/i099/1209/e5/317c67f7bb6ct.jpg[/IMG][/URL]

Перед стартом, а так же после смены кабины или сцепки с другим составом выполнять "Инициализировать систему" - это перезапускает расчёты.

Возможно сделать состав только с одним таким вагоном (а остальные набирать любые другие) но в этом случае ни звука, ни анимации сцепки на тех вагонах не будет.

Патч, убирающий раскачивание из новых 2ТЭ116 - [url]http://narod.ru/disk/59966738001.1aaccc36066c613b005e785521c87547/Script2te116.cdp.html[/url]


Есть также возможность изменения параметров автосцепки. Параметры берустся из enginecpec'а вагона/локомотива или берутся по умолчанию если не заданы.

[CODE]extensions {
couple
{
inc_resilience 22000000
dec_resilience 4200000
min_gap_vel 0.01

gap 0.02
viscosity 1000
max_c_force 2000000
max_s_vel 0.04
}
}
[/CODE]

первые два тега берутся из графика жёсткости поглощающего аппарата (рабочей диаграммы). Первый соответствует верхней прямой (точнее тангенсу угла наклона, или просто коэффициенту жёсткости) второй - нижней, в Ньютонах/метр. (inc_resilience был получен как (2 500 000/ 0.11) ).

min_gap_vel - максимальная скорость сжимания/растяжения автосцепки, при которой жёсткость полностью пересчитывается по inc_resilience . При меньшей скорости жёсткость снижается до dec_resilience и остаётся таковой когда сцепка возвращается в исходное положение . В м/с.

gap - суммарный зазор одной автосцепки. У 2х он был бы в 2 раза больше. в метрах (тут конечно не зазор в щели, а ещё зазор при переходе от растяжения к сжатию, т.е. ход опорной плиты пока поглощающий аппарат не упрётся о задний упор, плюс неплотность тягового хомута).


viscosity - вязкость. Позволяет гасить вибрацию вызванную ошибками расчёта. Н / (м/с) .
max_s_vel - минимальная скорость при которой воспроизводится звук удара.

max_c_force - сила для разрыва


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

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