var title = 'RailUnion.net Skif блог Лента'; var url = 'http://railunion.net/blog/Skif/index_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; var site_url = 'http://railunion.net'; var site_desc = 'Русскоязычное железнодорожное сообщество'; var time = 'Tue, 21 Aug 2018 21:36:51 +0300'; var data = new Array(); data[0] = new Array(); data[0]['title'] = 'Универсальный стрелочный привод'; data[0]['url'] = 'http://railunion.net/blog/Skif/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4_b-1529_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[0]['url'] = 'http://railunion.net/blog/Skif/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4_b-1529_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[0]['username'] = 'Skif'; data[0]['blog_id'] = '1529'; data[0]['blog_message'] = 'Поговорим сегодня об элементах железнодорожного пути, которым в железнодорожном симуляторе уделили до обидного мало внимания - о стрелочных переводах и их приводах.

Если процедурная генерация пути (и особенно стрелок и пересечений) - одна из самых крутых механик Train simulator, присутствующих в нем с первого релиза игры в 2007-ом году, то реализация стрелочных механизмов выглядит настолько убого, что губит на корню всю идею.

Я не знаю, чем руководствовались разработчики из Kuju, когда посчитали, что у всех путей, объединенных одним правилом укладки, должен быть один тип привода, но даже по меркам обывателя крайне странным выглядит то, что приводы для правой и левой стороны пути также невозможно разделить. Возможно, в будущем Kuju планировали как-то разрулить этот вопрос, реализовав библиотеку приводов в рамках одного правила (как в итоге сделано с рельсами), но мы не будем гадать, а будем работать с тем, что имеем.

Постановка задачи:

1. Мы хотим иметь модели стрелочных приводов, никоим обра...

[ Продолжается ]'; data[0]['blog_time'] = 'Mon, 02 Jul 2018 14:43:27 +0300'; data[1] = new Array(); data[1]['title'] = 'А что с этим можно делать?'; data[1]['url'] = 'http://railunion.net/blog/Skif/%D0%90_%D1%87%D1%82%D0%BE_%D1%81_%D1%8D%D1%82%D0%B8%D0%BC_%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_b-1516_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[1]['url'] = 'http://railunion.net/blog/Skif/%D0%90_%D1%87%D1%82%D0%BE_%D1%81_%D1%8D%D1%82%D0%B8%D0%BC_%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE_%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_b-1516_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[1]['username'] = 'Skif'; data[1]['blog_id'] = '1516'; data[1]['blog_message'] = 'А теперь - обсудим, что можно реализовать, используя данный способ настройки камеры и как.



1. Смена камер с учетом физических препятствий (закрытых дверей и форточек).

Поскольку каждому кадру анимации сопоставлено конкретное положение камеры в кабине, теперь можно, проверяя положение контрола форточки или двери, не позволять сдвигать контрол аватара дальше, пока дверь или форточка закрыты. Можете даже прицепить к этому контрол-триггер (со значениями 0,1) и повесить на него звук "Хм, заперто..." или "ОЙ!" . На ваш вкус.

2. Смена кабин и проход по машинному отделению в пределах одной модели.

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

[ Продолжается ]'; data[1]['blog_time'] = 'Sun, 10 Apr 2016 12:56:42 +0300'; data[2] = new Array(); data[2]['title'] = 'Настройка интерьерной камеры через Animated Body Node'; data[2]['url'] = 'http://railunion.net/blog/Skif/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%8C%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D1%8B_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_Animated_Body_Node_b-1515_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[2]['url'] = 'http://railunion.net/blog/Skif/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%8C%D0%B5%D1%80%D0%BD%D0%BE%D0%B9_%D0%BA%D0%B0%D0%BC%D0%B5%D1%80%D1%8B_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_Animated_Body_Node_b-1515_sid-27ffe7c8be811360da53be8ea1c8e1e3.html'; data[2]['username'] = 'Skif'; data[2]['blog_id'] = '1515'; data[2]['blog_message'] = 'Animated Body Node - узел, введенный и задокументированный в Train Simulator сравнительно недавно, предназначен для создания пользовательской анимации интерьерных и экстерьерных камер.

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

Итак, при помощи Animated Node Name можно сделать следующее (но не всегда все это одновременно):

1. Регулируемое по высоте кресло в кабине. Это я рассматривать не буду - как сделать, будет понятно из описания ниже, когда дойдем до анимации и скрипта.

2. Заменить переключение камер в кабине имитацией (весьма реалистичной) перехода по ...

[ Продолжается ]'; data[2]['blog_time'] = 'Sun, 10 Apr 2016 11:52:04 +0300';