diver13

Создание станций общественного транспорта.

2 сообщения в этой теме

Все-таки хоть это больше пока вопрос теории, но в моддинге он больше уместен.

Хотел попробовать создать трамвайное разворотное кольцо под себя(даже 3Д макс начал осваивать :wub:  ), но не нашел никакой информации по остановкам. В отличие от транспорта, тема не раскрыта, или я очень невнимательно читал/изучал форум.

Пока суть да дело хочу разобраться с тем как правильно настраивать сие строение.

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

Иии как собственно происходит процесс наложения трамвайных путей на модель и создание пути транспорта внутри строения?

 

Если знающие люди просветят, накатают некоторый гайд, как с транспортом, то это будет замечательно :rolleyes:

Пожалуйста :rolleyes:

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@diver13, я толком редактированием станций пока не занимался, но вот, всё что сейчас известно о них:

 

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

В под-блоке пути в свойстве transportModes перечисляется, для чего именно он будет использоваться, допустимые значения: "PERSON", "CARGO", "BUS", "TRUCK", "TRAM", "ELECTRIC_TRAM" (неизвестно также, чем ELECTRIC_TRAM отличается от TRAM, практически во всех конфигах они идут вместе; возможно, будет на что-то влиять, когда добавят конташку трамваям). Например, для автобусов и трамваев:

transportModes = { "BUS", "TRAM", "ELECTRIC_TRAM" }

В свойстве nodes перечисляются отрезки пути в следующем формате:

{ { x0, y0, z0 }, { x1, y1, z1 }, ширина пути }, { { x2, y2, z2 }, { x3, y3, z3 }, ширина пути }

Точки 0 и 2 - концы отрезка пути, точки 1 и 3 - по всей видимости, задают перпендикуляры относительно концов пути, по которым определяется его кривизна. Перпендикуляры по длине должны быть равны отрезку пути. За что отвечает "ширина пути" - точно не известно, возможно используется в механизме проверки столкновений, по умолчанию, обычно, имеет значение 3 или 5.

 

Не известно, как задаётся начало и конец пути. Возможно, просто по фиксированным координатам. В частности, у стандартных путей станций начало и конец всегда приходятся на координаты { 2.0, -15.0, 0.0 } и { -2.0, -15.0, 0.0 }.

 

Также, в скрипте laneutil.lua существует функция laneutil.makeLanes, она сама подсчитывает длину перпендикуляров и принимает данные уже вот в таком формате, по отрезкам:

laneutil.makeLanes({ { { x0, y0, z0 }, { x2, y2, z2 }, { x1, y1, z1 }, { x3, y3, z3 }, ширина пути }, ... })

Свойство transportNetworkProvider.terminals, по всей видимости, задаёт номера узлов, в которых транспорт останавливается для погрузки. Предположительно, в таком формате:

terminals =
{
 { vehicleNode = номер узла пути транспорта, personNodes = { номера узлов пути груза }, personEdges = { номер отрезка пути груза, по которому тот отправляется в транспорт }, ширина пути? },
 ...
}

Также в файле станции в свойстве metadata.streetConnector.streetType прописывается строка - имя lua-файла дороги, образующей въезд на станцию.

Свойство metadata.streetTerminal.cargo принимает значение false или true, определяя, будут ли тут грузиться пассажиры или грузы, соответственно.

 

Вот так всё сложно. Конкретный пример, как всё это собрано вместе, можно увидеть, например, в стандартных файлах станций \res\models\model\station\tram\small_new.mdl или \res\models\model\station\bus\large_new.mdl.

 

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

 

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

3

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу