|
Сайт | ПРАВИЛА ФОРУМА | FAQ | Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
09.08.2012, 14:49 | #1 |
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Новый движок для MSTS - RTrainSim
Мне всегда хотелось, чтобы в МСТС были трёхмерные кабины, чтобы было больше возможностей настраивать локомотивы, чтобы можно было делать любые скрещения в сценарии, не заморачиваясь с невидимыми локомотивами, чтобы свет от трафика был, и т.д. и т.п.
В МСТС это всё сделать не так легко, если вообще возможно. Но я попробовал вот сделать свой симуляторный движок, который бы был совместим со всеми дополнениями МСТС. Вернее, лет 5 уже пробую... Кабины сделаны из подручного материала, вообщем-то в основном из текстур 2-мерных кабин МСТС. В этом симуляторе подразумевается, что игра идёт от лица машиниста - нужно ходить, залезать в локомотивы, перемещаться между секциями и т.п. Теоретически, реализовать в нём можно практически всё по функционалу локомотива. Но на данный момент управление реализовано упрощённо. В ВЛ80к достаточно переключить несколько рубильников на распределительном щите в обеих секциях, ну и повключать всё что надо на панели переключателей. Работа локомотивов игрока в симуляторе реализуется с помощью dll-модулей для каждого локомотива, в них располагаются обработчики нажатия клавиш и т.п. Сценарии в движке реализованы. Формат сценариев свой, от МСТС отличающийся. В переспективе сделаю может конвертер сценариев, так-то особых сложностей быть не должно. Разрыв сцепок можно отключить в конфиге, DisableCouplingBreak. Для установки движка необходимы: МСТС, локомотивы ВЛ80к-125, ЧМЭ3-5775, ЭР9, пасс.вагон №22 и все звуки для них. Несколько скриншотов: Если кому интересно, есть желание покататься-потестировать - прошу Актуальные ссылки находятся в теме RTrainSim DOWNLOAD. . Последний раз редактировалось MJack; 29.05.2015 в 08:24. Причина: актуализация ссылок |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
16.09.2012, 15:48 | #151 | ||
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
Цитата:
Но я закладывал в эту переменную более глубокий смысл так как существует еще и без стыковой путь Просто так назвал(TrackType) Хотя по факту такая переменная может получать значения вовсе не из трексаунда ,а к примеру определяет другими средствами( к примеру наличие стрелки из трека) или расчетным методом шагом 600-800м от последней стрелки для без стыкового пути или 25 метров для простого, а значит её можно использовать для движения кабины, реальность будет потрясающая. Отлично! Пришел к выводу что Halt нужен именно в таком виде Disable/EnableStream Цитата:
То-есть вообще не делать для него SMS а обрабатывать отдельно. Видим на треке расставленный редактором трексаунд если его тип к примеру 12 значит включаем фильтр ревебрация с параметрами прописанными в config файле Последний раз редактировалось NoiSe; 16.09.2012 в 15:53. |
||
16.09.2012, 16:04 | #152 |
Опытный
Регистрация: 14.09.2012
Сообщений: 126
Вы сказали Спасибо: 36
Поблагодарили 62 раз(а) в 31 сообщениях
|
Всем доброго времени. У меня вопросс как там дела с физикой? И насколько реализован мульт? Просто наткунлся на ютубе на видео бета тест мульта.
|
16.09.2012, 17:24 | #153 |
Матёрый пользователь
Регистрация: 19.02.2008
Адрес: Хлебный город
Сообщений: 2,615
Вы сказали Спасибо: 1,508
Поблагодарили 728 раз(а) в 439 сообщениях
|
А что мешает скачать движок, и самому посмотреть ?
|
16.09.2012, 19:26 | #154 |
Опытный
Регистрация: 14.09.2012
Сообщений: 126
Вы сказали Спасибо: 36
Поблагодарили 62 раз(а) в 31 сообщениях
|
Уже качаю. Что насчет мульта, можно по больше инфы?
Добавлено через 57 минут Для установки движка необходимы: МСТС, локомотивы ВЛ80к-125, ЧМЭ3-5775, ЭР9, пасс.вагон №22 и все звуки для них. Зачем это писать если ты уже сам ниже предложил ссылку на полный пак. Я в шоке меня запутали сижу матом гну всех окружаюших. Пока все нашол а потом оказывается что все это я скачал уже. Залейте все еб.чий хлам на торрент что бы раз разархивировать в корень игры и все. Короче нервы мне подпортили пи..дец. Мне куидов Trainz хватает. Второй день на форуме, а борзость и наглость уже через край лезут. БАН неделя, если не поймешь, что к чему, вылетишь с форума навсегда. Последний раз редактировалось specialist; 16.09.2012 в 22:31. |
17.09.2012, 09:06 | #155 | |||
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Цитата:
Если без трексаундов так получается надо вообще какой-то другой объект придумывать, чтобы размечать пути. Может модифицировать ttype.dat? В каждом типе добавить параметры пути, такие как частота стыков и тогда уж, допустим номер TrackType, который передаётся СМС для каждого типа и/или звуковые эффекты, связанные с данным типом. А может вообще по-другому воспроизводить стыки? Если у нас в ttype будет указано расстояние между стыками для данного типа пути, тогда движок может просто при "прохождении стыков" отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot звук стыка. Цитата:
Цитата:
|
|||
17.09.2012, 14:18 | #156 | ||||
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
Цитата:
Проще использовать трексаунд как объект широкого назначения. Допустим у нас по умолчанию все пути без стыковые ,а стыковой путь будет метится TrackType 1 на станциях(хотя это же можно узнать из обьекта SidingItem) Если после стрелки на этом пути нет никаких TrackType и есть SidingItem значит считаем что мы на станции и устанавливаем TrackType = 1 для SMS и включаем генератор стыков через 25M для кабины. К стати по номеру пути в SidingItem можно устанавливать степень разбитости пути и переключать генератор стыков на 12.5м если допустим номер пути больше 5. стрелка будет узнаваться другим методом из трека ,а значит метить её не будем если после стрелки на этом пути нет никаких TrackType и нет SidingItem значит считаем что мы на перегоне и переключаем генератор стыков на 600 метров. ^это вариант работы по умолчанию. ниже будет вариант работы если TrackType расставлен на треке это когда станция маленькая и главный путь без стыковой. Сразу после стрелки на трек ставим отметку TrackType 0 Цитата:
допустим так TrackType 0 без стыковой 600м TrackType 1 25м TrackType 2 12.5м TrackType 3 стрелка прямо TrackType 4 стрелка на боковой TrackType 5 без стыковой 600м + кривая TrackType 6 25м + кривая TrackType 7 .... резерв (маркер события или еще чего) прикольней было-бы так TrackType 1 без стыковой 600м TrackType 2 25м TrackType 4 12.5м TrackType 8 кривая TrackType 16 стрелка прямо TrackType 32 стрелка на боковой тогда TrackType 9 без стыковой 600м + кривая TrackType 10 25м + кривая но в SMS нет математических операций Цитата:
У поляков в EU07 так и сделано но нормально не работает(пропускает события) то в семплах захлёбывается. И MSTS была такая схема. Вся проблема в звуковом двигле который видимо выделяет один поток для стука колёс. Для того чтобы такая схема работала нужно ювелирно подбирать длину семпла иначе будет перехлёст семплов(когда один еще не доиграл а нужно уже играть другому) и пропуск проигрывания. Да и к тому-же сделать очень короткие семплы стука нельзя так как есть минимум после которого звук становится не похож на правду. Справедливости ради в ZDSimulator эта схема работает но там со звуком всё гораздо проще. Цитата:
Halt() DisableStream() так будет правильнее и Halt можно использовать отдельно Последний раз редактировалось NoiSe; 17.09.2012 в 14:24. |
||||
17.09.2012, 22:07 | #157 | |
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
Цитата:
Есть и компромиссный вариант играть одним файлом но набор звуков. это избавит от изобретения велосипедов и будет давать звук только тогда когда нужно. Генератор стыков будет давать стыки через 600M и отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot набором звуков в одном файле. В такт со звуками двигается кабина(вагон) и кроме очевидных бонусов получаем экономию в размере семпла для без стыкового пути, потому как не нужно хранить паузу между стыками. И это лучший вариант. Есть один вопрос, можно ли узнать, что на этом пути есть SidingItem? Если это возможно я все вышесказанное скомпелю с учетом последнего и сложится вся стройная картина, как чего и куда отправлять чтобы звук в симуляторе стал идеальным.... Останется только воплотить все это в коде и применить в SMS. Добавлено через 35 минут Заметил что текстуры ночью не светятся. У них другой механизм свечения? Последний раз редактировалось NoiSe; 17.09.2012 в 21:43. |
|
18.09.2012, 08:47 | #158 | |||||||
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Цитата:
Таким макаром можно и проще сделать - считать любой элемент пути длиной меньше 1500 метров обычным, более - бесстыковым. Цитата:
Если же сделать с дописыванием параметров в описание ttype.dat, тогда по умолчанию, с немодифицированным ttype, - всё как сейчас, никаких звуков, никаких вызовов в СМС. А уже колгда прописываются параметры, они прописываются соответственно конкретным типам трексаундов, уже существующих в маршруте. Цитата:
Задержку можно организовать. Можно типа так: PlayOneShot ( 3 File ( "..." -1 ) DelayPlayback( BaseDelayTime ( sec ) DelayController ( SpeedControlled q min max ) ) ) Ещё вариант: новый тип триггера, запускающийся при каких-либо событиях, можно к примеру как раз для стрелок его определить или вызывать при окончании воспароизведения звука: Event_Trigger ( OnPlaybackRelease TriggerNum DelayPlayback( BaseDelayTime ( sec ) DelayController ( SpeedControlled q min max ) ) PlayOneShot ( ... ) ) Цитата:
Или - Halt (), а затем - сразу начинать воспроизведение следующего Или и то и другое. Цитата:
Цитата:
Цитата:
В кабинах свет надо включать вручную, там выключатели есть. |
|||||||
18.09.2012, 22:09 | #159 | |||||
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
Цитата:
На трексаунд можно положить он получается не нужен вообще. Цитата:
Цитата:
Цитата:
правильное решение с набором звуков. набором звуков будет готовый семпл, содержащий стук всех четырех колёс(или 6ти) в правильной последовательности то-есть не надо мутить кучу триггеров, семплов, задержек. Достаточно проиграть этот файл получив скорость и разрешение на проигрывание. По сути это тоже, что и сейчас genpasswagmodern.sms только там StartLoop , а нужен управляемый PlayOneShot но с параметрами StartLoop. с курвами всякими итд и тп. Цитата:
Вернее светятся только 3 текстуры на весь маршрут и я пока не понял в чем подстава. Тут для меня секретов нет. вчера попытался сделать звук отпуска тормозов в вагонах и сделал. что-то шипит правдя я пока не понял, что именно то-ли вагон то-ли задняя секция лока. но шипит это факт. Есть вопрос. Если находимся в кабине все триггеры описанные в dll видимы, а если головой на улицу не видимы? компрессор на улице и в кабине работает не синхронно. ЭПК на улице не слышно.... это я в Вл80к рылся и обнаружил Последний раз редактировалось NoiSe; 18.09.2012 в 22:15. |
|||||
18.09.2012, 22:35 | #160 | ||||
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Цитата:
Цитата:
Цитата:
Цитата:
Каким звукам отсылаются триггеры, выбирается в длл, можно и внутренним и внешним. Ту недоделка. В ВЛ80к звуки снаружи используются в неизменном виде от МСТС. Поэтому компрессор там снаружи - это непрерывно вопроизводимый сэмпл при включённых МВ с большими паузами, то есть как и было в МСТС. ЭПК и прочих чисто "кабинных" звуков снаружи нет. Опять же можно прописать, можно отсылать триггеры и наружу так-то. А вот в ЭР9т, там вообще по-другому сделано: внутренние звуки только кабинные: переключатели там, краны, а внешние - играются и внутри и снаружи. |
||||
18.09.2012, 22:47 | #161 | |||
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
это мы решим
я тож пока не совсем понял как такое замутить Malohitovka вчера лично все SD файлы проверял всё вроде правильно. может есть какое-то требование к структуре директорий маршрута? Цитата:
Цитата:
Цитата:
|
|||
18.09.2012, 22:58 | #162 | |||
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Цитата:
Цитата:
Цитата:
|
|||
Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
18.09.2012, 23:48 | #163 | |
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
у меня есть
Цитата:
мега респектище. Добавлено через 36 минут на текстуры не ругается зато ругается на SMSки в которых я вчера основательно порылся |
|
19.09.2012, 02:08 | #164 |
Опытный
Регистрация: 03.02.2008
Адрес: Алма-Ата
Сообщений: 259
Вы сказали Спасибо: 70
Поблагодарили 88 раз(а) в 51 сообщениях
|
по идеи нужен триггер срабатывающей когда два параметра равны указанному
2Variable_Trigger(скорость(Speed_Dec_Past or Speed_Inc_Past), наличие стыка и его тип(joint 1)) joint 0 - нет стыка joint 1 - стык без стыкового полотна joint 2 - стык 25м joint 3 - стрелка и тд joint берется из двигла и опрелеляется по длинне полотна или по наличию стрелки и соответственно надо бы узнать PlayOneShot допускает ли такие конструкции как ниже. если же нет нужно будет замутить из StartLoop PlayOneShotFX который будет отличаться от ^ отключенным механизмом Loop PHP код:
Последний раз редактировалось NoiSe; 19.09.2012 в 02:12. |
19.09.2012, 08:06 | #165 |
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,497 раз(а) в 200 сообщениях
|
Дык, в приведённом примере SpeedIncPast/SpeedDecPast излишни, так как у потока громкость при скорости ниже/выше заданных равна 0.
И чёем будет отличаться PlayOneShotFX от обычного я так и не понял. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |
Что это? |