Форум Trainsim  

Вернуться   Форум Trainsim > RTrainSim > RTrainSim - Об игре

Ответ
 
Опции темы Опции просмотра
Старый 09.08.2012, 14:49   #1
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию Новый движок для MSTS - RTrainSim

Мне всегда хотелось, чтобы в МСТС были трёхмерные кабины, чтобы было больше возможностей настраивать локомотивы, чтобы можно было делать любые скрещения в сценарии, не заморачиваясь с невидимыми локомотивами, чтобы свет от трафика был, и т.д. и т.п.
В МСТС это всё сделать не так легко, если вообще возможно. Но я попробовал вот сделать свой симуляторный движок, который бы был совместим со всеми дополнениями МСТС. Вернее, лет 5 уже пробую... Кабины сделаны из подручного материала, вообщем-то в основном из текстур 2-мерных кабин МСТС.
В этом симуляторе подразумевается, что игра идёт от лица машиниста - нужно ходить, залезать в локомотивы, перемещаться между секциями и т.п. Теоретически, реализовать в нём можно практически всё по функционалу локомотива. Но на данный момент управление реализовано упрощённо. В ВЛ80к достаточно переключить несколько рубильников на распределительном щите в обеих секциях, ну и повключать всё что надо на панели переключателей.
Работа локомотивов игрока в симуляторе реализуется с помощью dll-модулей для каждого локомотива, в них располагаются обработчики нажатия клавиш и т.п.
Сценарии в движке реализованы. Формат сценариев свой, от МСТС отличающийся.
В переспективе сделаю может конвертер сценариев, так-то особых сложностей быть не должно.

Разрыв сцепок можно отключить в конфиге, DisableCouplingBreak.

Для установки движка необходимы: МСТС, локомотивы ВЛ80к-125, ЧМЭ3-5775, ЭР9, пасс.вагон №22 и все звуки для них.

Несколько скриншотов:








Если кому интересно, есть желание покататься-потестировать - прошу

Актуальные ссылки находятся в теме RTrainSim DOWNLOAD.

.

Последний раз редактировалось MJack; 29.05.2015 в 08:24. Причина: актуализация ссылок
Ted вне форума   Ответить с цитированием
Эти 159 пользователя(ей) сказали Спасибо Ted за это полезное сообщение:
--RZD--, Ace Hard, Aifon, alallet, alekss, alex8888, ALexeych, alexshegera, AltMaks, apelsin7, ASNSpb, atom, Axell, benya, BIOX, bober-rzd, ceramica, CFM, Chernobyl, classicisme, Colonel_Abel, csf, Cynic, d1mab, dannik, DarkLotus, DaveMurray, DedMozaj, DenS, DEPO_MINSK, dizel44, Dr.Train, Driver, DS-3, E69, EAR, Ebernikov, egor14, error0x40, Evgeny S, FormenTRZ, Fox-kolpino, GeneZone, Gregory_777, hardtrainer, HarrisonShow, Hi Tech, iny., Izumka, jim_spb, Kirill Khokhlov, kondrik, Ku3a4, le Sandro, Lenrus, LINX JET, m.dima77, M1CHA, macreyn, Maksim Famiov, Mars92, Mashinistvova, Maxxxcab, mazy, MichaelD, Mixalblch, MJack, moskur, Mr. Angelo, Net, Nickgsm, NMSK, NoiSe, nokiamen, Nortrom, OLUVIEIIIK4, ostap24, Otkli, pashkevich, Pavlyuk153, poputchik, PROROK46, RailMax, Raskolnikov, RedMan, Replateck, Rezec, rft1, Riddik007, Rom7, Roman S., roman9683, rvs, s281182, saitgalin, Seafarer, Semy, Serg81, SergXcom, Seva33, Shimanski, side_one, Sikorski, Simao, Skythe, solovani, St.A.N, t-reks, Tarik, tero, theSEWEGI, Trainz Baku, Underscout, UranGS, urasb, VAE, Valik UZ, Valik255, vitro, Vivan755, vl80s, Vlad_Volya, Vova1395, Wlad209, Yolkin, Zabor, Zlodey, Андрей Шуляренко, Арсений К., Арсентий, ВIGMAN, Владимир Вольный, Деметрий, Диспетчер-регулятор, ДМБ, Евгений., КЕ, Ким Чен Ир, Кривой Максим, ЛИБ1995, Любитель, Моторвагонник, нюх, Прохорчук, псефур, Рома2345, Ромыч РЖДУЗ, Руслан78, Сан Саныч, Север, Сергей зуев, Сергей К, Сергей79, Сибиряк, Толяныч, ТЧ-13 Черновцы, ЧМЕ3-3780, Шурикан, Электричка
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 


