Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Аватара пользователя
Света
 
Сообщения: 501
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Блог: Просмотр блога (7)
Архивы
Поиск в блогах

1 из 52 из 53 из 54 из 55 из 5

Путевой объект - анимированное мини-депо

Постоянная ссылка Света 12.03.2018, 18:12

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

Изображение Изображение

Установка
Пакет устанавливается традиционным способом, через менеджер пакетов, для отображения в редакторе необходимо подключить пакет FSA/Addon в фильтре активов. Статичное депо будет доступно во вкладке "Индустриальные строения" под названием "RU-UA Новомиргород. Депо однопутное", а анимированное депо и маркер - во вкладке "Инфраструктура линии" под названиями "RU-UA Новомиргород. Депо анимированное" и "RU-UA Новомиргород. Управляющий маркер для депо".


Использование

Статичное депо
- простой объект, устанавливаемый в любом месте.

Анимированное депо имеет линк, который для правильной работы нужно установить в плоскости ворот, стрелкой внутрь.
Для работы по умолчанию этого достаточно:

Изображение

Работа депо по умолчанию.
Депо имеет 2 режима работы - автоматический и ручной.

Автоматический режим работы:
В этом режиме ворота открываются при распознавании движения локомотива в их сторону и закрываются, если принято решение, что маневр выполнен. Условно трек, обслуживаемый депо, поделен на 3 зоны - внутренняя (это внутри депо), зона закрывания (это участок снаружи, от ворот и до точки закрывания) и зона открывания (от ворот и до точки открывания):

Изображение

Если локомотив заезжает в депо, ворота откроются при въезде локомотива в зону открывания и закроются после того, как локомотив въедет внутрь и остановится. Также, если локомотив, не заехав полностью внутрь, изменит направление движения и начнет двигаться от депо, ворота закроются как только локомотив покинет зону открывания.
Если локомотив выезжает из депо, ворота откроются сразу же, как только он начнет двигаться. А закроются после того, как он покинет зону закрывания. Также ворота закроются, если локомотив вернется назад и остановится внутри депо.
Если ворота открыты, они не закроются до тех пор, пока локомотив находится хоть частично в пределах зоны закрывания, независимо от направления движения, а если локомотив внутри депо - пока он двигается.

Ручной режим работы:
Состояние ворот можно изменить снаружи вручную, нажав кнопку ТАВ. Если ворота открыты, они закроются. Если закрыты - соответственно, откроются. Изменить состояние ворот изнутри по умолчанию нельзя. Ручной режим имеет приоритет перед автоматическим, если открыть/закрыть ворота вручную, автоматическая работа будет заблокирована и активируется снова только если локомотив остановится внутри депо или покинет зону открывания более, чем на 10 сек.

Настройка размеров зон депо.
По умолчанию зоны активности депо имеют такие значения: зона закрывания - 5 метров, зона открывания - 20 метров. Если эти значения требуется изменить, необходимо в окне свойств ввести название депо (любое) и новые значения, разделяя всё двоеточиями. Большее значение будет автоматически присвоено зоне открывания, а меньшее - зоне закрывания, поэтому порядок написания чисел не играет роли:

Изображение

На скриншоте: "Depo-1:15:50", то есть, ворота будут закрываться при удалении локомотива от депо на 15 метров, а открываться, как только локомотив приблизится на 50 метров.

Управляющий маркер для депо позволяет изменить режим работы депо, если это требуется по условиям сценария или (глобально) задать постоянную особенность на маршруте.
Маркер устанавливается изнутри депо, линк должен быть максимально близко к линку депо (обязательно ближе к внутренней стороне депо) и направлен наружу.
Для того, чтобы маркер передал команду, в окне свойств нужно вписать его имя (любое) и саму команду:

Изображение
На скриншоте: "Marker_ABC:distance:20:100".
Доступные команды:
- "имя_маркера:distance:xx:yy" (xx и yy - числа) - установка других размеров зон открывания и закрывания. Большее значение будет автоматически присвоено зоне открывания, а меньшее - зоне закрывания, поэтому порядок написания чисел не играет роли. Новые параметры вступят в силу через секунду после запуска сценария;
- "имя_маркера:manual" - команда блокировки автоматической работы. Разрешен только ручной режим;
- "имя_маркера:auto" - команда блокировки ручного открывания. Разрешен только автоматический режим;
- "имя_маркера:spad" - команда изменить состояние ворот на противоположное. Так как команда передается в самом начале сценария, когда ворота закрыты, это фактически команда на открывание. Также ворота перейдут в ручной режим работы, автоматическая работа будет заблокирована и активируется снова только если локомотив остановится внутри депо или покинет зону открывания более, чем на 10 сек.
Регистр команды, вписанной в окне свойств, не имеет значения.
Если маркер установлен, появляется возможность управлять воротами вручную изнутри, нажимая на кнопку ТАВ.
Допустимио установить несколько маркеров (например, можно открыть ворота на старте и запретить автоматический режим, либо изменить зоны активности и запретить ручной режим). Установка логически противоречивых маркеров не рекомендуется.

