Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   RTrainSim - Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=50)
-   -   Новый движок для MSTS - RTrainSim (http://www.trainsim.ru/forum/showthread.php?t=15633)

le Sandro 11.09.2012 18:34

Вероятно, криво наложен альфа-маппинг на 2 плоскости, т.к. контур есть не у всех деревьев.

TRam_ 11.09.2012 19:26

почему ж не у всех? У всех, даже у консольных балок есть...

le Sandro 11.09.2012 19:32

Повторяю-2, не у всех.

Lasselan 11.09.2012 20:48

Ребят нужна помощь. хочу прокатиться на ЭР9Т, но ее в списке ПС нету. ЭРка сама установлена, консист тоже установлен. что делать?

NMSK 11.09.2012 21:18

Если нет дополнительных настроек на кибину 3д и настроек в самой модели, то она не появится в списке!

Vlad_Volya 12.09.2012 12:55

Я подумал, что можно прописать такие клавиши для запуска электровоза,в данном случае для ВЛ80к:
F4 включение/выключение сигнализации
F5, F6, F7, F8, для включения МВ1-4
F9 для включения компрессоров
F10 для включения фазорасщепителя
F11 для включения ГВ и возврат реле
F12 для включения/выключения ГВ
H Освещение фонарей
N Буферный фонарь
J Освещение приборов
M Освещение в кабине
C Включение АЛСН
V Дворники
P Токоприёмники
I Передний ТП
O Задний ТП
Вчера проехался на этом СИМе, поездка понравилась, выглядит немного реалистичнее чем МСТС. Автору большое спасибо и успехов в развитии проекта!

Ted 12.09.2012 13:18

функциональные использовать нельзя, они симом зарезервированы)
Остальное можно конечно. А прожектор по-моему я уже повесил на H, Shift+H

Vlad_Volya 12.09.2012 13:26

Я пробовал нажимать F4, думал появится монитор пути, этого не произошло как в МСТСе, нажал F5 думая что отобразиться Монитор движения как в МСТСе, снова нет, лишь при нажатии клавиши F7 появилось отображение станций сверху, вместо F6 МСТСной!
Тогда можно взять другие, просто хотелось бы чтоб они были как то рядом а не вразброс, но делаешь ты,так что тебе конечно виднее!

Ted 12.09.2012 13:30

Описание клавиш есть в ридмишке к симу. По F5 экран должен быть. Но только когда находишься в составе. Если состав - трафик или статика, то там краткая информация отображается. По составу игрока по каждому вагону основные параметры магистрали, агрегаты сил и т.п.
А по F6 там появляется расписание, но только когда у текущего поезда оно есть.

GeneZone 12.09.2012 17:21

Ещё бы с раскачиванием в горизонтальной плоскости что-нибудь сделать бы, а то качается как-то уж больно линейно. Вот по вертикали нормально раскачивается.
[B]Ted[/B], а нельзя сделать, чтобы лок качался и по вертикали, и по горизонтали одновременно?

NoiSe 12.09.2012 18:42

[QUOTE=Ted;358672]А, кстати, мысль пришла запоздало чуть-чуть) [B]NoiSe[/B], там он может так не запуститься если отсутствуют текстуры или файлы енвайронмента, что может быть, если install.bat к примеру для маршрута не запущен...[/QUOTE]

я тут посмотрел внимательно у меня сильно урезанная версия Трайн Сима
Сам в своё время урезал по самое не могу чтоб грузился быстро,для ускорения разработки дополнений.
Теперь поди вспомни, что тут я по удалял.

NoiSe 12.09.2012 22:53

Запустился !!!

Ted 14.09.2012 12:42

[QUOTE=GeneZone;358852]Ещё бы с раскачиванием в горизонтальной плоскости что-нибудь сделать бы, а то качается как-то уж больно линейно. Вот по вертикали нормально раскачивается.
[B]Ted[/B], а нельзя сделать, чтобы лок качался и по вертикали, и по горизонтали одновременно?[/QUOTE]

Дык. А что с ним можно сделать? Добавлять случайный фактор? Это надо будет как-то параметризовывать, причём не в локомотивах/вагонах, а в маршрутах. Иначе фигня получается: на любых рельсах, что на перегонах скоростных, что на подъездных путях болтанка одинаковая.
Да можно так-то. Надо думать.

Zabor 14.09.2012 12:47

А можно получить информацию о треке т.е. стрелка прямо/набок, кривая левая/правая и к этой информации + скорость привязаться?