Старый 14.09.2012, 15:30   #136
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

Кстати, а ведь кривая ни разу не кривая, это набор коротких прямых, теоретически можно посчитать количество переходов между ними за скажем 2 сек и высчитать амплитуду колебаний, получится автоматическая привязка к скорости и на прямом участке амплитуда снизится т.к. к-во стыков меньше.

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

Это так, мысли в слух.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 14.09.2012, 15:37   #137
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,653
Вы сказали Спасибо: 2,057
Поблагодарили 2,355 раз(а) в 781 сообщениях
E69 хороший собеседник
По умолчанию

В tsection пишется именно круглая кривая.

Надо думать =) ИМХО если нет возможности различить, стоит ориентироваться всё-таки на хороший путь и делать всё под него.
__________________
🚆🚆🚆
E69 вне форума   Ответить с цитированием
Старый 14.09.2012, 15:48   #138
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

Еще вариант - покачивать на каждом стыке с амплитудой пропорциональной скорости (не линейно естественно, иначе на 180 км/ч за пределами кабины окажемся =)) ), в какую сторону качать - выбирать рандомно.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 14.09.2012, 16:26   #139
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,653
Вы сказали Спасибо: 2,057
Поблагодарили 2,355 раз(а) в 781 сообщениях
E69 хороший собеседник
По умолчанию

Надо физику понять. Это колебания с собственной частотой, определяемой подвеской (тогда постоянная частота задается в настройках, амплитуда подбирается от скорости) или вынужденные толчками на стыках/неровностью колес с соответствувющей обороту колеса/прохождению стыка частотой.
ИМХО, тут дело не в стыках в первую очередь, а в "просадке" пути под весом поезда.
__________________
🚆🚆🚆
E69 вне форума   Ответить с цитированием
Старый 14.09.2012, 16:39   #140
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

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

Еще момент - ИМХО чем тяжелее ПС, тем качка должна быть более плавной и возможно с меньшей амплитудой, если ввести зависимость еще и от веса получится чуть ли ни индивидуальная качка у каждой единицы ПС.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 14.09.2012, 19:52   #141
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,653
Вы сказали Спасибо: 2,057
Поблагодарили 2,355 раз(а) в 781 сообщениях
E69 хороший собеседник
По умолчанию

Ну понятно, что не все надо воспроизводить, но какая-то общая основная закономерность нужна)
Надо конечно сводить к каким-то простым вещам, например собственная частота и предельная амплитуда для порожнего и груженого состояния. Фазу выбирать случайным образом, чтобы все вагоны не качались хором.
__________________
🚆🚆🚆
E69 вне форума   Ответить с цитированием
Старый 14.09.2012, 20:10   #142
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

Для этого и нужно взять уже имеющуюся переменную, а лучше две - стыки, как запускающий механизм и вес как ограничитель амплитуды/регулятор скорости раскачки - у всех вагонов будет разная раскачка без дополнительных настроек/конфигураций.
__________________
Присылайте ваши сценарии в копилку msts.
Опыт - это нечто, что приобретается сразу после того, как это было нужно.
100% не предпринятых попыток обречены на провал.
Zabor вне форума   Ответить с цитированием
Старый 14.09.2012, 21:09   #143
apelsin7
Матёрый пользователь
 
Регистрация: 06.01.2009
Адрес: Московская обл., Раменское
Сообщений: 1,368
Вы сказали Спасибо: 257
Поблагодарили 446 раз(а) в 131 сообщениях
apelsin7 стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от GeneZone Посмотреть сообщение
Ещё бы с раскачиванием в горизонтальной плоскости что-нибудь сделать бы, а то качается как-то уж больно линейно. Вот по вертикали нормально раскачивается.
Ted, а нельзя сделать, чтобы лок качался и по вертикали, и по горизонтали одновременно?
Имеется ввиду, наверное, качание как неваляшка? Тоесть левый край кабины чуть вниз-правый чуть вверх, правый чуть вверх - левый чуть вниз. Особенно это заметно становится на скорости. Очень хорошо это реализовано в zdsimulator, вот можно как пример взять.
apelsin7 вне форума   Ответить с цитированием
Старый 15.09.2012, 00:49   #144
NoiSe
Опытный
 
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
NoiSe стоит на развилке (репутация по умолчанию)
По умолчанию