Оптимизация
Депо работает только в присутствии локомотива в пределах зон активности и переходит в спящий режим через 10 сек после освобождения локомотивом этих зон.
Маркер активен 1 сек от начала сценария и отключается после передачи команды.


Печать лог-файлов
Депо и маркер имеют систему вывода информации о работе в лог-файл. Для того, чтобы лог-файл был напечатан, необходимо в корневой папке игры создать путь "Log/Shed", а в конфигурационном файле "Assets/FSA/Addon/RailNetwork/Shed/shed_config.txt" вписать имя депо или маркера, работу которых нужно проконтролировать. Если имен несколько, каждое следующее пишется с новой строки. Регистр не имеет значения. Лог-файл будет печататься в текстовый документ с названием, содержащим имя маркера/депо.


Благодарность:
За оказанную помощь (без которой этого дополнения попросту не было бы) от всей души благодарю:
Артема ака dison202
Костю ака radiomaster
Андрея ака BooYa

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

Скачать пакет можно здесь
Последний раз редактировалось Света 12.03.2018, 21:58, всего редактировалось 3 раз(а).

Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
4 комментариев 23965 просмотров
Комментарии

Re: Путевой объект - анимированное мини-депо

Постоянная ссылка Skif 21.05.2018, 23:06

Сегодня добрался протестировать эту штуку.

Даже в дефолтном режиме (я не умею строить сценарии толком, кроме Free Roam), это весьма и весьма круто. Для максимальной крутости придумать бы интерфейс "радиостанции" для управления подобными объектами. Могу посодействовать с моделями. Рацию можно привинтить к AnimatedNode, чем будет обеспечено неизменное положение ее гарнитуры "перед глазами" машиниста.
Skif
 
Сообщения: 3677
Зарегистрирован: 01.10.2009, 17:42
Имя: Дмитрий
Блог: Просмотр блога (3)

Re: Путевой объект - анимированное мини-депо

Постоянная ссылка Света 23.05.2018, 09:20

К сожалению, управлять такими объектами из локомотива нельзя, разве что есть какие-то команды, неизвестные мне.
Раньше, в RW2 (возможно - и в RW3) был вызов Request SPAD из скрипта локомотива, но, к сожалению, в версиях TS2014 и TS2015 этот вызов возвращает nil и не видно, чтобы он вообще обрабатывался.
Поэтому, на данный момент, я не представляю, как путевой объект мог бы получать от локомотива оперативную информацию...
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 501
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Блог: Просмотр блога (7)

Re: Путевой объект - анимированное мини-депо

Постоянная ссылка i2GR 25.05.2018, 12:25

вызов Request SPAD которого нет, это что имеется ввиду?
отслеживать интерфейс радио может быть можно сценарными SysCall-ами?
Аватара пользователя
i2GR
 
Сообщения: 507
Зарегистрирован: 04.09.2008, 16:59
Имя: Игорь
Блог: Просмотр блога (4)

Re: Путевой объект - анимированное мини-депо

Постоянная ссылка Света 26.05.2018, 11:27

В скрипте локомотива BR101, из Railworks 2, есть такая строчка: "local canPass = Call ("GetRequestedSPAD")". Дальше canPass выводится в дебаггер, а при нулевом значении срывает "стоп-кран".
Судя по контексту, локомотив проезжает линк AWS (фактически - PZB), при закрытом светофоре впереди срабатывает этот вызов, ответ светофора загружается в canPass и останавливает поезд, если светофор отказал в проезде. Если так, то налицо воздействие скрипта локомотива на путевой объект, но у меня этот вызов ни разу не вернул полезную информацию.
Ещё одно предположение - вызов надо делать исключительно в момент срабатывания функции OnCustomSignalMessage, где она прописана. Но если даже так, то для "радиостанции" это бесполезно, к сожалению.
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 501
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Блог: Просмотр блога (7)

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Yandex [Bot]