Было бы реалистичнее, налетаешь на десятиградусную стрелку в минусе при скорости 70 км/ч и убираешься с рабочего места на пол или к помощнику, секунд на 10 =)).

Ted 14.09.2012 13:34

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

Zabor 14.09.2012 15:30

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

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

Это так, мысли в слух.

E69 14.09.2012 15:37

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

Надо думать =) ИМХО если нет возможности различить, стоит ориентироваться всё-таки на хороший путь и делать всё под него.

Zabor 14.09.2012 15:48

Еще вариант - покачивать на каждом стыке с амплитудой пропорциональной скорости (не линейно естественно, иначе на 180 км/ч за пределами кабины окажемся =)) ), в какую сторону качать - выбирать рандомно.

E69 14.09.2012 16:26

Надо физику понять. Это колебания с собственной частотой, определяемой подвеской (тогда постоянная частота задается в настройках, амплитуда подбирается от скорости) или вынужденные толчками на стыках/неровностью колес с соответствувющей обороту колеса/прохождению стыка частотой.
ИМХО, тут дело не в стыках в первую очередь, а в "просадке" пути под весом поезда.

Zabor 14.09.2012 16:39

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

Еще момент - ИМХО чем тяжелее ПС, тем качка должна быть более плавной и возможно с меньшей амплитудой, если ввести зависимость еще и от веса получится чуть ли ни индивидуальная качка у каждой единицы ПС.

E69 14.09.2012 19:52

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

Zabor 14.09.2012 20:10

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

apelsin7 14.09.2012 21:09

[QUOTE=GeneZone;358852]Ещё бы с раскачиванием в горизонтальной плоскости что-нибудь сделать бы, а то качается как-то уж больно линейно. Вот по вертикали нормально раскачивается.
[B]Ted[/B], а нельзя сделать, чтобы лок качался и по вертикали, и по горизонтали одновременно?[/QUOTE]

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

NoiSe 15.09.2012 00:49

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


В RTS больше всего меня поразила вода!
нет слов ...
Супер. MSTS просто курит в сторонке.
отключил ограничение FPS
LimitFrame = 0
Все настройки видеокарты на максимум
и минимум 57 кадров в секунду.
Вижу реальный потенциал , вижу работу увлеченного и безусловно талантливого человека.

NoiSe 15.09.2012 20:06

и звуковая система тут на высоте не то, что MSTS.

Ted 15.09.2012 20:14

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

[B]NoiSe[/B]
Спасибо большое за оценку)
Ну дык, со звуками конечно надо и можно что-то бы сделать. Можно было бы передавать им прохождение стрелок и кривых. Нужно разработать формат, как это будет выглядеть в sms)
Хмм, вообще в RTS вода один-в-один копия МСТСной))

E69 15.09.2012 21:03

На стрелке можно брать информацию о радиусе кривой.

Zabor 15.09.2012 21:22

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

Add

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

ps редактор мстс бы лучше нормальную прямую на стыках в БД записывать научился, чем стыки маскировать =)).

NoiSe 15.09.2012 23:26

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


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

[size="1"][color="Silver"]Добавлено через 57 минут[/color][/size]
На стрелках всё это продолжает стучать как ничем не бывало.
А должно быть не так. На стрелках должен быть другой перестук.
Как этого достигнуть
Добавляем в двигло переменную TrackType взятую из трека

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

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

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

что еще получится ?
TType.dat не нужен и другие типы треков можно обрабатывать в одном файле.
Возможны грабли так как файл будет не маленький.:rofl:
пример
[PHP]
Stream (
Priority ( 4 )
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 -1 )
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 -1 )
SelectionMethod ( SequentialSelection )
)
)
Variable_Trigger ( Speed_Dec_Past 16.59
ReleaseLoopRelease ( )
)
)
VolumeCurve ( SpeedControlled
CurvePoints ( 12
)
Granularity ( 10 )
)
FrequencyCurve ( SpeedControlled
CurvePoints ( 4
)
Granularity ( 10 )
)
)

[/PHP]

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

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

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

Ted 16.09.2012 02:07

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

Наличие стрелки можно определить. В принципе можно определить её тип из tsection'а, но это мало что даёт.
Если использовать TrackType и делать параметры в СМС, то со стрелками как раз лучше сделать отдельно от TrackSound, отдельный параметр типа так:
Variable_Trigger ( WagOnJunction 1 ... )

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

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

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

NoiSe 16.09.2012 15:48

[QUOTE=Ted;359480]Наличие стрелки можно определить. В принципе можно определить её тип из tsection'а, но это мало что даёт.
Если использовать TrackType и делать параметры в СМС, то со стрелками как раз лучше сделать отдельно от TrackSound, отдельный параметр типа так:
Variable_Trigger ( WagOnJunction 1 ... )
[/QUOTE]
Этот вариант решает проблему с стрелками.
Но я закладывал в эту переменную более глубокий смысл так как существует еще и без стыковой путь
Просто так назвал(TrackType)

Хотя по факту такая переменная может получать значения вовсе не из трексаунда ,а к примеру определяет другими средствами( к примеру наличие стрелки из трека) или расчетным методом шагом 600-800м от последней стрелки для без стыкового пути или 25 метров для простого, а значит её можно использовать для движения кабины, реальность будет потрясающая.



[QUOTE=Ted;359480]
Нет ограничений.

Disable/EnableStream - это можно) А Halt-то нужно?)
[/QUOTE]
Отлично!
Пришел к выводу что Halt нужен именно в таком виде Disable/EnableStream



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

Проще исключить из обработки трексаунд стандартными средствами.
То-есть вообще не делать для него SMS а обрабатывать отдельно.
Видим на треке расставленный редактором трексаунд если его тип к примеру 12 значит включаем фильтр ревебрация с параметрами прописанными в config файле

flyag 16.09.2012 16:04

Всем доброго времени. У меня вопросс как там дела с физикой? И насколько реализован мульт? Просто наткунлся на ютубе на видео бета тест мульта.

GeneZone 16.09.2012 17:24

А что мешает скачать движок, и самому посмотреть ?

flyag 16.09.2012 19:26

Уже качаю. Что насчет мульта, можно по больше инфы?

[size="1"][color="Silver"]Добавлено через 57 минут[/color][/size]
Для установки движка необходимы: МСТС, локомотивы ВЛ80к-125, ЧМЭ3-5775, ЭР9, пасс.вагон №22 и все звуки для них. Зачем это писать если ты уже сам ниже предложил ссылку на полный пак. Я в шоке меня запутали сижу матом гну всех окружаюших. Пока все нашол а потом оказывается что все это я скачал уже. Залейте все еб.чий хлам на торрент что бы раз разархивировать в корень игры и все. Короче нервы мне подпортили пи..дец. Мне куидов Trainz хватает.

[COLOR="Orange"]Второй день на форуме, а борзость и наглость уже через край лезут. БАН неделя, если не поймешь, что к чему, вылетишь с форума навсегда.[/COLOR]

Ted 17.09.2012 09:06

[QUOTE=NoiSe;359524]Этот вариант решает проблему с стрелками.
Но я закладывал в эту переменную более глубокий смысл так как существует еще и без стыковой путь
Просто так назвал(TrackType)

Хотя по факту такая переменная может получать значения вовсе не из трексаунда ,а к примеру определяет другими средствами( к примеру наличие стрелки из трека) или расчетным методом шагом 600-800м от последней стрелки для без стыкового пути или 25 метров для простого, а значит её можно использовать для движения кабины, реальность будет потрясающая.
[/QUOTE]
Дык вот и весь вопрос - как различать стыковой/бесстыковой путь, как вообщем его описывать?
Если без трексаундов так получается надо вообще какой-то другой объект придумывать, чтобы размечать пути.
Может модифицировать ttype.dat? В каждом типе добавить параметры пути, такие как частота стыков и тогда уж, допустим номер TrackType, который передаётся СМС для каждого типа и/или звуковые эффекты, связанные с данным типом.
А может вообще по-другому воспроизводить стыки? Если у нас в ttype будет указано расстояние между стыками для данного типа пути, тогда движок может просто при "прохождении стыков" отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot звук стыка.

[QUOTE]
Отлично!
Пришел к выводу что Halt нужен именно в таком виде Disable/EnableStream
[/QUOTE]
Я думаю, что и просто Halt надо сделать - для того чтобы конкретно высвобождать поток и следующий триггер уже мог начать воспроизводить новый звук

[QUOTE]
Проще исключить из обработки трексаунд стандартными средствами.
То-есть вообще не делать для него SMS а обрабатывать отдельно.
Видим на треке расставленный редактором трексаунд если его тип к примеру 12 значит включаем фильтр ревебрация с параметрами прописанными в config файле[/QUOTE]
Угу)