Я как ездивший в реале , скажу что у разных локов характер раскачки разный и на разной скорости меняется. Так, что в стремлении к совершенству тут большое пространство.
Даже у одной серии свои навороты есть.
Мне ,так как уже есть, понравилось больше чем у поляков в EU07.
в идеале звук должен совпадать с движением кабины, ведь известно, что просадка полотна более ощутима именно на стыках и стрелках
А значит по любому для реальности нужно вводить тип полотна и расстояние между стыками рассчитывать опираясь на этот тип.
оттуда же можно достать правильный флаг для звука.
у поляков именно так и сделано для звука но только глючит(или я просто не до конца понял принцип) но кабина к событию 'стык' не привязанная и потому её раскачка на правду не похожа.
Но у них есть бонус, кабина привязана к треку, который просто гнётся в 3D Mаxе в местах со стрелками. Эффект когда на скорости 100 мы влетаем на станцию и кабина на стрелках ведет себя как настоящая просто супер.


В RTS больше всего меня поразила вода!
нет слов ...
Супер. MSTS просто курит в сторонке.
отключил ограничение FPS
LimitFrame = 0
Все настройки видеокарты на максимум
и минимум 57 кадров в секунду.
Вижу реальный потенциал , вижу работу увлеченного и безусловно талантливого человека.
NoiSe вне форума   Ответить с цитированием
Старый 15.09.2012, 20:06   #145
NoiSe
Опытный
 
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
NoiSe стоит на развилке (репутация по умолчанию)
По умолчанию

и звуковая система тут на высоте не то, что MSTS.
NoiSe вне форума   Ответить с цитированием
Старый 15.09.2012, 20:14   #146
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Думаю на раскачку кузова оказывают влияние десятки сил, от пути до порывов ветра, но в симуляторе их не требуется все воспроизводить, затраты ресурсов и времени будут огромны, вполне приемлемый результат можно получить меньшей кровью из имеющихся данных.
Вот в чём и дело - действовать надо от текущих данных. Во все локи настройки разом не пропишешь. А уж о дописывании дополнительных параметров в маршрут и говорить не приходиться.
Сейчас колебания зависят от скорости, от радиуса кривой. В принципе отдельным локам можно настраивать колебания по-своему. Сейчас настройка вся в двух параметрах: FrameSpringStiffness и FrameSpringDamping, в енг-файле, в спецификации они есть.
Если делать от стыков... Ну хорошо. А стыки - как их можно обнаружить? Нету в МСТСной БД никаких стыков.
На стрелках качение? Можно. Только не пойдёт - на всех стрелках, от 2/9 до пологих, качение будет одинаковое. Помимо этого, в МСТСной БД отсутствует понятие прямого маршрута по стрелке...

NoiSe
Спасибо большое за оценку)
Ну дык, со звуками конечно надо и можно что-то бы сделать. Можно было бы передавать им прохождение стрелок и кривых. Нужно разработать формат, как это будет выглядеть в sms)
Хмм, вообще в RTS вода один-в-один копия МСТСной))
Ted вне форума   Ответить с цитированием
Старый 15.09.2012, 21:03   #147
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,653
Вы сказали Спасибо: 2,057
Поблагодарили 2,355 раз(а) в 781 сообщениях
E69 хороший собеседник
По умолчанию

На стрелке можно брать информацию о радиусе кривой.
__________________
🚆🚆🚆
E69 вне форума   Ответить с цитированием
Старый 15.09.2012, 21:22   #148
Zabor
Разработчик
 
Аватар для Zabor
 
Регистрация: 01.02.2008
Адрес: Санкт-Петербург
Сообщений: 18,927
Вы сказали Спасибо: 11,488
Поблагодарили 10,264 раз(а) в 3,837 сообщениях
Zabor хороший собеседник
По умолчанию

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

Add

Хотя это резко снижает их количество при однотипных треках.

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

Последний раз редактировалось Zabor; 15.09.2012 в 21:24.
Zabor вне форума   Ответить с цитированием
Старый 15.09.2012, 23:26   #149
NoiSe
Опытный
 
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
NoiSe стоит на развилке (репутация по умолчанию)
Плохо

Интересно ,а можно по треку узнать наличие стрелки,?
Уж очень не хочется на них в редакторе траксаунды прописывать.
Проще принять все стрелки к примеру как TrackType 2
есть ограничение на количество Streams ?
или какие нибудь еще?


Мысли в слух
сейчас стук колёс сделан так
несколько семплов специально сделанные для разной скорости заменяют друг друга при достижении этой заранее рассчитанной скорости.
Всё вроде правильно но есть одно но, > стрелки!

Добавлено через 57 минут
На стрелках всё это продолжает стучать как ничем не бывало.
А должно быть не так. На стрелках должен быть другой перестук.
Как этого достигнуть
Добавляем в двигло переменную TrackType взятую из трека

Variable_Trigger ( TrackType 2
DisibleSteam() // останавливает
воспроизведение и отключает текущий Steam из обработки
)

что позволяет отключить не нужный перестук и звук при движении по стрелкам задействовать в другом Steamе

Variable_Trigger ( TrackType 0
EnableSteam() // включает текущий Steam в обработку
)

что еще получится ?
TType.dat не нужен и другие типы треков можно обрабатывать в одном файле.
Возможны грабли так как файл будет не маленький.
пример
PHP код:
Stream (
                
Priority )
                
Triggers 5
                                Skip 
Для стрелок )
                                
Variable_Trigger TrackType 2
                                DisibleSteam
() 
                                 
Skip Для без стыкового пути )
                                
Variable_Trigger TrackType 3
                                DisibleSteam
() 
                                 )
                              
Skip Для обычного пути )
                                
Variable_Trigger TrackType 0
                                ЕnablebleSteam
() 
                                 )

                    
Variable_Trigger Speed_Inc_Past 16.59
                        StartLoop 
1
                            File 
tsrSound-x_st63.33.wav -)
                            
SelectionMethod (  SequentialSelection )
                        )
                    )
                    
Variable_Trigger Speed_Inc_Past 27.58
                        ReleaseLoopRelease 
(  )
                    )
                    
Variable_Trigger Speed_Dec_Past 27.58
                        StartLoop 
1
                            File 
tsrSound-x_st63.33.wav -)
                            
SelectionMethod SequentialSelection )
                        )
                    )
                    
Variable_Trigger Speed_Dec_Past 16.59
                        ReleaseLoopRelease 
(  )
                    )
                )
                
VolumeCurve SpeedControlled
                    CurvePoints 
12 
                             
)
                    
Granularity 10 )
                )
                
FrequencyCurve SpeedControlled
                    CurvePoints 

                             
)
                    
Granularity 10 )
                )
            ) 
крутбл?
Для чего тогда расставляемые типы треков к примеру TrackType 4? для
фильтров(DXsound) при проезде под мостами по мостам в тоннелях у близко стоящих зданий.
Что это даёт?
1. избавит от кучи звуковых файлов.
2. соответственно ненужно всё это обрабатывать в скриптах
2. переложит часть работы на звуковую карту, что само собой положительно отразится на производительности.
вроде всё

если же стрелку в треке узнать нельзя это вилы...
Так как расставлять тип трека вручную еще то удовольствие.

Можно еще круче замутить!
Но это после ответа про стрелки....

Последний раз редактировалось NoiSe; 15.09.2012 в 23:40.
NoiSe вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо NoiSe за это полезное сообщение:
Старый 16.09.2012, 02:07   #150
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от NoiSe Посмотреть сообщение
Интересно ,а можно по треку узнать наличие стрелки,?
Уж очень не хочется на них в редакторе траксаунды прописывать.
Проще принять все стрелки к примеру как TrackType 2
есть ограничение на количество Streams ?
или какие нибудь еще?
Наличие стрелки можно определить. В принципе можно определить её тип из tsection'а, но это мало что даёт.
Если использовать TrackType и делать параметры в СМС, то со стрелками как раз лучше сделать отдельно от TrackSound, отдельный параметр типа так:
Variable_Trigger ( WagOnJunction 1 ... )

Нет ограничений.

Disable/EnableStream - это можно) А Halt-то нужно?)

Да, фильтры - это было бы здорово. Вопрос только как конкретно привязать ID трексаунда к определённому фильтру и как настраивать параметры фильтра в смс: обычными методами, с помощью спец.действий в триггерах или отдельное описалово.
Ted вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RTrainSim DOWNLOAD Ted RTrainSim - Об игре 45 03.02.2021 22:12
Разработка подвижного состава для RTrainSim Mashinistvova RTrainSim - Об игре 744 09.06.2020 19:31
Движок MATRIXXX MSTS - Об игре 4 12.09.2007 10:26


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


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