NoiSe 17.09.2012 14:18

[QUOTE=Ted;359618]Дык вот и весь вопрос - как различать стыковой/бесстыковой путь, как вообщем его описывать?
Если без трексаундов так получается надо вообще какой-то другой объект придумывать, чтобы размечать пути.
[/QUOTE]
не.. это не наш метод изобретать объекты.
Проще использовать трексаунд как объект широкого назначения.
Допустим у нас по умолчанию все пути без стыковые ,а стыковой путь
будет метится TrackType 1 на станциях(хотя это же можно узнать из обьекта SidingItem)

Если после стрелки на этом пути нет никаких TrackType и есть SidingItem значит считаем что мы на станции и устанавливаем TrackType = 1 для SMS и включаем генератор стыков через 25M для кабины.
К стати по номеру пути в SidingItem можно устанавливать степень разбитости пути и переключать генератор стыков на 12.5м если допустим номер пути больше 5.

стрелка будет узнаваться другим методом из трека ,а значит метить её не будем

если после стрелки на этом пути нет никаких TrackType и нет SidingItem
значит считаем что мы на перегоне и переключаем генератор стыков на 600 метров.

^это вариант работы по умолчанию.

ниже будет вариант работы если TrackType расставлен на треке
это когда станция маленькая и главный путь без стыковой.
Сразу после стрелки на трек ставим отметку TrackType 0
[QUOTE=Ted;359618]
Может модифицировать ttype.dat? В каждом типе добавить параметры пути, такие как частота стыков и тогда уж, допустим номер TrackType, который передаётся СМС для каждого типа и/или звуковые эффекты, связанные с данным типом.
[/QUOTE]
Можно и чего не модифицировать а принять как константы
допустим так
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 нет математических операций:D

[QUOTE=Ted;359618]
А может вообще по-другому воспроизводить стыки? Если у нас в ttype будет указано расстояние между стыками для данного типа пути, тогда движок может просто при "прохождении стыков" отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot звук стыка.
[/QUOTE]

всё бы было хорошо и возможно будет работать но в SMS нужно выставлять задержки по осевой формуле(файлы к примеру так делать) и задержки будут динамические с учетом скорости.
У поляков в EU07 так и сделано но нормально не работает(пропускает события) то в семплах захлёбывается. И MSTS была такая схема.
Вся проблема в звуковом двигле который видимо выделяет один поток для стука колёс.
Для того чтобы такая схема работала нужно ювелирно подбирать длину семпла иначе будет перехлёст семплов(когда один еще не доиграл а нужно уже играть другому) и пропуск проигрывания.
Да и к тому-же сделать очень короткие семплы стука нельзя так как есть минимум после которого звук становится не похож на правду.

Справедливости ради в ZDSimulator эта схема работает но там со звуком всё гораздо проще.

[QUOTE=Ted;359618]
Я думаю, что и просто Halt надо сделать - для того чтобы конкретно высвобождать поток и следующий триггер уже мог начать воспроизводить новый звук
[/QUOTE]
С этим спорить не буду потому это должно быть частью конструкции
Halt()
DisableStream()

так будет правильнее и Halt можно использовать отдельно:drinks:

NoiSe 17.09.2012 22:07

[QUOTE]Сообщение от Ted
А может вообще по-другому воспроизводить стыки? Если у нас в ttype будет указано расстояние между стыками для данного типа пути, тогда движок может просто при "прохождении стыков" отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot звук стыка.[/QUOTE]



Есть и компромиссный вариант играть одним файлом но набор звуков.
это избавит от изобретения велосипедов и будет давать звук только тогда когда нужно.
Генератор стыков будет давать стыки через 600M и отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot набором звуков в одном файле.
В такт со звуками двигается кабина(вагон) и кроме очевидных бонусов получаем экономию в размере семпла для без стыкового пути, потому как не нужно хранить паузу между стыками.
И это лучший вариант.
Есть один вопрос, можно ли узнать, что на этом пути есть SidingItem?

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

[size="1"][color="Silver"]Добавлено через 35 минут[/color][/size]
Заметил что текстуры ночью не светятся.
У них другой механизм свечения?

Ted 18.09.2012 08:47

[QUOTE]Если после стрелки на этом пути нет никаких TrackType и есть SidingItem значит считаем что мы на станции и устанавливаем TrackType = 1 для SMS и включаем генератор стыков через 25M для кабины.
К стати по номеру пути в SidingItem можно устанавливать степень разбитости пути и переключать генератор стыков на 12.5м если допустим номер пути больше 5.[/QUOTE]
Хм, да это вариант из области вероятностей. А если боковой путь на станции без маркера Siding'а? Если допустим маршрут прямиком на подъездной путь. Или наоброт главный путь на станции помечен.
Таким макаром можно и проще сделать - считать любой элемент пути длиной меньше 1500 метров обычным, более - бесстыковым.

[QUOTE]Можно и чего не модифицировать а принять как константы
допустим так
TrackType 0 без стыковой 600м
TrackType 1 25м
TrackType 2 12.5м
TrackType 3 стрелка прямо
TrackType 4 стрелка на боковой
TrackType 5 без стыковой 600м + кривая
TrackType 6 25м + кривая
TrackType 7 .... резерв (маркер события или еще чего)[/QUOTE]
Константы как раз использовать и нельзя. Мы же не новые маршруты делаем, а приспосабливаемся под старые. Если константы сделать, все маршруты "поплывут" - у них же собственные наборы звуков пути, без строгой последовательности.
Если же сделать с дописыванием параметров в описание ttype.dat, тогда по умолчанию, с немодифицированным ttype, - всё как сейчас, никаких звуков, никаких вызовов в СМС. А уже колгда прописываются параметры, они прописываются соответственно конкретным типам трексаундов, уже существующих в маршруте.

[QUOTE]всё бы было хорошо и возможно будет работать но в SMS нужно выставлять задержки по осевой формуле(файлы к примеру так делать) и задержки будут динамические с учетом скорости.
У поляков в EU07 так и сделано но нормально не работает(пропускает события) то в семплах захлёбывается. И MSTS была такая схема.
Вся проблема в звуковом двигле который видимо выделяет один поток для стука колёс.[/QUOTE]
А можно ещё вызывать по отдельному триггеру для каждого колеса) Только это перебор.
Задержку можно организовать. Можно типа так:
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 ( ... )
)

[QUOTE]Для того чтобы такая схема работала нужно ювелирно подбирать длину семпла иначе будет перехлёст семплов(когда один еще не доиграл а нужно уже играть другому) и пропуск проигрывания.
Да и к тому-же сделать очень короткие семплы стука нельзя так как есть минимум после которого звук становится не похож на правду.
[/QUOTE]
Или в два потока играть, по одному на телегу. В конце концов ведь расстояние между стыками-остряками может быть меньше длины локомотива)
Или - Halt (), а затем - сразу начинать воспроизведение следующего :D
Или и то и другое.

[QUOTE]Есть и компромиссный вариант играть одним файлом но набор звуков.
это избавит от изобретения велосипедов и будет давать звук только тогда когда нужно.
Генератор стыков будет давать стыки через 600M и отправлять в СМС определённый код дискретного триггера а СМС будет играть в PlayOneShot набором звуков в одном файле.
В такт со звуками двигается кабина(вагон) и кроме очевидных бонусов получаем экономию в размере семпла для без стыкового пути, потому как не нужно хранить паузу между стыками.
И это лучший вариант.[/QUOTE]
Не понял - в смысле набором звуков?)

[QUOTE]Есть один вопрос, можно ли узнать, что на этом пути есть SidingItem?[/QUOTE]
Можно конечно.

[QUOTE]Заметил что текстуры ночью не светятся.
У них другой механизм свечения?[/QUOTE]
Которые текстуры? Ночные текстуры переключаются также как в МСТС, светящиеся материалы тоже.
В кабинах свет надо включать вручную, там выключатели есть.

NoiSe 18.09.2012 22:09

[QUOTE=Ted;359808]Хм, да это вариант из области вероятностей. А если боковой путь на станции без маркера Siding'а? Если допустим маршрут прямиком на подъездной путь. Или наоброт главный путь на станции помечен.
Таким макаром можно и проще сделать - считать любой элемент пути длиной меньше 1500 метров обычным, более - бесстыковым.
[/QUOTE]

Просто и элегантно.:drinks:
На трексаунд можно положить он получается не нужен вообще.

[QUOTE=Ted;359808]
Константы как раз использовать и нельзя. Мы же не новые маршруты делаем, а приспосабливаемся под старые. Если константы сделать, все маршруты "поплывут" - у них же собственные наборы звуков пути, без строгой последовательности.
Если же сделать с дописыванием параметров в описание ttype.dat, тогда по умолчанию, с немодифицированным ttype, - всё как сейчас, никаких звуков, никаких вызовов в СМС. А уже колгда прописываются параметры, они прописываются соответственно конкретным типам трексаундов, уже существующих в маршруте.
[/QUOTE]

На константы можно тоже положить раз трексаунд по факту не нужен.

[QUOTE=Ted;359808]
А можно ещё вызывать по отдельному триггеру для каждого колеса) Только это перебор.
Задержку можно организовать. Можно типа так:
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 ( ... )
)

[/QUOTE]
Не... задержки замутим в wav файлах, так проще.

[QUOTE=Ted;359808]
Или в два потока играть, по одному на телегу. В конце концов ведь расстояние между стыками-остряками может быть меньше длины локомотива)
Или - Halt (), а затем - сразу начинать воспроизведение следующего :D
Или и то и другое.
[/QUOTE]
идеи дельные только всё это сильно нагрузит двигло и поступим проще.
правильное решение с набором звуков.

[QUOTE=Ted;359808]
Не понял - в смысле набором звуков?)
[/QUOTE]
набором звуков будет готовый семпл, содержащий стук всех четырех колёс(или 6ти) в правильной последовательности
то-есть не надо мутить кучу триггеров, семплов, задержек.
Достаточно проиграть этот файл получив скорость и разрешение на проигрывание.
По сути это тоже, что и сейчас genpasswagmodern.sms только там StartLoop , а нужен управляемый PlayOneShot
но с параметрами StartLoop. с курвами всякими итд и тп.

[QUOTE=Ted;359808]
Можно конечно.
Которые текстуры? Ночные текстуры переключаются также как в МСТС, светящиеся материалы тоже.
[/QUOTE]
У меня не светятся.
Вернее светятся только 3 текстуры на весь маршрут
и я пока не понял в чем подстава.

[QUOTE=Ted;359808]
В кабинах свет надо включать вручную, там выключатели есть.
[/QUOTE]
Тут для меня секретов нет.:D

вчера попытался сделать звук отпуска тормозов в вагонах и сделал. что-то шипит правдя я пока не понял, что именно то-ли вагон то-ли задняя секция лока. но шипит это факт.

Есть вопрос.
Если находимся в кабине все триггеры описанные в dll видимы,
а если головой на улицу не видимы?
компрессор на улице и в кабине работает не синхронно.
ЭПК на улице не слышно....
это я в Вл80к рылся и обнаружил

Ted 18.09.2012 22:35

[QUOTE]
По сути это тоже, что и сейчас genpasswagmodern.sms только там StartLoop , а нужен управляемый PlayOneShot
но с параметрами StartLoop. с курвами всякими итд и тп.[/QUOTE]
блин, я чё-то плохо себе представляю, как именно это будет выглядеть)

[QUOTE]У меня не светятся.
Вернее светятся только 3 текстуры на весь маршрут
и я пока не понял в чем подстава.[/QUOTE]
Хм, не наю. Может в маршруте плохо с ночными текстурами? Что за маршрут?

[QUOTE]вчера попытался сделать звук отпуска тормозов в вагонах и сделал. что-то шипит правдя я пока не понял, что именно то-ли вагон то-ли задняя секция лока. но шипит это факт.[/QUOTE]
14 и 54 вызываются для всех вагонов и локомотивов состава игрока при наполнении/опустошении ТЦ, это сделано.

[QUOTE]Есть вопрос.
Если находимся в кабине все триггеры описанные в dll видимы,
а если головой на улицу не видимы?
компрессор на улице и в кабине работает не синхронно.
ЭПК на улице не слышно....
это я в Вл80к рылся и обнаружил[/QUOTE]
Изнутри играют звуки кабины, снаружи - внешние.
Каким звукам отсылаются триггеры, выбирается в длл, можно и внутренним и внешним.
Ту недоделка. В ВЛ80к звуки снаружи используются в неизменном виде от МСТС. Поэтому компрессор там снаружи - это непрерывно вопроизводимый сэмпл при включённых МВ с большими паузами, то есть как и было в МСТС.
ЭПК и прочих чисто "кабинных" звуков снаружи нет. Опять же можно прописать, можно отсылать триггеры и наружу так-то.
А вот в ЭР9т, там вообще по-другому сделано: внутренние звуки только кабинные: переключатели там, краны, а внешние - играются и внутри и снаружи.


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

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