For licensing the physics technology contact licensing@rigsofrods.com

Truck Description File/ru

From Rigs of Rods Wiki

Jump to:navigation, search

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

При создании автомобиля для игры Rigs Of Rods не требуется быть программистом и даже не требуется знать правила скриптования. Для создания модели транспортного средства для ROR вы должны иметь интеллект и быть творческим, увлекающимся человеком. Так что для начала попробуйте выборочно пройтись по этому документу и почитать отдельные главы. И вы увидите, что разобраться во всем этом теперь довольно просто. И старайтесь не вникать во всё сразу, начните с раздела "Введение". Всё равно даже для создания транспортных средств высокой сложности, вам не потребуется и половины всего, что здесь написано. Если вы сами этого не захотите.

Contents

КРАТКОЕ ОПИСАНИЕ ИГРЫ "Rigs Of Rods"

Данная игра - Rigs Of Rods - это интеллектуальный автомобильный симулятор, созданный в свободное время французским программистом - Пьером-Мишелем Рикорделем (Pierre-Michel Ricordel, на данный момент покинул проект) - любителем автосимуляторов и грузовиков. Первая версия увидела свет в 2005 году. Игра вобрала в себя идеи игр, таких как "Bridge it!" (игра, где требовалось построить различные типы мостов и проверить их на прочность, пустив поезд или автомобиль), "1NSANE" (игра, где модель автомобиля строилась по скелетной технологии, не требовала большой мощности компьютера, занимала очень мало места на жестком диске (всего 155 мб) при довольно неплохой графике, и очень красиво деформировалась при переворотах) и "Дальнобойщики 1".

Пару лет назад Rigs Of Rods была переведена в "свободно программируемое и свободно распространяемое программное обеспечение" как известный всем Linux, мощный пакет 3D моделирования Blender или игровой движок OGRE 3D, на котором и создается данная игра. Rigs Of Rods (ROR) уже никогда не станет платной потому, что исходный код опубликован по лицензии GNU, и любой может вносить свои изменения в игру, оповестив, конечно же, координаторов проекта (Thomas, ник на форуме tdev). Однако концепция исходного кода защищена законом и принадлежит автору.

Интеллектуальным ROR я называю потому, что эта игра - возможность не просто сварганить тачку и погонять (хотя этим тут большинство и занимается), а возможность реализовать все качества вашего интеллекта для создания моделей любой сложности, вплоть до моделей профессионального уровня, управляющихся как реальный автомобиль, чего вы не встретите в 95% коммерческих автосимуляторов.

Rigs Of Rods позволяет создавать автомобиль на 100% идентичный реальным аналогам, то есть в подвеску и конструкцию закладываются все углы, сопряжения, шарниры и т.д., как у реального авто. Если вы разбираетесь в автомобилях, вы можете создать такие модели, которыми вам никогда не доведется порулить в реальности. Вы сможете точно распределить массы агрегатов и деталей; | неподрессоренные массы, и развал колес; кастер и камбер; создавать любые виды подвесок, вписать передаточные числа реальных коробок передач, отрегулировать амортизаторы (регулировки сжатие, отскока, силу рессор, прогрессию сжатия рессоры и прогрессию гидравлики амортизатора). И все эти регулировки будут влиять друг на друга, на управляемость модели вашего транспортного средства и на разгонную динамику.

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

И тогда ваши модели будут самыми лучшими из лучших из лучших из лучших. За сим трёп заканчиваем и переходим к делу.

И так, Ready? Steady! GO!!!

ВВЕДЕНИЕ

В Rigs Of Rods (ROR) модель состоит из нескольких основных частей:

  • 3D модели, создаваемой в 3D MAX или бесплатном 3D пакете Blender
  • текстур
  • физической модели. Физическая модель, в принциме, пожет не требовать наличия 3D модели, описанной в 1-ом пункте, и на неё может быть наложена текстура. Только выглядеть она будет как квадратная коробка, не очень красиво.

Что такое 3D модель, все понимаают - это сложная трехмерная форма, состоящая из полигонов в виде треугольников. В ROR, как и во всех играх, лучше использовать низкополигональные, состоящие из нескольких тысяч полигонов, модели.

Что такое текстура - понятно.

В данном документе речь идет только о Физической модели. Физическая модель - это простейшая модель автомобиля, которая строитсмя в ROR по скелетной технологии и имеет вид нагромождения точек, соединенных между собой лучами. Физическая модель так же наделяется всеми физическими характеристиками (масса, трение, упругость, инерция, характеристики двигателя и коробки передач; характеристики амортизаторов, деформации, характеристики тормозов, гидравлические подвижные сочленения; располоджение камер внутреннего и внешнего обзора, размеры колёс и их характеристики. Физическая модель - это та основа, с которой работает игровой движок. Та красивая декоративная мишура, которой является сложная низкополигональная 3D модель, и которую вы делаете в 3D пакетах, - это лишь внешность, которая надевается на физический скелет для создания приличного внешнего вида как шикарное платье от известных модельеров надевают на тело костлявой фотомодели и выпускают на подиум.

Физическая модель видна в игре только когда вы тестируете её в игре. Закончив тестирование, она должна быть скрыта с глаз долой, потому что основной вид автомобля - 3D модель.

Скелет физической модели отстраивается игрой каждый раз заново, как только вы выбрали транспортное средство. Скелет состоит, как и все скелеты, из суставов, которые здесь называются узлами (NODE) и соединяющих их косточек или лучей (BEAM). Узел является так же математическим шарниром. То бишь если к одному узлу цепляется два луча, то относительно этого узла они будут поворачиваться в любой плоскости. Луч не может существовать без двух узлов, поэтому минимальная конструкция представляет собой три узла, соединенные двумя лучами попарно.

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

Все характеристики физической модели - это масса, трение, упругость; характеристики двигателя, рессор, параметры деформации, и все физические качества задаются в отдельном файле, который имеет расширение ".truck" и полностью описан в данном документе (Truck Description File), который вы сейчас читаете.

ОСНОВНЫЕ ЭТАПЫ СОЗДАНИЯ ФИЗИЧЕСКОЙ МОДЕЛИ

Этапы создания самой простой и незамысловатой модели:

  • Создание текстур.
  • Отрисовка конструкции скелета на миллиметровой бумаге вручную.
  • Создание основного файла транспортного средства (Truck Description File), куда вписываются все характеристики ТС и основные отделы создания скелета.
  • Натягивание текстуры на скелет в игре.

Создание сложной модели - это небольшой труд поначалу, после чего вы делаете последующие модели по шаблону 1-ой сделаной вами модели, изменяя лишь характеристики. Главное - создать самый первый автомобиль, чтобы у вас был наиболее заполненный файл *.truck. Чтобы не трудиться с нуля, вы можете взять файл *.truck из любой модели аналогичного класса, выложенной в [Хранилище (Repository)] данного сайта, распаковать её из архива (ZIP) и редактировать как вам вздумается.

Сложная модель делается по этапам создания:

  • 3D модель.
  • Текстуры (можно без них, если очень суметь).
  • Опорные точки скелета (места шарниров подвески, углы кабины, углы рамы и т.д.) в соответствии с 3D моделью.
  • Конвертирование опорных точек скелета в форматы (*.truck, либо *.boat, либо *.load и т.д.), которые понимает игровой движок OGRE.
  • Конвертирование частей 3D модели в формат (*.mesh) с текстурами и материалами.
  • Соединение опорных точек скелета лучами, создавая пространственный каркас скелета и вписывание его характеристик.
  • Регулировка параметров скелета тестированием модели в игре, шлифовка и полировка поведения модели в физическом мире игры.

Посмотрите Truck Concepts чтобы понять принцип создания модели.

  • Для начала ознакомьтесь с ОСНОВНЫМИ РАЗДЕЛАМИ (см. ниже в списке разделов), которые должны быть в самой простой и любой другой модели транспортного средства (здесь и далее - "ТС").
  • Нарисуйте план Вашего грузовика на бумаге (лучше - на "миллиметровке", хотя бумага в клетку для начала тоже подойдет). Обозначьте расположение узлов (см. раздел [Nodes] или [Nodes2]), и подпишите их номера или имена (если это Nodes2).
  • Создайте файл своего грузовека и впишите туда разделы информационные (на выбор), а после них - все разделы, помеченные как базовые. Базовые разделы следует воспринимать как обязательные, ибо без них ваша модель игра не будет воспринимать нормально.
  • Запустите игру и посмотрите на свое творение. Если вы забыли некоторые лучи (см. раздел Лучи), то, наверное, заметите это в игре.
  • Когда шасси будет готово, добавьте секции Колеса, Амортизаторы, Рулевое управление и попробуйте поездить.
  • Когда грузовик готов, доработайте кузов и сделайте текстуры, надо будет скрыть большинство лучей (отображение слишком многих может плохо повлиять на производительность видео и/или просто будет некрасиво).

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

Полный список шагов вы можете наблюдать по ссылке: Пошаговое конструирование ТС Позже это будет переведено на русский.

ТИП ТРАНСПОРТНОГО СРЕДСТВА

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

  • *.truck - в этом файле должен быть раздел engine (двигатель), это будет автомобиль
  • *.plane - в таком файле должен быть раздел turboprops (турбовинтовой двигатель), это будет самолет
  • *.boat - а в этом файле должен быть раздел screwprops (винтовой двигатель), это будет лодка

Просто выберите какое расширение будет у вашего первого транспортного средства. Лучше пусть для начала это будет автомобиль, то есть - *.truck. Мне так удобнее.

Помимо этого, чтобы программа не глючила, будучи в "непонятках", имейте ввиду, что:

  • Вы не должны совмещать несколько типов двигателей (например Двигатель и turboprops (турбореактивный двигатель) в одном файле).
  • Если у вас нет двигателя - значит вы делаете груз или прицеп, а, значит, расширение файла должно выглядеть как *.load (см. Creating a Load/ru).
  • У вас может быть раздел wings (крыло) на автомобиле или лодке (например, чтобы добавить спойлер для стабильности).
  • У вас обязательно должен быть раздел fusedrag (подъемная сила) если вы делаете самолёт. Для лучшего моделирования аэродинамики.
  • Лодка должна иметь плавучий корпус, который организовывается в разделе submesh.


Легковые Машины Несколько рекомендаций для тех, кто хочет построить легковушку: RoR изначально был создан для тяжёлых грузовиков, поэтому Вам придётся использовать некоторые дополнительные действия, которые помогут вам создать реалистичный бэтмобиль:

  • Используйте engoptions (инерция) для уменьшения инерции двигателя и установите двигатель типа "с" (бензиновый). В этом случае дым выхлопа не будет чёрного цвета как у дизеля, и звуки для него подбираются по другому принципу.
  • В разделе Тормоза уменьшите тормозное усилие до нужного момента.
  • Используйте Индивидуальные регулировки лучей для смягчения кузова автомобиля чтобы создать реалистичные повреждения корпуса автомобиля.
  • Экспериментируйте с разделом Двигательная установка, используйте более высокие RPM (обороты) и правильные передаточные числа коробки передач.
  • Делайте колеса полегче и шины мягче. Но не делайте слишком мягкими шины, потому что их конструкция может стать нестабильной и они будут как бы "шевелиться" (конструкция входит в собственный резонанс колебаний). Правильная регулировка эластичности и демпфирования (амортизации) колес поможет избежать проблем. Рекомендуемые значения для колеса массой 100 кг: 150000 единиц эластичности и 1000 единиц демпфирования. Однако реалистичность достигается пробами и ошибками.
  • Используйте созданную для легковых моделей модель панели приборов dashboard-small.mesh prop.

БАЗОВЫЕ РАЗДЕЛЫ

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

Первое правило: Базовые разделы должны быть в файле любого транспортного средства независимо от его типа.

Второе правило: всё записывается в виде разделов или подразделов.

Важно: некоторые разделы зависят от наличия других разделов, например: Камеры требует заранее созданного раздела Лучи, и вам потребуется сначала создать раздел beams, а потом cinecams, потому что камера представляет собой стандартный узел, вид из которого выводится в виде изображения на ваш монитор, а этот узел крепится обычными лучами к окружающим точкам (nodes) кабины.

Важно: основные разделы обязательны для правильной работы игры. Каждый из основных разделов должен присутствовать при построении ТС, или прицепа!

Важно: при редактирвоании можно делать пометки и писать всё, что угодно на любом удобном вам языке. Чтобы программа "не заметила" то, что вы написали, и не думала о том, что ей делать с этим "бредом", перед записями, не относящимися к скрипту, вы ставите точку с запятой ";". Всё, что написано после этого знака, программа "не видит". Вы так же можете скрывать этим способом строки некоторых параметров. Напрмер можете для 4-колесного автомобиля создать 8 колёс с различными характеристиками, половину из них отключить при помощи знака ";" и тестировать вторую половину колёс. А потом - выключить вторую половину и включить первую.

И так, если вы готовы, приступим.


Название ТС

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

My nice truck


Глобальные параметры (globals)

В раздел Globals вписаны некоторые параметры, общие для данного транспортного средства (далее я буду называть его "ТС"):

  • dry mass - масса ТС, измеряется в килограммах и полностью влияет на инерцию. Здесь стоит четко понять, что данная масса в равной степени распределится по всем точкам скелета. То есть каждая точка будет весить как и любая другая (принцип точного распределения масс я опишу в разделе "Nodes"). Помимо этого следите чтобы точки не весили ниже 50 кг - это минимально допустимая масса точки скелета (иначе могут быть глюки в игре).
  • cargo mass - масса точек, помеченных буквой "L" - тех точек скелета, которые позволяют конструкции автомобиля взаимодействвоать с конструкцией других автомобилей, грузов и т.д. Если ни одна точка не помечена буквой "L", машина будет проезжать сквозь другие машины, а груз, поставленный в кузов грузовика, будет пролетать сквозь него, падая на землю.
  • material - название материала, который будет использоваться для текстур грузовика. Под "материалом" подразумевается отражение света от поверхности деталей грузовика. В зависимости от выбранного материала повержность может выглядеть как матовая или глянцевая, а так же иметь различную величину солнечных бликов. Здесь должен быть указан один из материалов, указанных в файлах *.matherial материалов. Если у вас нет собственного материала, можно использовать один из имеющихся.
globals
;dry mass, cargo mass, material
 10000.0,  1000.0,     tracks/semi


Узлы (nodes)

С этого раздела начинается описание структуры скелета и других физических параметров. Параметры каждого узла (node) должны быть в одной строке. Всё просто: первый параметр - это порядковый номер узла, следующие три параметра - координаты узла в пространстве по осям X, Y и Z. Всё пишется через запятую.

14, 1.36, 0.00, 1.97

ВАЖНО: нумерация должна начинатся с нуля и идти только по порядку (0, 1, 2, 3, 4...). Пропуски номеров узлов (1,3,4,6...) или замещение одного номера другим (1,3,2...) не допускается. Однако это ограничение снимается, если вы будете испольовать новый тип узлов - Node2. ВАЖНО: используйте узел под номером "0" как часть жёсткой конструкции вашего автомобиля, самолета или корабля, так как он является базовой точкой для вычесления положения модели в игре. Не используйте этот узел на вращающихся, двигающихся и других не жестко закрепленных частях скелета.

Дополнительные опции для узлов: Каждому узлу можно добавить пометку, которая обеспечит какое-либо дополнительное физическое свойство. Опция в виде буквенной пометки пишется в конце, после запятой, и представляет собой буквы:

  • L - грузовой узел. Этот параметр вешается на те узлы, которые являются например частью кузова грузовика и частью конструкции груза чтобы они взаимодействовали друг с другом. Иначе говоря - чтобы вы груз поставили в кузов. В противном случае груз пролетит сквозь кузов и упадет на землю. Также эти узлы используются для взаимодействия (столкновений) корпуса одного автомобиля с корпусом другого автомобиля, у которого узлы так же помечены буквой "L".
14, 1.36, 0.00, 1.97, l

Дополнительно:

  • Вы можете задать массу грузового узла индивидуально, если добавите число после опции "L" через пробел, тем самым изменяя массу узла. Например если вы напишите 2000, то этот узел будет весить две тонны:
14, 1.36, 0.00, 1.97, l 2000

ВНИМАНИЕ: узел, на который вы указали массу, суммируется с общей массой автомобиля, которую вы указывали в разделе Globals. То есть если машина весит 10 000 кг, а вы добавили на два узла по 1000 кг, то в игре машина будет себя вести как 12-тонная, при чем центр тяжести сместится ближе к тем двум узлам, на которые вы повесили по 1000 кг, и инерция автомобиля увеличится. При этом, увеличивая и распределяя массу отдельных узлов, вы должны вычесть те же килограммы из массы автомобиля, в разделе Globals, но не снижать массу автомобиля менее 1000 кг. Иначе будут глюки.

Когда постигните азы построения транспорта, вы можете отлаживать массы узлов, добавив в файле RoR.cfg (или поставив галочку напротив пункта "Debug mass" в закладке "Дополнительные опции" меню конфигуратора игры) следующий пункт (только для версии ROR v.0.35 и выше):

Debug Truck Mass	Yes

Важно: запускайте игру не через крнфигуратор. Посмотрите в файл RoR.log после загрузки, вы увидете что-то типа этого:

04:09:05: Node 141 mass (20kg) too light. Resetting to minimass (50kg).
04:09:05: Node 0 : 3662 kg
04:09:05: Node 1 : 1730 kg
...
04:09:05: Node 13 : 1180 kg (normal load node: 6000 kg / 6 nodes)
04:09:05: Node 14 : 1180 kg (normal load node: 6000 kg / 6 nodes)
...
04:09:05: Node 136 : 5026 kg (overriden by node mass)
...
04:09:05: TOTAL VEHICLE MASS: 32399 kg
  • F - узел не будет делать искр при контакте с асфальтом или предметами (полезно для вручную сделаных колес).
  • X - узел выпускает дым выхлопа. Для него требуется узел, помеченный как "Y" (также см. раздел exhausts).
  • Y - ориентир выхлопа. Расположение этого узла задает направление дыма. То есть если вы хотите, чтобы дым шёл точно вверх, вы располагаете узел с флажком "Y" точно под узлом с флажком "X". Если поменять их местами, дым будет идти вниз. Расстояние между узлами с опциями "X" и "Y" может быть каким угодно.
  • C - узел не будет соприкасатся с землёй (можно использовать для оптимизации (усиления) конструкции скелета). То есть если вам надо усилить длинную и узкую стрелу подъемного крана, вы можете наворотить вокруг неё дополнительную поддерживающую конструкцию из узлов и лучей и скрыть её. При падении крана узлы с опцией "C" пройдкт сквозь землю, как будто дополниткльной поддержки стрелы не существует.
  • H - узел будет крючком (например, можно использовать для подъемного крюка крана или закрепления груза в кузове). Без узлов с этим флажком, вы не подцепите груз краном.
  • E - узел является редактором местности (используется в специальном автомобиле для редактирования местности). При помощи него можно автомобилем расставлять различные предметы на карте. Только при выходе из игры, они, по-моему, на карте не сохранятся.
  • B - узел не тонет в воде.

Установленные флажки на против узлов выглядят вот так (пример):

nodes
;id,    x,    y,    z,     options
;main chassis
  0, 0.00, 0.75, 0.66
  1, 0.00, 0.75, 1.84
  2, 0.63, 0.75, 0.66
  3, 0.63, 0.36, 0.66,l
  4, 0.63, 0.75, 1.84
  5, 0.63, 0.36, 1.84
  6, 1.48, 0.75, 0.66,l
  7, 1.48, 0.00, 0.66
  8, 1.48, 0.75, 1.84,c
  9, 1.48, 0.00, 1.84,x
 10, 2.33, 0.75, 0.66,y
 11, 2.33, 0.00, 0.66

Если вам надо установить несколько флажков напротив одного узла (например 'F' и 'B') одновременно, можете написать их друг за другом без пробелов, вот так:

 11, 2.33, 0.00, 0.66, fb

Для узлов вы можете установить так же индивидлуальные характеристики (масса, коэффициент трения, объем и т.д.) в подразделе Set_node_defaults

Узлы2 (nodes2)

Nodes2 - это те же узлы, что и Nodes. Их отличие в том, что вам не обязательно следовать точной нумерации при создании физической модели. Nodes2 позволяют использовать вместо порядкового номера любые латинские буквы заглавные или прописные, а так же любые цифры; буквенно-цифровые комбинации и знаки "-" и "_". Например:

nodes2
 ;name,    x,    y,    z,     options
 ;main chassis
  0, 0.00, 0.75, 0.66
  1, 0.00, 0.75, 1.84
  special_node, 0.63, 0.75, 0.66
  3, 0.63, 0.36, 0.66,l
  4, 0.63, 0.75, 1.84
  another_one, 0.63, 0.36, 1.84
  hook_node, 1.48, 0.75, 0.66,lh 50

Рекомендуется использовать определенную стандартность в именовании узлов, например:

function_section_name

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

hook_rear_hook1

Если ваше ТС сделано из Node, а вы хотите дополнить его конструкцию узлами Node2, просто переименуйте раздел Node в Node2 и программа будет воспринимать номера узлов так же, как это было раньше. Имейте ввиду так же, что:

  • перевод раздела nodes в раздел nodes2, как писалось выше, очень прост и проблем не возникнет.
  • перевод раздела nodes2 в раздел nodes невозможен, так как принцип раздела nodes - неукоснительное соблюдение порядковой нумерации узлов.
  • использовать нужно ТОЛЬКО имена узлов из букв латинского алфавита (a-z, A-Z), цифр (0-9) и знаков "_" и "-" без пробелов! Никакие другие специальные знаки в именах не использовать!
  • вам не нужно переделывать все узлы "nodes" в имена "nodes2", если имя из раздела "nodes2" не найдено программой. В этом случае программой будет возврат к классической нумерации узлов.

Лучи (beams)

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

  • i - луч становится невидимым. Требуется для скрытия конструкции скелета и других его частей, не участвующих в визуализации модели ТС.
  • r - луч-веревка. Этот луч не противодействует сжатию, легко уменьшая свою длину при воздействии на него, однако он сопротивляется, если его растягивать. Используется для создания брызговиков, флагов и т.д.
  • s - луч поддержки узла (только для версии 0.38.18 и выше). При растягивании его, он не сопротивляется, однако при сжатии меньше своей длины, он сопротивляется приложенной к нему силе. В основном создан для крепления панелей кузова (капот, двери, крылья, бамперы и т.д.) По умолчанию он может растягиваться на 40% от первоначальной длины и ломается при сжатии до 1/10 своей длины. Его характеристики регулируются подразделом set_beam_defaults.
beams
;node1, node2, options
 0,     1
 2,     4
 3,     5,    i
 6,     8,    i
 7,     9
 10,   12,    i
 11,   13,    i
; support beam, default extension break limit
 11,   23,    s
; visible support beam, user set extension break limit original spawn length * 12.5
 11,   24,    s 12.5

В разделе "Beams" так же поддерживается возможность совмещения опций для каждого луча. Поэтому если вы хотите повесить на один луч несколько опций (например "i" и "r"), это будет выглядеть вот так:

;invisble rope
11,13,ir
; invisbile support beam, default extension break limit
 11,   25,    is
; invisbile support beam, user set extension break limit original spawn length * 25
 11,   26,    si 25.0


Датчики положения модели (cameras)

Этот раздел имеет важное значение. Он отвечает за правильный вид из камер на вашем ТС, за изменение положения автомобиля в пространстве (куда ТС будет двигаться, если вы хотите поехать вперед или назад, повернуть или если ТС перевернулось). Здесь используются три опорных узла: первый узел может располагаться где угодно (например в передней части вашего ТС). Второй должен располагаться позади него (например в задней части ТС). Третий должен располагаться слева от первого узла (то есть - в левой части вашего ТС). Для лучшего понимания смотрите рисунок ниже. ВАЖНО: располагайте эти узлы внутри жёсткой конструкции вашего ТС (внутри рамы грузовика, в салоне легкового автомобиля и т.д.) и не располагайте их на движущихся частях (пропеллеры самолета, стрела крана и т.д.).

Cameras.gif
cameras
;center,back,left
0,2,1


Камеры (cinecam)

Данный раздел организует положение камеры внутри ТС, с места водителя. Это специально подвешенная камера, которая при помощи собственных лучей цепляется за 8 узлов кабины ТС. Первые 3 параметра - это координаты камеры по осям X, Y и Z (см. пример ниже). Следующие 8 парметров - порядковые номера или имена узлов кабины, за которые вы её хотите прикрепить. Следующие два параметра - характеристики пружины и демпфера, которыми суммарно обладают эти самые 8 лучей. Меняя эти параметры, вы можете симитировать раскачивание головы водителя из стороны в сторону, вверх и вниз, когда ТС движется по неровностям.

cinecam
;x,y,z, 8 bindings, spring, damping
0.66, 2.0, 1.8, 75,76,77,78,73,74,53,54, 8000.0, 800.0

Конец файла (end)

В конце редактируемого файла, в самом низу, в конце, должно быть расположено завершение - раздел end. При его отсутствии игра зависнет или будет вылетать.

end

ИНФОРМАЦИОННЫЕ РАЗДЕЛЫ

Информационные разделы организуют информационную ауру вашего ТС. Они позволяют вписать нужную информацию так, чтобы удобнее было вам же самим дорабатывать своё авто, информировать других юзеров о версии ТС, дополнительных функциях ТС и т.д. Информационные разделы необязательны и вы создаете их в зависимости от ваших потребностей в информировании и культуре создания моделей для ROR. Будьте культурными и вас будут ценить.

Совет: информационные разделы лучше располагать в самом начале файла, перед Базовыми разделами.


Идентификационный номер (GUID)

GUID (Globally Unique Identifier) - Глобальный идентификационный номер модели - новый раздел, в котором вашему ТС и текстуре назначается собственный идентификационный номер во всем интернете. Этот раздел будет использоваться и в дальнейшем в ROR. Он сделан для упрощения дополнительных изменений в модели ТС, такие как прикладывание к данному ТС других текстур и дополнительных деталей.

;guid <GUID>
guid 6daaee29-e462-4d99-96d2-4577294f7b10

Сгенерируйте собственный номер вашей модели в генераторе по адресу: http://www.guidgenerator.com/


Приспособленность к версиям ROR (fileformatversion)

Здесь стоит указать для какой версии было сделано ваше транспортное средство. Большинство ТС, создаваемых сегодня, должны быть помечены как "fileformatversion 3". однако у вас могут не запускаться или глючить более старые модели ТС, сделанные 3-4 года назад для версии 0.32. Поэтому этот раздел нужен для информирования о работоспособности вашего ТС на старых версиях ROR: fileformatversion 1 - поддерживается в древних версиях ROR ниже 0.32. fileformatversion 2 - поддерживается в версиях от 0.32 до 0.36. fileformatversion 3 - поддерживается в последних версиях выше 0.36. Пример:

fileformatversion 2


Авторы (author)

author <type> <authorid> <authorname> <email>
  • type - напишите какого типа работу вы выполнили для создания модели данного ТС: шасси, текстура, поддержка, 3D модель и т.д.
  • AuthorID - ваш идентификационный номер юзера на форуме ROR. Пишется для того, чтобы любой человек с форума мог связаться с вами и решить интересующие его вопросы по поводу вашей модели, либо предложить помощь. Пишите "-1", если вы не зарегестированы на форуме.
    • Чтобы получить AuthorID, зайдите на: the Repository. Номер должен отображаться слева.
  • authorname - имя автора.
  • email - ваш e-mail (по желанию).

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

author chassis 4 heinz_peter heinz@mail.com
author texture 123 forname_surname_othername someuser@mail.com
author support 5487 otheruser otheruser@mail.com

Пожалуйста не используйте пробелы при заполнении раздела type, autorname и e-mail. Используйте знак "нижнего подчеркивания" ( _ ). В игре этот знак будет заменен на пробел.


Описание (description)

Кратко опишите то, что вы хотите сказать о модели вашего ТС в пределах 3-х строчек. Только 3 строчки будут отображаться в описании модели, в меню выбора ТС.

description
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua.
end_description

ВНИМАНИЕ: Следите за тем, чтобы слов, использующихся в названиях разделов (nodes, wheel и т.д.) в тексте небыло, иначе игра примет их за лишние разделы!


Информация о файле (fileinfo)

Этот раздел информирует пользователей о том, какого типа ваше ТС, его версии и его уникальный номер.

; syntax:
fileinfo <uniqueid>, <categoryid>, <fileversion>
; example:
fileinfo 000UID, 107, 2
  • uniqueid - это поле, где вы указываете уникальный номер вашей модели (вы получаете его, загрузив его в хранилище транспортных средств сайта). Поставьте "-1" если у вас нет уникального номера.
  • categoryid - это поле, в котором вы указываете номер категории вашего ТС (автобус, грузовик, полноприводный грузовик, трактор, багги, кран и т.д.) Поставьте "-1" если категория не определена. Определить категорию очень просто, зайдя на ссылку:
    • Категории транспортных средств. - категория нужна для того, чтобы в игре ваше ТС находилось среди себе подобных: тракторы - в разделе тракторв, автобусы - в разделе автобусов и т.д.
  • fileversion - здесь вы пишете версию вашего ТС. Возможно вы не доделали свою модель и со временем вы, возможно, захотите в модели что-то изменить и дополнить, поэтому придумайте ориентировочно какая версия выкладывается вами в Хранилище. Номер версии пишется только цифрами без пробелов и других знаков (см. пример выше).


Справка (help)

Раздел справки касается дополнительных функций вашего ТС и выводится по центру игровой панели приборов (панель в нижней части экрана) непосредственно в игре. Здесь вы указываете какие клавиши отвечают за дополнительный функции вашего ТС, например какие клавиши отвечают за: подъем и опускание стрелы крана; подъем и опускание ковша бульдозера; изменение клиренса грузовика с пневмоподвеской и т.д. Благодаря этому любой юзер сможет всё это прочитать и проверить в игре, "не отходя от кассы", как говорится.

help
tracks/semihelp


Комментарии (comments)

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

Вы сами так же можете закомментировать несколько строк текста, используя следующий формат:

comment
Просыпается мужик 1 января после празднования Нового года. Встал, "на автопилоте" дошаркал до клетки с попугаем, сдернул тряпку.
Пошлепал на кухню. Открыл холодильник, достал бутылку водки, налил стакан, выпил. Дошаркал до клетки, накрыл ее тряпкой.
Доплелся до дивана и рухнул на него, мгновенно заснув. Голос из клетки:
- За-ши-бись день прошёл!
end_comment

ХАРАКТЕРИСТИКИ ТРАНСПОРТНОГО СРЕДСТВА

Эти разделы организуют все характеристики автомобиля: двигатель, колеса, амортизаторы и т.д. Эти разделы пишутся после перечисления Информационных и Основных разделов.


Двигательная установка (engine)

Раздел Двигательная установка организует параметры для двигателя и коробки передач наземного ТС, то есть для грузовика или автомобиля, и включает в себя следующие параметры:

  • Minimum RPM - минимальные обороты двигателя (RPM), при которых коробка передач переключается по передачам "вниз", при автоматическом переключении.

Примечание: Обороты двигателя на холостых оборотах, на нейтральной передаче, равны: число "Minimum RPM" минус 20% от этого числа.

  • Maximum RPM - максимальные обороты двигателя, при которых коробка передач переключается по передачам "вверх", если вы установили автоматическое переключение передач.

Примечание: Обороты двигателя в красной зоне тахометра, на нейтральной передаче, равны: число "Minimum RPM плюс 20% от этого числа.

  • Torque - крутящий момент двигателя, выдаваемый на максимальных оборотах двигателя. Исчисляется в Нм (ньютон метры). Игра использует линейную зависимость повышения крутящего момента в зависимости от оборотов двигателя. Крутящий момент в игре - это мощность двигателя. Чем она выше - тем выше динамика разгона автомобиля. Линейная зависимость от оборотов двигателя означает: во сколько раз ниже обороты двигателя, во столько же раз ниже крутящий момент, который вы вписали в этом пункте. На холостых оборотах момент будет совсем небольшой, как у реальных двигателей.
  • Final Drive Ratio - коэффициент передаточного отношения главной передачи. "Главная передача" (или - "главная пара шестерней") - это угловой понижающий редуктор, расположенный в ведущем мосту автомобиля между колёс вместе с дифференциалом и приводится в движение карданным валом. Если не знаете точно что здесь писать, то для легковых автомобилей ставьте число ~3,5, для лёгких грузовиков и автобусов ~ 4, для тяжелых ~ 5.
  • Rear gear ratio - коэффициент передаточного отношения передачи заднего хода.
  • Neutral gear ratio - коэффициент передаточного отношения нейтральной передачи. Ставьте 1 или 10. (Сделано в организационных целях)
  • First gear ratio - коэффициент передаточного отношения первой передачи для движения вперед.
  • Second/etc gear ratio - коэффициенты передаточного отношения второй и последующих передач для движения вперед. Минимальное число передач переднего хода - 3, максимальное - 15.

ВНИМАНИЕ: после списка всех передаточных чисел КПП, в конце нужно поставить еще один дополнительный параметр: "-1". Пример заполнения раздела:

engine
;min rpm, max rpm, torque, differential, reverse, neutral, 1st,   2nd,  3rd,  4th,  5th,  6th...
 1000.0,  1500.0,  8000.0, 2.00,         10.85,   10.00,   13.86, 9.52, 6.56, 5.48, 4.58, 3.83, 3.02, 2.53, 2.08, 1.74, 1.43, 1.20, 1.00, -1.0


ВНИМАНИЕ, ЛИКБЕЗ!

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

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

Если ведущая шестерня, вращаемая двигателем (вход) имеет 10 зубьев, а ведомая, вращающая карданный вал (выход) - 20 зубьев, то передаточное число равно 20 / 10 = 2 равно 2. При понижающей передаче в данном примере обороты карданного вала будут ровно в 2 раза меньше, чем обороты двигателя. Но при этом мощность на карданном валу повышается тоже в 2 раза.

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

Если ведущая шестерня имеет 20 зубьев, а ведомая - 10 зубьев, то передаточное число равно 10 / 20 = 0,5. При повышающей передаче в данном примере обороты карданного вала будут ровно в 2 раза больше оборотов двигателя. Но при этом мощность на карданном валу будет тоже ровно в 2 раза меньше, чем снималась с двигателя. То есть если мы жертвуем скоростью - мы выигрываем в мощности. Если мы хотим выиграть в скорости - мы теряем в мощности. Этим и отличается 1-я передача от 4-ой в любой коробке передач.

  • Прямая шестеренчатая передача - сколько мощности и оборотов было на двигателе, почти столькоже мощности и оборотов было передано на карданный вал.

Если ведущая шестерня имеет 10 зубьев, а ведомая тоже 10 зубьев, то это - прямая передача. Чаще всего максимальная передача большинства коробок передач - это прямая передача.

Вот вам источник информации по передаточным числам некоторых автомобильных коробок передач: Eaton Fuller. Чтобы посмотреть передаточные числа, нажмите на название коробки передач и найдите "Технические характеристики".

Опция двигательной установки (engoption)

Engoption (engine option) организует параметры двигателя, коробки передач и трансмиссии:

*Engine inertia - инерция двигателя. По умолчанию стоит параметр 10.0. этот параметр хорош для дизелей карьерных самосвалов объемом 170 литров. Для дизелей грузовых автомобилей ставьте параметр 5.0-4.0; спортивные грузовые дизели - 3.0; легковые двигатели - 1.0 и ниже, спортивные бензиновые двигатели - 0.1

Примечание: время запуска двигателя зависит от параметра инерции. Если вы ставите 1.0, то двигатель запустится довольно быстро. Если значение равно 10, вам потребуется секунд 10, а то и больше для того, чтобы его запустить. злоупотребление слишком большими числами параметра инерции повлияют на торможение автомобиля при автоматическом переключении преедач и тормоза просто не будут справляться с инерцией двигателя.

*Engine type - обозначает различия между дизелем и бензиновым двигателем в том, как двигатель будет дымить. Дизель будет дымить чёрным дымом, а бензиновый дымить небудет. Для дизеля ставим t, для бензинового -c. Так же имеются различия в звуковых картах двигателей. В турбодизеле прибавляется возможность наложения свиста турбокомпрессора.


Ниже перечислены регулировки времени переключения передач (только для версии RoR 0.36.2 и выше):

*Clutch Force - мощность сцепления коробки передач. Позволяет регулировать мощность "схватывания" сцепления, а так же отрегулдировать пониженную мощность, если предполагается есдить в режиме автоматической коробки передач. Если не знаете что писать, поставьте "-1", что означает мощность по умолчанию 10000 для двигателя типа "t" и 5000 для двигателя типа "c".

*shifttime - время в секундах, за которое включается следующая передача после выключения предыдущей. Допустимые значения от 0 секунд и выше. По умолчанию можно ставить "-1", что значит 0,2 сек.

*clutchtime - время в секундах, равное времени между полным выключением сцепления и началом включения сцепления. Это то свободное время за которое должна успеть полностью включиться передача. Допустимые значения от 0 секунд и выше. По умолчанию можно ставить "-1", что значит 0,5 сек.

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

    • Если вы стваите все параметры Shifttime по умолчанию, лучше поставьте по умолчанию и параметр Clutchforce
engoption
;inertia, type, clutchforce, shifttime, clutchtime, postshifttime
0.5, c, 5000.0, 0.75, 0.9, 0.75
;sample shift timings for a mid size truck

Тормоза (brakes)

Этот раздел организует возможности торможения.

По умолчанию стоит усилие 30000, но оно слишком большое для небольших ТС, поэтому отрегулируйте его как надо.

brakes
1500

Индивидуальный параметр для стояночного тормоза доступен для версиии v. 0.36.3 и выше. Первое число - сила рабочего тормоза, второе - стояночного:

Requires
0.36.3
or later
brakes
20000, 15000

Антиблокировачная система (antilockbrakes) для ROR v.0.38.23 и выше

Этот раздел организует характеристики антиблокировочной системы торможения (АБС).

Антиблокировочная система (АБС, ABS англ. Anti-lock braking system) — система, предотвращающая блокировку колёс транспортного средства при торможении. Основное предназначение системы состоит в том, чтобы предотвратить потерю управляемости транспортного средства в процессе резкого торможения и исключить вероятность его неконтролируемого скольжения.

Параметры:

  • regulating force - модуляция усилия. Допустимые значения: от 0 (выключено) до 20. Чем выше значение модуляции, тем жёстче схватывает АБС, используя максимальное усилие параметра торможения. Чем ниже значение модуляции - тем мягче работает АБС, используя лишь небольшой процент от силы тормозной системы.
  • minSpeed - минимальная скорость, на которой активизируется ABS. Параметр не должен иметь отрицательных значений.
  • pulse/sec - частота пульсирования в секунду. Допустимые значения: от 1 до 2000.

Управление работой системы:

  • ON - АБС включена.
  • ON & NODASH - АБС включена, но не отображается на панели приборов.
  • ON & NOTOGGLE - АБС включена, но не может быть отключена в игре.
  • ON & NODASH & NOTOGGLE - система включена, но не отображается на панели приборов и не может быть отключена в игре.
  • OFF - АБС отключена.
  • OFF & NODASH - система отключена и не отображается на панели приборов.
;AntiLockBrakes regulation-force, minspeed, pulse/sec, mode
AntiLockBrakes                     12,           15,       2000, mode: ON & NODASH

В игре вы можете включать или выключать АБС при помощи комбинации клавиш "SHIFT + B". АБС никак не влияет на функционирование стояночного тормоза.

Контроль тяги (TractionControl) для ROR v.0.38.23 и выше

Этот раздел организует параметры системы "Traction Control System" или ПБС (противопробуксовочная система).

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

Параметры:

  • regulating force - модуляция усилия. Допустимые значения: от 0 (выключено) до 20.
  • wheelslip - процент (от фактической скорости) скольжения колеса, при котором включается контроль тяги. Параметр не должен иметь отрицательных значений.
  • fadespeed - процент скольжения колеса (от двойной фактической скорости), при котором включается контроль тяги. Параметр не должен иметь отрицательных значений. Используется для дрифтинга.
  • pulse/sec - частота пульсирования в секунду. Допустимые значения: от 1 до 2000.

Управление работой системы:

  • ON - система включена.
  • ON & NODASH - система включена, но не отображается на панели приборов.
  • ON & NOTOGGLE - система включена, но не может быть отключена в игре.
  • ON & NODASH & NOTOGGLE - система включена, но не отображается на панели приборов и не может быть отключена в игре.
  • OFF - система отключена.
  • OFF & NODASH - система отключена и не отображается на панели приборов.
;TractionControl regulation-force, wheelslip, fadespeed, pulse/sec, mode
TractionControl                       6,         0.2,          100,       2000, mode: ON

В игре вы можете включать или выключать систему Трэкшн Контрол при помощи комбинации клавиш "Shift-V".


Уклонный тормоз (SlopeBrake) для ROR v.0.38.23 и выше

Requires
0.38.23
or later

Этот раздел убирает глюк, когда силы рабочего тормоза не хватает для удержания автомобиля на крутом уклоне.

Параметры:

  • regulating force - модуляция усилия. Допустимые значения: от 0 (выключено) до 20.
  • attach-angle - прикладываемое усилие, зависящее от наклона автомобиля относительно горизонтали, на котором реализуется максимальная сила торможения. Допустимые значения: от 1 до 45. Параметр не должен иметь отрицательных значений.
  • release-angle - дополнительное усилие к параметру attach-angle, активизирующееся, когда на уклоне тормоз отпускается и снова нажимается. Допустимые значения: от 5 до 45. Используйте небольшие значения этого параметра. Параметр не должен иметь отрицательных значений.

Пример заполнения раздела:

;SlopeBrake regulating force, attach-angle, release-angle
SlopeBrake                   10,               5,              12


Колёса (wheels)

Этот раздел организует простую, самую низкокачественную модель колеса, которая сейчас в моделях используется только низкосортными авторами, не умеющими ничего. Это колесо представляет собой вид цилиндра с двумя центральными осевыми узлами. И всё. В модели колеса wheel не существует такого понятия как диаметра диска колеса.

Параметры:

  • Radius - радиус колеса в метрах.
  • Width - ширина колеса. Ширина колеса программа определяет автоматически и делает её равную расстоянию между узлами, которые будут являться осью этого колеса.
  • number of rays - число пар лучей, разделяющих сегменты колеса. Актуальное число - от 10 до 16.
  • Node 1 - номер узла, который является первым узлом, на котором будет вращаться данное колесо.
  • Node 2 - номер узла, который является вторым узлом, на котором будет вращаться колесо.
  • Rigidity Node - порядковый номер узла противоположного колеса, который располагается на одной оси с данным колесом. Актуально для колёс зависимой подвески, когда нужно, чтобы левое и правое колесо моста подвески постоянно располагались параллельно друг другу. Для передних же колёс, оси которых поворачиваются на различные углы друг относительно друга, нужно ставить число "9999".
  • Wheel Braking - означает будет ли колесо тормозить при нажатии педали тормоза. "0" - колесо не будет тормозить; "1" колесо будет тормозить рабочим и стояночным тормозом. Для управляемого торможения на самолетах, ставите "2" для левого колеса и "3" - для правого. Для ROR v. 0.37 число "4" устанавливается для колёс автомобиля, которые тормозят только рабочей тормозной системой, но не тормозят ручным тормозом.
  • Wheel Drive - означает будет ли колесо ведущим или не будет. "0" - для неведущих колёс; "1" - для колёс ведущих вперед; "2" - для колёс, ведущих на задней передаче.
  • Reference arm node - номер узла, на который будет действовать реактивное усилие, передающееся на раму автомобиля при торможении или разгоне. У любого автомобиля при разгоне приподнимается передняя часть, а задняя часть "приседает". Для обеспечения подъёма передней части автомобиля во время разгона, для передних колёс вы ставите здесь номер узла на корпусе автомобиля, расположенном позади колеса. Для опускания задней части автомобиля при разгоне, вы ставите здесь номер того узла, который расположен перед колесом. ВО время торможения автомобиля, векторы силы на этих узлах меняются на противоположные и передняя часть начинает опускаться, а задняя - приподнимается.
  • Mass - масса колеса в килограммах.
  • Springiness - упругость - величина, равносильная давлению воздуха в шине. Подбирается опытным путём в зависимости от массы ТС и влияет на комфортность и управляемость автомобиля в поворотах.
  • Damping - демпфирование - величина, влияющая на гашение колебаний шины. Проще говоря эффект похож на вязкость жидкости - чем выше параметр - тем вязкость конструкции колеса выше. Советую не злоупотреблять этим параметром; он должен быть минимален и обеспечивать колесу сохранность формы во время движения, позволяя ему отскакивать от неровностей как мячу.
  • Materials - материалы боковых сторон колеса и материал протектора, которые представляют собой обычную текстуру.

Пример заполнения раздела:

wheels
;radius, width, numrays, node1, node2, snode, braked, propulsed, arm, mass,  spring,   damping,   facemat          bandmat
 0.54,   0.40,  12,      35,    36,    9999,  1,      0,         3,   200.0, 800000.0, 4000.0, tracks/wheelface tracks/wheelband1
 0.54,   0.40,  12,      37,    38,    9999,  1,      0,         5,   200.0, 800000.0, 4000.0, tracks/wheelface tracks/wheelband1
 0.54,   0.80,  12,      39,    40,    41,    1,      1,         25,  400.0, 800000.0, 4000.0, tracks/wheelface tracks/wheelband2
 0.54,   0.80,  12,      41,    42,    40,    1,      1,         23,  400.0, 800000.0, 4000.0, tracks/wheelface tracks/wheelband2

Примечание:

  • Характеристики прочноси колеса на разрыв устанавливается по умолчанию по характеристикам последнего луча, перечисленном в данном файле.
  • Порядок, в котором колёса были перечислены в файле очень важен: два передних колеса, расположенные на одной оси должны быть перечислены одно за доругим, котом идут следующие два колеса на следующей оси. Транспортное средство не должно иметь нечетное число ведущих колес. Если вы все же сделаете так, то колесо, не имеющее пары, не будет ведущим колесом.


Колёса2 (wheels2)

Этот раздел организует продвинутую модель колеса, имеющую физическую модель обода. Данное колесо позволяет стравливать давление в шине при помощи клавиш "[" и "]" в игре.

  • Rim radius - диаметр обода колеса в метрах.
  • Tyre radius - диаметр шины колеса в метрах.
  • Width - ширина колеса. Ширина колеса программа определяет автоматически и делает её равную расстоянию между узлами, которые будут являться осью этого колеса.
  • Number of rays - число пар лучей, разделяющих сегменты колеса. Актуальное число - от 10 до 16.
  • Node 1 - номер узла, который является первым узлом, на котором будет вращаться данное колесо.
  • Node 2 - номер узла, который является вторым узлом, на котором будет вращаться колесо.
  • Rigidity Node - порядковый номер узла противоположного колеса, который располагается на одной оси с данным колесом. Актуально для колёс зависимой подвески, когда нужно, чтобы левое и правое колесо моста подвески постоянно располагались параллельно друг другу. Для передних же колёс, оси которых поворачиваются на различные углы друг относительно друга, нужно ставить число "9999".
  • Wheel Braking - означает будет ли колесо тормозить при нажатии педали тормоза. "0" - колесо не будет тормозить; "1" колесо будет тормозить рабочим и стояночным тормозом. Для управляемого торможения на самолетах, ставите "2" для левого колеса и "3" - для правого. Для ROR v. 0.37 число "4" устанавливается для колёс автомобиля, которые тормозят только рабочей тормозной системой, но не тормозят ручным тормозом.
  • Wheel Drive - означает будет ли колесо ведущим или не будет. "0" - для неведущих колёс; "1" - для колёс ведущих вперед; "2" - для колёс, ведущих на задней передаче.
  • Reference arm node - номер узла, на который будет действовать реактивное усилие, передающееся на раму автомобиля при торможении или разгоне. У любого автомобиля при разгоне приподнимается передняя часть, а задняя часть "приседает". Для обеспечения подъёма передней части автомобиля во время разгона, для передних колёс вы ставите здесь номер узла на корпусе автомобиля, расположенном позади колеса. Для опускания задней части автомобиля при разгоне, вы ставите здесь номер того узла, который расположен перед колесом. ВО время торможения автомобиля, векторы силы на этих узлах меняются на противоположные и передняя часть начинает опускаться, а задняя - приподнимается.
  • Mass - масса колеса в килограммах.
  • Rim springiness - упругость обода колеса - величина, обозначающая прочность обода. Подбирается опытным путём в зависимости от массы ТС.
  • Rim damping - величина, увеличивающая пластичность материала обода.
  • Tyre springiness - упругость - величина, равносильная давлению воздуха в шине. Подбирается опытным путём в зависимости от массы ТС и влияет на комфортность и управляемость автомобиля в поворотах.
  • Tyre damping - демпфирование - величина, влияющая на гашение колебаний шины. Проще говоря эффект похож на вязкость жидкости - чем выше параметр - тем вязкость конструкции колеса выше. Советую не злоупотреблять этим параметром; он должен быть минимален и обеспечивать колесу сохранность формы во время движения, позволяя ему отскакивать от неровностей как мячу.
  • Materials - материалы боковых сторон колеса и материал протектора, которые представляют собой обычную текстуру.

Пример заполнения раздела:

wheels2
;radius,radius2,width,numrays,node1,node2,snode,braked,propulsed, arm, mass, rim spring, rim damping, simple spring, simple damping, facemat bandmat
0.335, 0.625, 0.40, 12, 44, 45, 9999, 1, 1, 3, 280.0, 900000.0, 200.0, 400000.0, 2000.0, tracks/daffwheelface tracks/dafwheelband
0.335, 0.625, 0.40, 12, 46, 47, 9999, 1, 1, 5, 280.0, 900000.0, 200.0, 400000.0, 2000.0, tracks/daffwheelface tracks/dafwheelband
0.335, 0.625, 0.40, 12, 48, 49, 50,  1, 1, 31, 280.0, 900000.0, 200.0, 200000.0, 2000.0, tracks/dafrwheelface tracks/dafwheelband
0.335, 0.625, 0.40, 12, 50, 51, 49,  1, 1, 33, 280.0, 900000.0, 200.0, 200000.0, 2000.0, tracks/dafrwheelface tracks/dafwheelband
0.335, 0.625, 0.40, 12, 52, 53, 54,  1, 1, 31, 280.0, 900000.0, 200.0, 200000.0, 2000.0, tracks/dafrwheelface tracks/dafwheelband
0.335, 0.625, 0.40, 12, 54, 55, 53,  1, 1, 33, 280.0, 900000.0, 200.0, 200000.0, 2000.0, tracks/dafrwheelface tracks/dafwheelband

Примечание:

  • wheels2 превращаются в он-лайн игре в обычные wheels.
  • wheels2 могут быть отключены в конфигураторе configurator, превратившись в обычные wheels.


3D колесо (meshwheels) для ROR v. 0.35 и выше

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

Данный вид колеса имеет все те же параметры, что и модель wheel, поэтому здесь они не указаны, но должны быть в файле.

Requires
0.35
or later

Модель обода должна быть отцентрирована по центру колеса и иметь такой же диаметр (параметр rim_radius) и шинрину (расстояние между узлами node 1 и node 2 оси колеса). Каждое колесо должно быть помечено буквой "L" или "R" в зависимости от того, на какой стороне оно располагается, а окончательными параметрами являются название конфертированной в игру 3D модели, материала и текстуры.

Meshwheelmapping.jpg

Вот пример внешности колеса, как это должно быть сделано. Физическая модель шины добавляется в самой игре, после выбора автомобиля, а текестура натягивается автоматически прямо на скелет шины. Шина при этом будет деформироваться как реальная.

Meshrim.jpg

meshwheels
;tire_radius, rim_radius,width,numrays,node1,node2,snode,braked,propulsed, arm, mass, spring, damping, side, meshname material
0.35, 0.21, 0.5, 14, 32, 33, 34, 1, 1, 18, 200.0, 300000.0, 2000.0, l, dodgechargerwheel.mesh dodgechargerband
0.35, 0.21, 0.5, 14, 34, 35, 33, 1, 1, 26, 200.0, 300000.0, 2000.0, r, dodgechargerwheel.mesh dodgechargerband
0.35, 0.21, 0.5, 14, 44, 45, 9999, 1, 0, 53, 200.0, 350000.0, 2000.0, l, dodgechargerwheel.mesh dodgechargerband
0.35, 0.21, 0.5, 14, 46, 47, 9999, 1, 0, 50, 200.0, 350000.0, 2000.0, r, dodgechargerwheel.mesh dodgechargerband


3D колесо2 (meshwheels2) для ROR v. 0.38.23 и выше

Requires
0.38.23
or later

Этот раздел организует аналогичные meshwheels колёса за исключением одного отличия.

При создании колеса параметры "tyre springiness" и "tyre damping" используются лишь для тех лучей, которые отвечают ТОЛЬКО за давление в шине! Данные параметры не отвечают за жесткость протектора шины. Жесткость протектора шины регулируется подразделом "set_beam_defaults". Это позволяет сохранить хорошую жесткость покрышек при боковых смещениях (в поворотах) даже с небольшим давлением в шине, что сохраяет хорошую управляемость автомобиля.

Пример заполнения раздела: Use set_beam_defaults that make sense for tires, good working example:

set_beam_defaults 700000, 350, 60000000, 80000000
meshwheels2
 0.660,   0.315, 0.375,  12,  27,  26,  38, 4, 1,  22, 100.0, 150000.0, 1500.0, r, my-rim.mesh my-tire-material

Амортизаторы (shocks)

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

Параметры:

  • Node 1 - узел, являющийся первой опорной точкой луча.
  • Node 2 - узел, являющийся второй опорной точкой луча.
  • Spring rate - жесткость пружины. Чем выше значение - тем жестче эффект пружины.
  • Damping - сопротивление движению в равной степени действующее при сжатии луча и возврате к исходной длине. Данный эффект работает только при движении; при сжатии или расширении луча точно так же, как в реальности амортизатор сопротивляется движению при сжимании или разжимании его. Лучшее значение задается по следующей формуле: <math>2 \times \sqrt{suspendedmass \times springvalue}</math>, где "suspendedmass" - подрессоренная масса над амортизатором, а "springvalue" - сила пружины Spring rate.
  • Maximum contraction - минимальная длина сжатия до упора. Минимальная длина - 0, максимальная - 1. При минимальной длине (параметр 0.0) амортизатор не станет работать как амортизатор, если его сжимать, а сразу станет твёрдым как жёсткая конструкция. Параметр, к примеру, 0.3 или 0.5, означает, что амортизатор сожмется на 30% или 50% от первоначальной длины, а дальше будет сопротивляться сжатию как жёсткая конструкция. Параметр 1.0 позволит сжаться амортизатору на 100%.
  • Maximum extension - максимальная длина растягивания амортизатора больше своей первоначальной длины. Параметр "0" означает, что амортизатор не сможет растянуться больше первоначальной длины, параметр 1.0 означает, что он растянеться на 200%.
  • Precompression - выбор предсжатия подвески, задавая определенный клиренс над землей (по умолчанию стоит нулевое предсжатие и параметр 1.0). Однако данный параметр у меня глючил. По опыту, могу сказать, что этот параметр не требуется для создания автомобилей в ROR. Надо просто понять, что всё, на самом деле, намного проще, если имитировать реальность. В реальности у любой подвески должен быть запас на растяжение. Благодаря правильному подбору мягкости рессор и параметру Maximum extension, равному 0.2 или 0.3, вы обеспечиваете запас на свободное растяжение подвески на 20-30%.

Опции для луча амортизатора:

  • "i" - амортизатор, как и любой другой луч, становится невидим.
  • "L" или "R" делает подвеску (с левой и с правой стороны соответственно) активной, и на любых неровностях корпус автомобиля автоматически будет стремиться выровняться вертикально. Полезно для автомобилей с активной пневмоподвеской.
shocks
;critical damping=2*sqrt(mass*spring)
;id1, id2, spring, damping, shortbound, longbound, precomp, options
36,   6,   200000, 10000,  0.3,        0.3,       1.0
37,   8,   200000, 10000,  0.3,        0.3,       1.0,     l
38,   2,   200000, 10000,  0.3,        0.3,       1.0,     r

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


Амортизаторы2 (shocks2) для ROR v. 0.36.2 и выше

Requires
0.36.2
or later

ВНИМАНИЕ! Только для опытных юзеров! Данный раздел организует усложненную модель амортизатора, включающего все использующиеся на сегодняшний день характеристики подвески для всех видов автомобилей.

"!-- Lifter, I don't understand a word of this. Or even a syllable. Thus I am postponing clarification of this part until I can contact you so that this issue can be resolved. ~donoteat" - здесь программист пишет, что вообще нифига не понял что он вообще делает, создавая SHOCKS2, но он всё делал так, как ему сказали человек с ником Lifter. По моему мнению всё сказали правильно, и я вам опишу все реально необходимые характеристики, которыми были наконец дополнены амортизаторы и реализованы в виде shocks2.

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • springin линейная сила пружины при сжатии.
  • dampin - линейная сила демпфирования при сжатии.
  • progspringin - прогрессия силы пружины при сжатии. Параметры: "0" - опция отключена. "1" и более множителей - коэффициент прогрессии. Вычисляется по формуле: maximum springrate == springrate + (factor*springrate).
  • progdampin - прогрессия силы демпфирования при сжатии. Параметры: "0" - опция отключена. "1" и более множителей - коэффициент прогрессии. Вычисляется по формуле: maximum dampingrate == springrate + (factor*dampingrate).
  • springout - линейная сила пружины при отбое. В реальности всегда равна силе пружины при сжатии.
  • dampout - линейная сила демпфирования при отбое (параметр springin).
  • progspringout - прогрессия негативной пружины при отбое. В реальности всегда равна силе пружины при сжатии (параметр progspringin). Параметры: "0" - отключено. "1" и более множителей - коэффициент прогрессии. Вычисляется впо формуле: maximum springrate == springrate + (factor*springrate).
  • progdampout - прогрессия демпфирования отскока. Параметры: "0" - отключено, "1" и более множителей - коэффициент прогрессии. Вычисляется по формуле: maximum dampingrate == springrate + (factor*dampingrate).
  • shortbound - минимальная длина, до которой сжимается луч к моменту пробоя подвески, после чего становится максимально жёстким для дальнейшего сжатия (примеры: "1.00" (100%) - не будет сжиматься; "0.9" (90%) - сожмется до 90%; "0.15" (15%) - сожмется до 15%).
  • longbound - максимальная длина, до которой луч растянется, после чего становится максимально жестким для дальнейшего растяжения (примеры: "1.00" (100%) - не будет растягиваться; "1.3" (130%) - растянется до 130%; "2.15" - ратянется до 215%).
  • precomp - предсжатие подвески (данный эффект не понятен, ибо в игре он как-то странно работает - прим. переводчика). Возможно это - попыткаа создать эффект негативной пружины, сила которой почему-то не регулируется.

Опции:

  • i - невидимый
  • s - антипробойная система. Следует использовать для любой техники (особенно гоночной).
  • m: регулировка параметров shortbound и longbound в метрах в отношении к исходной длине луча.
  • M: регулировки параметров shortbound и longbound в метрах без отношения к исходной длине луча. Используйте осторожно, проверяйте на наличие ошибок в файле ror.log.


Термины, использованные в описании - для точного понимания эффектов:

  • Компрессия (сжатие) - сжатие подвески, при котором несущая пружина (рессора) сжимается, амортизатор задвигается, а колесо уходит вглубь колёсной арки.
  • Отскок (отбой) - растягивание пружины (рессоры) подвески до первоначального состояния, когда амортизатор выдвигается, а колесо выходит из колёсной арки.
  • Пружина при сжатии - эффект луча, при котором луч сжимается с усилием, но при этом готов разжаться - эффект, присущий любой пружине. Благодаря ему пружины и рессоры способны удерживать подвеску в разжатом состоянии на неподвижно стаоящем транспортном средстве, а так же - когда колесо наезжает на возвышение.
  • Пружина при отскоке - эффект луча, при котором луч пытается разжаться с усилием, которое было достигнуто им при сжатии - свойство любой пружины и рессоры. Этот эффект пружины используется для быстрого разжимания подвески при попадании колеса в углубление. В реальности эта сила равна силе "Пружина при сжатии". (Не понятно зачем для игры их регулировки разделили, возможно - для создания фантастических транспортных средств (примечание переводчика)).
  • Демпфирование - эффект луча, который работает только в движении, в процессе сжатия и расжатия подвески. Этот эффект создаёт силу "вязкости" луча аналогично эффекту, возникающему в амортизаторе за счёт перетекания вязкой жидкости через клапаны внутри него. Чем выше коэффициент демпфирования - тем сильнее луч сопротивляется изменению собственной длины во время его сжатия или растягивания.
  • Линейность работы - эффект луча, сила которого остается постоянной независимо от скорости или величины сжатия и отскока. Актуально для сил пневматической подвески и сил стандартных (не гоночных) амортизаторов.
  • Прогрессия работы - увеличение силы сопротивления тем больше, чем больше вы пытаетесь сжать или растянуть луч. Актуально для сил металлических пружин, рессор и торсионов, а так же касательно сил вязкости гоночных амортизаторов и самолетных шасси.
  • Антипробойная система (bumpstop). Пробой подвески, это момент, когда подвеска сжимается на 100% совего хода и происходит удар металлических частей (в реальных авто) подвески о раму автомобиля, если подвеска слишком мягкая для данных нагрузок. Для смягчения удара и исключения повреждения амортизатора и других деталей, используются антипробойные жесткие резиновые демпферы, называемые "ограничитель хода колеса" или "bumpstop" (опция амортизатора, включающаяся буквой "s"). Актуально устанавливать для всех видов автомобилей в ROR.

Используемые в shocks2 основные регулировки, их описание и применяемость. Вы просто находите ваш тип ТС среди перечисленных списков, и используете именно эти характеристики. Остальные характеристики, которые не используются для данного типа авто вы отключаете, установив в них параметр "0":

  • Пружина (springin) при сжатии - та основная несущая пружина (рессора), которая расположена между массой автомобиля и деталями подвески. При сжатии увеличивает свою силу линейно (так сделано в ROR, но это не реально, поэтому используйте регулировки прогрессии). Применение:
    • все автомобили и грузовики.
    • все гоночные автомобили и грузовики.
    • весь железнодорожный транспорт.
    • все гусеничные подвески, имеющие рессорную, пружинную иторсионную подвеску катков (кроме строительной, карьерной (добыча ископаемых) гусеничной техники, имеющей жесткую или жесткую подвеску катков).
    • все самолётные подвески.
    • все вертолетные подвески для пассажирских вертолетов.
    • все тяжелые грузовые вертолеты. Исключением являются легкие грузовые вертолеты.

(Исключая специальный дорожный, строительный, карьерный, сельскохозяйственный и гусеничный транспорт, в котормо используются жессткие и балансирные подвески; лёгкие грузовые вертолёты)

  • Прогрессия пружины при сжатии (progspringin) - коэффициент регулировки прогресси пружины при сжатии. Применение:

Небольшой коэффициент прогресси требуется для всех видов ТС.

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

Примечание: для высоконагруженной техники, грузоподъемностью от 10 тонн (без трейлера) следует устанавливать более высокие характеристики прогрессии пружины + демпфирование на сжатии. Тогда даже с тяжелым грузом пробой подвески будет редким. Применение:

    • высоконагруженные тяжелые грузовики грузоподъемностью от 10 тонн (без трейлера) и выше (танковые тягачи, карьерные самосвалы)..
    • железнодорожный транспорт.
    • тяжелые гусеничные подвески.
    • самолётные шасси для самолетов большого класса.
  • Демпфирование сжатия (dampin) - линейная сила, препятствующая сжатию подвески за счет вязкости перетекающей жидкости внутри амортизатора. Применение:
    • тяжелые грузовики.
    • внедорожные грузовики
    • сверхтяжелые грузовики (танковые тягачи, карьерные самосвалы).
    • внедорожные гоночные автомобили.
    • внедорожные гоночные грузовики.
    • шоссейные гоночные автомобили.
    • шоссейные гоночные грузовики.
    • тяжелые гусеничные подвески.
    • самолётные подвески.
    • вертолетные подвески.
  • Прогрессия демпфирования сжатия (progdampin) - сила, увеличивающаяся тем больше, чем больше сжалась подвеска. В начале хода подвески сила может быть равна 20%, в половине хода - 50%, при полностью сжатой подвеске - 100%. Применение:
    • внедорожные гоночные легковые автомобили.
    • внедорожные гоночные грузовые автомобили.
    • шоссейные гоночные легковые автомобили.
    • шоссейные гоночные грузовые автомобили.
    • самолётные подвески.
  • Демпфирование отбоя (dampout) - линейная сила, препятствующая разжатию подвески пружиной. Эффект, равный эффекту вязкости перетекающей жидкости внутри амортизатора. Применение:
    • легковые автомобили, включая старинные.
    • лёгкие грузовики.
    • тяжелые грузовики.
    • сверхтяжелые грузовики (танковые тягачи, карьерные самосвалы)
    • внедорожные гоночные автомобили.
    • внедорожные гоночные грузовики.
    • шоссейные гоночные автомобили.
    • шоссейные гоночные грузовики.
    • железнодорожный транспорт (кроме товарных вагонов).
    • лёгкие гусеничные подвески.
    • тяжелые гусеничные подвески.
    • самолётные подвески.
  • Прогрессия демпфирования отбоя (progdampout) - прогрессивная сила, увеличивающаяся тем больше, чем сильнее разжимается подвеска. В полностью сжатой подвеске сила прогрессии отскока равноа 0, в разжатой на 50% сила равна 50% и более; в полностью разжатой подвеске сила равна 100%. Эта прогрессия должна быть совсем небольшой и применяется для предотвращения удара деталей подвески друг о друга (в реале может быть отрыв конструкции амортизатора), когда подвеска полностью разжимается. Применение:
    • внедорожные гоночные легковые автомобили с ходом колеса ~ от 20 см.
    • внедорожные гоночные грузовые автомобили с ходом колеса ~ от 20 см.
shocks2
;невидимый луч с высокими значениями прогрессии для сжатия и линейными значениями для отскока
node1, node2, springin, dampin, progspringin, progdampin, springout, dampout, progspringout, progdampout, shortbound, longbound, precomp, options
45,      80,       22000,  2000,    5,                5,               2000,       1500,      0,                  0,                  0.8,            0.1,           1,            is
 
;видимый луч с высокими значениями прогрессии для сжатия и отскока, и границами ограничения хода в метрах.
node1, node2, springin, dampin, progspringin, progdampin, springout, dampout, progspringout, progdampout, shortbound, longbound, precomp, options
45,      80,      22000,   2000,   15,              10,              22000,     2000,      15,                 10,                0.5,            0.5,           1,            m
 
;видимый, с жесткими параметрами прогрессии только демпфера с жесткими характеристиками пробоя подвески и характеристиками ограничения работы в метрах
node1, node2, springin, dampin, progspringin, progdampin, springout, dampout, progspringout, progdampout, shortbound, longbound, precomp, options
45,      80,      22000,   2000,    5,               5,                0,            0,           0,                   0,                 0.2,            2.5,           1,            M

ПРИМЕЧАНИЯ:

  • shocks2 требует как минимум 1500 единиц демпфирования отбоя, а так же такую силу пружины, чтобы она могла удерживать подвеску в полностью разжатом состоянии на неподвижно стоящем автомобиле.
  • чтобы при полностью разжатом состоянии, подвеска свободно глотала ямы, ей нужно прибавить к ходу ещё +30%. Установите параметр longbound, равный 0.2.
  • опция s (мягкий ограничитель хода колеса) требует как минимум 5% от длины амортизатора. Сделайте так, чтобы ограничение хода колеса было не менее 95% от всего хода (параметр shortbound - не более 0.95).
  • все глюки и ошибки, если вы неправильно отрегулировали подвеску, смотрите в файле ror.log

Пример того, как переделать обычные shock в shock2. Вы просто меняете название раздела на shock2 и дополняете присущие ему характеристики. Ииии фсёёёё!

shocks
;id1, id2, spring, damping, shortbound, longbound, precomp, options
36,   6,   200000, 10000,  0.3,        0.3,       1.0
 
shocks2
node1, node2, springin, dampin, progspringin, progdampin, springout, dampout, progspringout, progdampout, shortbound, longbound, precomp, options
   36,     6,   200000, 10000,            0,          0,    200000,  10000,             0,           0,        0.3,       0.3,     1.0

Гидравлика рулевого управления (hydros)

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

Характеристики

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • lengthening factor - на сколько от первоначальной длины максимально увеличится или уменьшится луч гидравлики. Положительные значения - луч сжимается, отрицательные значения - луч расширяется. Первоначальная длина по умолчанию считается как 1.0. Пример: при отрицательном параметре "-0.4" луч сожмется максимум на 40% своей длины; положительный параметр "0.75" - луч расширится на 75% от своей начальной длины.

Опции:

  • (i) - луч невидим.
  • (s) - управление отключается на высоких скоростях более 50 км/ч. Актуально для грузовиков, мобильных кранов и тракторов с задней управляемой осью, когда на низких скоростях она автоматически улучшает маневренность, на высоких скоростях - отключается.

Опции для управления самолётами (Только для ROR v.0.36.2). Используются для привода элеронов и рулей, а так же - создания управляемого вектора тяги.

Requires
0.36
or later
  • (a) - гидравлика элеронов.
  • (r) - гидравлика руля направления.
  • (e) - гидравлика руля высоты.
  • (u) - сочетание работы гидравлики элеронов и руля высоты.
  • (v) - сочетание обратной работы элеронов и руля высоты.
  • (x) - сочетание работы элеронов и руля управления .
  • (y) - сочетание обратной работы элеронов и руля направления.
  • (g) - сочетание работы руля высоты и руля направления.
  • (h) - сочетание обратной работы руля высоты и руля направления.

Пример заполнения раздела:

hydros
;node1, node2, factor, options
 43,    37,    -0.2
 45,    37,     0.2
 46,    36,     0.2,   s
 48,    36,    -0.2,   s

Гидравлика так же использует раздел Инерция.


Аниматоры (animators) для ROR v.0.37.68 и выше

Requires
0.37.68
or later

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

Аниматоры либо расжимаются, либо сжимаются в зависимости от того, что вам нужно.

Параметры:

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • lengthening factor - коэффициент, определяющий как должен двигаться луч-аниматор.
  • shortlimit: - параметр минимальной длины аниматора при его сждатии. Ограничение устанавливается действительным (положительным) числом в процентах от длины аниматора. (Для версий RoR v.0.38.24 и выше)
  • longlimit: - параметр максимальной длины аниматора при его расширении. Ограничение устанавливается действительным (положительным) числом в процентах от длины аниматора. (Для версий RoR v.0.38.24 и выше)

Каждый аниматор должен быть помечен собственной опцией и будет сжиматься или расширяться:

  • airspeed - по мере приближения к максимальной скорости. Для любых транспортных средств. К примеру это могут быть увлекаемые потоком воздуха мягкие брызговики.
  • vvi - с увеличением вертикальной скорости.
  • altimeter100k - на высоте до 100 000 футов (33000м), после чего он вернется к своей первоначальной длине.
  • altimeter10k - на высоте до 10 000 футов (3300 м), после чего он вернется к своей первоначальной длине.
  • altimeter1k - на высоте до 1000 футов (330 м), после чего он вернется к своей первоначальной длине. Эти три аниматора высоты могут использоваться для создания высотомеров и им подобным возможностям. Хотя можно использовать и Add_animation.
  • aoa - увеличении лобового сопротивления.
  • flap - согласно настройкам подкрылок транспортного средства.
  • airbrake - согласно настройкам аэродинамического тормоза транспортного средства.
  • roll - согласно боковому крену ТС. Он перескакивает на -180 градусов, при достижении угла транспортного средства в 180 гр. Эта опция может быть использована для функции автоматической сигнализации крена.
  • pitch - согласно продольному крену ТС. Он перескакивает на -180 градусов, при достижении угла транспортного средства в 180 гр. Эта опция может быть использована для функции автоматической сигнализации крена.
  • throttle1 - в зависимости от положения рычага (или педали) "газа" первого двигателя воздушного ТС. Опция может использоваться для привода механических деталей двигателя. Допустиме число таких аниматоров - до 8 штук (throttle1, throttle2... и до throttle8).
  • rpm1 - в зависимости от оборотов первого двигателя воздушного ТС. Опция может использоваться для привода механических деталей двигателя. Допустиме число таких аниматоров - до 8 штук (rpm1, rpm2 и до rpm8).
  • aerotorq1 - в зависимости от мощности первого двигателя воздушного ТС. Отмечу, что это работает только на винтовых двигателях, так как понятие крутящего момента не относится к реактивным двигателям. Допустиме число таких аниматоров - 8 штук (aerotorq1, aerotorq2... и до aerotorq8).
  • aeropit1 - когда первый двигатель воздушного ТС изменяет положение относительно поперечной оси. Отмечу, что это работает только на винтовых двигателях. Допустиме число таких аниматоров - до 8 штук (aeropit1, aeropit2, и до aerotorq8).
  • aerostatus1 - при Вкл./Выкл./Форсаже первого двигателя воздушного ТС. Допустиме число таких аниматоров - 8 штук (aerostatus1, aerostatus2... и до aerostatus8).
  • brakes - во время торможения автомобиля. Актуально для привода педали тормоза.
  • accel - при разгоне автомобиля. Актуально для привода в движение педали "газа".
  • clutch - при работе сцепления автомобиля. Актуально для привода педали сцепления.
  • speedo - в зависимости от показаний спидометра. Актуально для привода прибора спидометра. (Это полезно даже при отсутствии самодельных панелей приборов; упрощает многие регулировки).
  • tacho - в зависимости от показаний тахометра. Актуально для привода прибора тахометра. (Это полезно даже при отсутствии самодельных панелей приборов; упрощает многие регулировки).
  • turbo - в зависимости от давления (PSI) турбокомпрессора. Актуально для привода манометра наддува.
  • parking - в зависимости от активизирования стояночного тормоза. Актуально для привода рычага стояночного тормоза.
  • shifterman1 - в зависимости от активизирования влево или вправо рычага переключения передач по принципу "H" (задняя | 1-2 | 3-4 | 5-6...11-12 все позиции масштабируются в зависимости от максимального числа передач в разделе engine). Актуально для передвижения рычага влево-вправо механических КПП.
  • shifterman2 - в зависимости от активизирования вперед или назад рычага переключения передач по принципу "H" вперед/назад (для: задняя-2-6-8-10-12 верхнего ряда и 1-3-5-7-9-11 для нижнего ряда позиций)
  • sequential - в зависимости от активизирования рычага с последовательном переключением секвентальных и полуавтоматических КПП "tiptronic". Может быть использован и для других команд (не ограниченные пределы работы).
  • shifterlin - в зависимости от активизирования рычага селектора автоматической коробки передач и индикатора диапазона.
  • torque - для создания влияния крутящего момента на кузов автомобиля. Полезно для помощи силы armnode (реактивное усилие, передающееся с подвески на корпус, устанавливаемое в характеристиках каждого колеса).
  • difflock - в зависимости от активизирования рычага блокировки дифференциалов (только для автомобилей, оснащенных блокируемыми дифференциалами).
  • rudderboat - в соответствии с рулевой гидравликой на водных ТС.
  • throttleboat - в зависимости от положения "газа" на водных ТС.
  • vis - визуально видимый аниматор. Он не обязателен, но может помочь юзерам видеть его работу.
  • inv - визуально невидимый аниматор.

Замечу, что:

  • Все опции должны быть подключены к аниматору при помощи вертикального слэша "|", смотрите пример снизу чтобы правильно понять как всё делается. Вы можете совмещать различные действия на одном аниматоре (через вертикальный слэш: airpseed | vvi | inv), но злоупотреблять не стоит, а то действия аниматора станут очень странными.
  • Все аниматоры масштабируются по умолчанию от минимальной длины до максимальной (-1/+1). Используйте настройки масштабирования чтобы получить нужный диапазон работы аниматора.
  • Скорость и сила действия аниматора НЕ регулируется, хотя вы можете изменять скорости при помощи системы рычагов, приводимых в действие аниматором (чем больше рычаг - тем медленнее узел будет двигаться).
  • Чтобы настроить аниматор, зависящий от крутящего момента, установите его чтобы он просто работал против жёсткости амортизатора.
  • Аниматоры могут использовать возможности регулировки инерции гидравлики set_inertia_defaults. Инерция очень помогает сгладить резкие движения аниматоров, переключающих рычаги, педали, воздушные тормоза и т.д.
animators
;node1, node2, factor, options
    32,    26,  0.09, shifterlin | inv
     5,    27,   0.1, accel | inv
     5,    28,   0.1, brake | inv
     5,    29,   0.1, clutch | inv
    36,    41,  -0.4, speedo | inv
;this one is visible
    49,     3,  -0.9, torque | vis
 
;this one is visible and has a short and a longbound limit
    49,     3,  -0.25, roll | vis | shortlimit: 0.02 | longlimit: 0.05


ПРИВОДЫ

Ниже перечисленные разделы организуют дополнительные возможности для поведения ТС: дополнительную гидравлику и дополнительные возможности для привода в движение различных узлов.

Дополнительная гидравлика (commands)

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

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • Rate of extension/contraction - скорость втягивания/вытягивания луча гидравлики.
  • Maximum contraction - минимальная длина луча, меньше которой луч не сожмется.
  • Maximum extension - максимальная длина луча, больше которой луч не растянется.
  • Contraction key - название клавиши (или комбинации клавиш), при нажатии которой луч сжимается (см. ниже раскладку клавиатуры).
  • Extension key - название клавиши (или комбинации клавиш), при нажатии которой луч растягивается
  • Option flag (опции):
    • "i" луч невидим.
    • "r" - тянущий луч одностороннего действия, свободно позволяет себя сжимать до нуля, но прочный при растяжении (как трос или веревка в лебедках).
    • "n" - толкающий луч одностороннего действия, свободно позволяет себя растянуть до бесконечности, но прочный при сжатии (как жидкость в ёмкости).
  • Description (по желанию) - текстовое описание действий, которые производит данный луч. Не обязательно располагать это вначале раздела, можно делать пометки в любом месте синтаксиса (см. пример ниже).
commands
;id1, id2, rate, short, long, keys, keyl, options description
 10,  91,  0.1,  1.0,   7,    1, 2, i, Death_machine
 12,  93,  0.1,  1.0,   7,    1, 2, i
 14,  90,  0.1,  1.0,   7,    1, 2
 16,  92,  0.1,  1.0,   7,    1, 2
 114, 122, 0.2,  1.0,   19,   3, 4
 115, 123, 0.2,  1.0,   19,   3, 4, n, Happy_butterfly_wings
 126, 132, 0.1,  0.1,   1.0,  5, 6, r

Это - клавиши по умолчанию (первый параметр - общий порядковый номер для комбинации клавиш, потребуется в следующем разделе):

  • 1 = F1
  • 2 = F2
  • 3 = F3 и т.д.
  • 12 = F12
  • 13 = CTRL+F1
  • 14 = CTRL+F2 и т.д.
  • 24 = CTRL+F12
  • 25 = ALT+F1
  • 26 = ALT+F2 и т.д.
  • 36 = ALT+F12
  • 37 = CTRL+ALT+F1
  • 38 = CTRL+ALT+F2 и т.д.
  • 48 = CTRL+ALT+F12

Замечу, что некоторые команды и комбинации клавиш задействованы в управлении операционной системы, такие, как "ALT+F4" - закрывает окно в Windows. Поэтому следите, чтобы подобных комбинаций клавиш у вас небыло.


Дополнительная гидравлика2 (commands2)

Этот раздел аналогичен разделу "commands, но имеет отличия:

  • Различные принципы для сжатия и разжатия.
  • Возможность работы с несколькими опциями.
  • Новые типы опций.

Допустимые параметры:

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • Shortening rate - скорость сжатия..
  • Lengthening rate - скорость разжатия.
  • Maximum contraction - минимальная длина в сжатом состоянии.
  • Maximum extension - максимальная длина в разжатом состоянии.
  • Shortening key - номер клавиши клавиатуры, которой управляется луч на сжатие. Может управляться несколькими клавишами клавиатуры (см. раскладку клавиатуры).
  • Lengthening key - номер клавиши клавиатуры, которой управляется луч на разжатие.
  • Option flag(s) (опции) - "n","i" и"r" по прежнему доступны.
    • n - ничего не делает, не активен.
    • i - делает луч невидимым.
    • r - луч начинает вести себя как веревка или трос, не сопротивляется сжатию.
    • c - автоматический возврат луча к исходной длине, когда клавиша клавиатуры отпущена.
    • f - остановка команды движения, если обороты двигателя повышаются.
    • p - контроллируемое движение. Нажатием на клавишу для сжатия или разжатия, луч начинает сжиматься или разжиматься до минимального или максимального ограничения длины. При повторном нажатии на эту же клавишу, он прекращает начатое движение.
    • o - подобно p, но это будет остановка в центральном положении.
  • Description (описание) - говорит пользователю что будет происходить при нажатии какой-либо клавиши.
commands2
;id1, id2, rateShort, rateLong, short, long, keys, keyl, options Description
61, 113, 0.1, 0.5, 1.0, 4, 1, 2, of
62, 112, 0.1, 0.5, 1.0, 4, 1, 2, onf desc

Note:

  • вы можете смешивать команды из "commands" и "commands2" в зависимости от того, что вы хотите. Например:
commands2
;id1, id2, rateShort, rateLong, short, long, keyS, keyL, options description
61, 113, 0.1, 0.5, 1.0, 4, 1, 2, of
62, 112, 0.1, 0.5, 1.0, 4, 1, 2, onf Boom
 
commands
116,124,0.1,1.0, 2.6,   3, 4
117,125,0.1,1.0, 2.6,   3, 4, n Underlift
 
commands2
;id1, id2, rateShort, rateLong, short, long, keys, keyl, options Description
136,116, 0.4,4.4,1.0, 10, 5,6
136,117, 0.4,4.4,1.0, 10, 5,6


Ведущая команда (forwardcommands)

При подъезде тягача к прицепу-трейлеру ближе 3-х метров, прицеп становится активным и вы можете управлять подъемом или опускание его на опорных лапах. Ведущая команда - это команда от нажатия клавиш во время подъезда грузовика к прицепу-трейлеру. Это используется для дистанционного управления прицепом командами с тягача. Прицеп должен при этом иметь принимающий такие команды раздел "importcommands" (см. ниже).

forwardcommands

Ведомая команда (importcommands)

Этот раздел - принимающий команды с подъезжающего к приценпу грузовика вплотную и должен находиться в файле прицепа. Контроллирующее транспортное средство при этом должно иметь раздел "forwardcommands" (см. выше).

importcommands


Автоматическая гидравлика, триггеры (triggers) для ROR v. 0.38.18 и выше

Requires
0.38.18
or later

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

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

Как это обеспечивается? Это обеспечивается двумя новыми параметрами ('contraction trigger limit и extension trigger limit), котоыре являются порогами срабатывания. Оба порога располагаются в двух местах на длине луча. Первый порог срабатывания активизируется при укорачивании триггера, второй - при растяжении. Движение триггера между ними является нейтральным и триггер не работает. При проходе одного из порога срабатывания, активизируется команда, аналогичная нажатию кнопки на клавиатуре. Напротив этого параметра (short key и long key) вы должны установить порядковый номер клавиши (или комбинации клавиш) клавиатуры.

ВНИМАНИЕ: допустимое максимальное число триггеров - не более 47-48 (48-я команда иногда может привести к глюкам).

Допустимые параметры:

  • Node 1 - порядковый номер (или имя) первого опорного узла.
  • Node 2 - порядковый номер (или имя) второго опорного узла.
  • contraction trigger limit - минимальная длина срабатывания триггера.
  • extension trigger limit - максимальная длина срабатывания триггера.
  • short key - число, порядковый номер комбинации клавиш с клавиатуры (см. раздел "Дополнительная гидравлика (commands)"), представляющее вызов команды на сжатие (0-48), избегайте 48 команды, если её наличие ведет к ошибкам в командах (в текущей версии 0.38.18 +)
  • long key - число, порядковый номер комбинации клавиш с клавиатуры (см. раздел "Дополнительная гидравлика (commands)"), представляющее вызов команды на растяжение (0-48), избегайте 48 команды, если её наличие ведет к ошибкам в командах (в текущей версии 0.38.18 +)
  • Option flag (опции):
    • "i" - триггер невидим.
    • "c" - shortbound - рассчет множества порогов срабатывания в стиле амортизатора (для удобства)
    • "х" - установка триггера отключенным при начале движения (по умолчанию - включено), становится бесполезными после первой активации триггер-блокиратора
    • "б" - блокирует команды клавиатуры, сжатие до минимальной длины и разжатие до максимальной длины. Если разжатие имеет значение "-1", сжатие будет заблокировано на минимальной длине и на максимальной длине. Это не блокировка ручного ввода пользователя, просто триггер.
    • "B" - блокирует другие триггеры при срабатывании. Номер в "shortkey" обозначает количество триггеров для блокировки при сжатии; номер в "longkey" - количество триггеров для свободного разжатия.
    • "A" - то же, что блокиратор "B", но - обратного действия. Будет ли блок в то время как между минимальной длиной и максимальной длиной числа триггеров "shortkey" и активация, если нет параметра "longkey". (RoR 0.38.23 +)

"s" - переключатель между номерами команд при срабатывании самих команд, установленных в shortkey и longkey. Актуально для создания дворников или аналогичных им (см. примеры)

Для ROR v. 0.38.26 и выше:
Requires
0.38.26
or later

Можно использовать триггеры для зацепления или расцепления группы крюков (только для 3-х группп и более):

    • "h" - расцепляет hookgroups при команде shortkey на укорачивание и при команде longkey - на удлинение. НЕ пытайтесь переключать commandnumbers с этим триггером.
    • "H" - сцепляет hookgroups при команде shortkey на укорачивание и при команде longkey - на удлинение. НЕ пытайтесь переключать commandnumbers с этим триггером.
    • "boundarytimer" - время расчета границ для триггера (опция "s" ) во избежания блокировки. Опционально. По умолчанию - 1.0 секунда.
triggers
;id1, id2, short, long, shortkey, longkey, options
; Триггер между узлом 11 и 109 срабатывание commandkey 13 ( ctrl-F1) в то время как shortbound -10% от оригинальной длинны
; и commadkey 14 (ctrl-F2) когда в +10% от оригинальной длинны
  11, 109,  0.100,  0.100, 13, 14
 
; тригер между используемыми shock границ, делает тоже самое что и один из приведенных выше
  11, 109,  0.900,  1.100, 13, 14, c
 
; триггером заблокирован запуск, должен быть освобожден triggerblocker(блокировщик триггера) единожды, чтобы продолжить работать как обычный триггер
; годный для простого программирования роботов
  11, 109,  0.900,  1.100, 13, 14, x
 
; триггеры особых случаев: cmdkeyblocker, triggerblocker, triggerswitch
; commandkeyblocker блокирует commandkeys когда запущен, 15 (ctrl-F3) на shortbound и 16 (ctrl-F4) на longbound.
; Это включает в себя блокировку ручного ввода пользователем
  11, 109,  0.900,  1.100, 15, 16, b
 
; commandkeyblocker блокирование одного commandkey когда запущен, 15 (ctrl-F3) на shortbound и на longbound. Это включает в себя блокировку ручного ввода пользователем
  11, 109,  0.900,  1.100, 15, -1, b
 
; triggerblocker блокирует следующие триггеры от проверки, блокируя 5 на shortbound и выпуск 4 на longbound, 
; В большинстве случаев он будет блокировать и освобождать тоже количество триггеров, но это хорошо для программирования роботов, установить отдельные суммы в некоторых случаях.
  11, 109,  0.900,  1.100, 5, 4, B
 
; triggerswitch переключает commandkeys когда запущен,также для данных вводимых пользователем,  переключит F1 на F2 и наоборот каждый раз когда он попадает на короткий или longbound,
;  запуск таймера установлен на 1 секунду по умолчанию, прежде чем он может быть запущен снова.
  11, 109,  0.900,  1.100, 1, 2, s
 
; triggerswitch переключает commandkeys когда запущен,также для данных вводимых пользователем,  переключит F1 на F2 и наоборот каждый раз когда он попадает на короткий или longbound,
; запуск таймера установлен на 3 секунды.
  11, 109,  0.900,  1.100, 1, 2, s 3.0


Инерция гидравлики (inertia) для ROR 0.36.2 и выше

Requires
0.36.2
or later

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

commands2
;id1, id2, rateShort, rateLong, short, long, keyS, keyL, options description startDelay, stopDelay, startFunction stopFunction
115,123,0.1,1.0, 19,3, 4,n,First_Joint 0.5,0.5, smoothcrane revprogressiv
127,133,0.1,1.0, 10.5,   5, 6, n, Second_Joint 0.7,0.5, smoothcrane revprogressiv
137,147,0.1,1.0, 10.5,   7, 8, n, Third_Joint 0.7,0.5, smoothcrane revprogressiv
143,148,0.05,0.5, 2.0,9,10,n,Extremity_Joint 0.7,0.5, smoothcrane revprogressiv

  • startDelay - задержка после команды начала движения
  • stopDelay - задержка после команды остановки движения
  • startFunction - график прогрессии (увеличение) скорости движения после команды начала движения (см. картинку различных графиков)
  • stopFunction - график регрессии (уменьшение) скорости движения после команды остановки движения (см. картинку различных графиков)

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

InertiaModels.png

Расшифровка графиков:

  • 1. Мгновенный набор и поддержание установленной скорости. Актуально для лёгких манипуляторов (опоры трейлеров).
  • 2. Линейная прогрессия набора скорости. Актуально для не массивных манипуляторов лёгких кранов.
  • 3. Нелинейная прогрессия с быстрым набором первоначальной скорости и плавное приближение к максимальной. Актуально для лёгких манипуляторов, где требуется точность управления ближе к максимальным скоростям движения манипулятора.
  • 4. Медленное повышение скорости, прогрессирующее ближе к максимальным значениям. Актуально для массивных манипуляторов, таких как тяжелые стрелы кранов и поворот тяжелой башни крана.
  • 5. Прогрессивное повышение скорости и плавное приближение к максимальной скорости. Актуально для массивных стрел и тяжелых башен кранов, где требуется точность управления.
  • 6. Регрессивное понижение скорости. Актуально для прекращения движения массивных стрел и поворота башен тяжелых кранов.
  • 7. Пример сложного графика.


Поворачиватели (rotators)

Поворачиватели - раздел, похожий на гидравлику (hydros), который организует вертушки аналогично поворот башни экскаваторов, кранов, танков и т.д. В основе поворачивателя должны лежать 10 узлов:

  • 2 узла, составляющие ось поворачивателя
  • 4 узла (должны представлять площадку с осью в центре) чтобы создать опорную плиту
  • 4 узла (должны представлять площадку с осью в центре) чтобы создать поворотную плиту

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

Расположение узлов базовой и поворотной плит должны соответствовать друг другу. То есть если вы при заполнения раздеда перечисляете узлы базовой плиты один за другим напримепр по часовой стрелке, это значит, что узлы поворотной плиты так же должны перечисляться друг за другом в соответствии с их расположением по часовой стрелке (см. пример на картинке)! Обе плиты должны быть идентичны!

rotators
;axis1, axis2, a1, a2, a3, a4,   b1, b2  b3, b4, rate, keyleft, keyright
29,     30,    31, 32, 34, 33,   37, 38, 36, 35, 0.1,  1,       2
Rotators.jpg


Поворачиватели2 (rotators2)

Requires
0.38.23
or later

В данном разделе используются те же параметры, что и в разделе rotators, однако имеется отличие в дополнительных опциях, что позволяет создавать лёгкие вертушки. Доступные параметры:

  • Force: мощность поворота (по умолчанию установлено 10000000)
  • Tolerance: антиджиттер-параметр для лёгких вертушек (по-умолчанию: 0.0). Повышайте осторожно чтобы сделать движение поворачивателя стабильными.
  • Description: описание, которое отоброжается в t-экране (?).
rotators2
;axis1, axis2, a1, a2, a3, a4,   b1, b2  b3, b4, rate, keyleft, keyright, force, tolerance, description
29,     30,    31, 32, 34, 33,   37, 38, 36, 35, 0.1,  1,       2, 1000000, 0.025, Superstructure_left/right


РЕГУЛИРУЮЩИЕ СТРОКИ (для очень крутых юзеров)

Регулирующие строки устанавливаются в те разделы, где требуется отрегулировать параметры больших групп узлов или лучей и сделать их различными. Чтобы не тратить время для установки одного и того же параметра для 10, 50 или 100 лучей или узлов, а тем более не мучаться с изменением этих параметров при тестировании ТС, достаточно определить их регулдировки единой строкой. К примеру вы делаете сначала кабину, потом делаете шасси. Так как все лучи кабины в файле перечислены один за другим, то для лучей кабины вы ставите более "мягкие" параметры прочности, а для группы лучей шасси, которые, к примеру, идут после списка лучей кабины, вы устанавливаете более "жесткие" параметры.

Примечания:

  • В отличие от разделов, количество регулирующих строк в файле может быть любым.
  • Действие регулирующей строки распространяется для всех узлов или лучей, перечисленных после неё.
  • Действие регулирующей строки можно прекратить дублированием её заголовка с параметрами, равными "-1". Как конкретно заканчивать данный тип строки, будет сказано в описании каждой строки (см. ниже).

Варианта установки строк два:

  • Вы можете вставить в файл регулирующую строку, а в конце группы лучей или узлов прекратить её действие. Тогда все последующие узлы или лучи будут иметь параметры по умолчанию.
  • Вы можете вставить в файл регулирующую строку, но в конце группы лучей или узлов не прекращать её действие, и все последующие узлы или лучи будут иметь параметры этой строки.

Изменение параметров инерции гидравлики (set_inertia_defaults)

Это регулировочная строка для индивидуальной регулировки одного или группы лучей гидравлики аниматоров, вспомогательной гидравлики или поворачивателей, если вы хотите сделать различия в инерции одного или группы лучей гидравлики. Регулирует параметры всех лучей (или групп лучей) Hydros (гидравлика) Animators (аниматоры), Commands (вспомогательная гидравлика), Commands2 (вспомогательная гидравлика2) и Rotators (поворачиватели).

  • Строка может быть вставлена в любом месте данного файла, в вышеперечисленных разделах.
  • Регулировкам строки подчиняются только те лучи или группы лучей, перечисленные после этой строки.
  • В конце группы лучей, регулируемых этой строкой, ставится закрывающая строка "set_inertia_defaults -1", если нужно чтобы следующая группа лучей имела иные регулировки или регулировки по умолчанию.
;set_inertia_defaults startDelay, stopDelay, startFunction stopFunction
set_inertia_defaults 0.5, 0.5, smoothcrane revprogressiv
...
set_inertia_defaults 0.7,0.5, smoothcrane revprogressiv
...
;сброс параметров:
set_inertia_defaults -1

Регулировка характеристик лучей (set_beam_defaults)

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

  • Строка может быть вставлена в любом месте данного файла, в разделах "Beams" (лучи) и "Cinecam" (камеры), Hydros (рулевое управление), Commands (вспомогательная гидравлика), Commands2 (вспомогательная гидравлика2).
  • Регулировкам строки подчиняются только лучи, перечисленные после этой строки.
  • В конце группы лучей, регулируемых этой строкой, ставится закрывающая строка "set_beam_defaults_scale -1, -1, -1, -1", если нужно чтобы следующая группа лучей имела иные регулировки или регулировки по умолчанию.

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

  • Springiness - упругость материала Чем выше значение - тем выше упругость лучей (параметр по умолчанию = 9000000)
  • Damping constant - демпфирующее свойство материала (параметр по умолчанию = 12000)
  • Deformation threshold constant - максимальная сила начала деформации - максимальная сила, приложенная к лучу, при которой он изменяет свою длину, но не возвращается к своему исходному размеру (параметр по умолчанию = 400000)
  • Breaking threshold constant - максимальная сила, приложенная к лучу, при которой он сломается (параметр по умолчанию - 1000000)
  • Beam diameter (по желанию) - визуальный диаметр оси луча в метрах. Используется только для визуального оформления луча. Параметр не влияет на распределение масс и на поведение транспортного средства. Параметр по умолчанию = 0.05.
  • Beam material (по желанию) - материал луча (по умолчанию - "tracks/beam").
  • Plastic deformation coefficient (по желанию) - коэффициент пластической деформации. Допустимый диапазон регулировки = 0.0 - 1.0. Детально этот параметр описан ниже. Параметр по умолчанию = 0.0.

Plastic-strain ratio (r-value) — Коэффициент пластической деформации (r-величина). В испытании металлов на деформируемость, отношение истинного удлинения к сужению в испытаниях на растяжение листа, r = εwεt. Параметр деформируемости, касающийся волочения, называют фактором анизотропии. Высокое значение r-величины указывает, что материал обладает хорошей способностью к вытяжке. (Источник: «Металлы и сплавы. Справочник.» Под редакцией Ю.П. Солнцева; НПО "Профессионал", НПО "Мир и семья"; Санкт-Петербург, 2003 г.)


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

set_beam_defaults -1, -1, -1, -1

Будьте осторожны: для лёгких шасси чрезмерная мощность параметра Springiness может привести к резонансным колебаниям в конструкции и её последующему разрушению. Для легких шасси снижайте мощность упругости материала и регулируйте параметр Damping constant.

Следует помнить, что установленные параметры по умолчанию сделаны для устойчивости конструкции от собственных колебаний, поэтому автмообиль при падении с горы будет очень жёстким и не будет деформироваться. Отсутствие текстуры лучей может сделать ROR нестабильной. Регулировки параметров для автомобилей:

; syntax is set_beam_defaults spring, damping, deform, break, diameter, material
set_beam_defaults 3000000, 10000, 100000, 250000, 0.02, tracks/beamblack
Если вы хотите оставить высокую прочность шасси, то сделайте:
beams

;регулировки для рамы, подвески, где требуется высокая жесткость материала 1,2 2,3 ... 3,4 ;мягкие регулировки прочности для кабины set_beam_defaults 3000000, 10000, 100000, 250000 5,6 6,7 ... ;окончание действия регулировочных подразделов (например для гидравлики) set_beam_defaults -1, -1, -1, -1

...

Если вы хотите, чтобы что-то хорошо деформировалось (как для flexbody компонентов), используйте эти настройки для группы лучей, котоыре вы хотите деформировать вместе enable_advanced_deformation для создания самых лучших деформируемых деталей:

;set_beam_defaults spring, damping, deform, break, diameter, material, deform_coef
set_beam_defaults 3000000, 10000, 100000, 250000, 0.02, tracks/beamblack, 0.9

Примечания:

  • Коэффициент пластической деформации = 0.0 по умолчанию (эластичная деформация). Отрегулировав его по вашему усмотрению, вы можете отрегулировать деформацию лучей как вам потребуется. Допустимые значения 0.0 - 1.0 (не превышайте этих значений!).
  • Коэффициент пластической деформации, установленный на 0.0 соответствует стандартному лучу начиная с RoR 0.36.2 (относительно упругие). Параметр 1.0 близок к максимальной пластической деформации, который был вычислен экспериментальным экспериментальным разделом "enable_advanced_deformation".
  • Никогда не устанавливайте параметр повреждения луча Breaking threshold constant ниже, чем параметр Deformation threshold constant, это приведет луч к разрушению как только он начнет деформироваться!

Масштабирование регулировок лучей (set_beam_defaults_scale)

Requires
0.37.92
or later

Это регулировочная строка для индивидуальной регулировки одного или группы лучей:

  • Строка может быть вставлена в любом месте данного файла, в разделах "Beams" (лучи) и "cinecam" (камеры).
  • Регулировкам строки подчиняются только лучи, перечисленные после этой строки.
  • В конце группы лучей, регулируемых этой строкой, ставится закрывающая строка "set_beam_defaults_scale -1, -1, -1, -1", если нужно чтобы следующая группа лучей имела иные регулировки или регулировки по умолчанию.

Допустимые параметры (где 0 = 0%, а 1 = 100%), в которых по умолчанию характеристики равны "1":

  • Springiness - масштабирование параметра силы упругости (0...1)
  • Damping constant - масштабирование параметра силы демпфирования (0...1)
  • Deformation threshold constant - масштабирование параметра силы деформации (0...1)
  • Breaking threshold constant - масштабирование параметра силы поломки луча (0...1)
set_beam_defaults_scale 1, 1, 1, 1

Пример как масштабируется сила упругости до 50% от установленного ранее показателя:

set_beam_defaults_scale 0.5, 1, 1, 1

Примите к сведению:

  • В отличие от set_beam_defaults, вы всегда должны заполнить все четыре параметра (игнорировать ни один нельзя).
  • Результаты масштабирования регулировок лучей (разделом "set_beam_defaults") будут отображаться в файле RoR.log в виде сообщения "Благодаря использованию set_beam_defaults_scale, это set_beam_defaults было интерпретировано как ...".

Регулировка узлов (set_node_defaults)

Это регулировочная строка для индивидуальной регулировки одного или группы узлов:

  • Строка может быть вставлена в любом месте данного файла, в разделах "Nodes" (узлы) или "Nodes2" (узлы2) и перед всеми разделами колёс.
  • Регулировкам строки подчиняются только узлы, перечисленные после этой строки.
  • В конце группы узлов, регулируемых этой строкой, ставится закрывающая строка "set_node_defaults -1, -1, -1, -1", если нужно чтобы следующая группа имела иные регулировки или регулировки по умолчанию.

Допустимые параметры:

  • loadweight - масса по умолчанию, применяемая к узлу. Будет отменена при наличии опции "L". Добавляет индивидуальнгую массу на все узлы. Не подвержен рассчету раздела minimass (описание см. ниже). По умолчанию параметр = 0.
  • friction - коэффициент трения узла. По умолчанию = 1.0. Создает сопротивление движению автомобиля в грязи, воде; регулирует сцепление узлов колёс и корпуса с землей. Полезен для создания грязевой резины с высоким сцеплением протектора.
  • volume - коэффициент плавучести узла, определяющий объем сжатого воздуха в закрытой полости. Работает только при помещении узла в воду. По умолчанию параметр = 1.0. Полезен для создания грязевых покрышек, плавучести лодок.
  • surface - коэффициент узла, определяющий площадь поверхности тела. Данный узел способен "цепляться за воду". Работает только при помещении узла в воду. По умолчанию параметр = 1.0. Полезен для гребных винтов и т.д.
  • options - опции всех устанавливаются по умолчанию. Вам не нужно устанавливать опцию "L", если loadweight установлен по умолчанию.

Важно: объем плавучести и настройки сопротивления поверхности работают только в грязи (определяются в groundmodels.cfg, в настройках грязи) но не работают со стандартной водой RoR.

Используйте завершающие параметры в виде "-1":

set_node_defaults -1, -1, -1, -1

Будьте осторожны:

  • Слышком высокие показатилеи трения (friction), объема (volume) и площади поверхности (surface) может привести к потере устойчивости узлов в конструкции ТС при движении по грязи.
  • Если колеса и (или) корпус автомобиля взрываются при съезде с твердой почвы в грязь, снизьте параметры трения (friction) и / или настройте плавучесть узлов (volume и surface).
  • Если конструкция колес разваливается когда машина едет в грязи, снизьте объем (volume) и (или) снизьте площадь поверхности узлов (surface).
; syntax is set_node_defaults loadweight, traction, buoyancy, surface
;пример для узлов грязевой резины --> нет массы на узлах / повышенное трение / высокая плавучесть /...
;.../ высокое сопротивление поверхности / установлен дополнительный опциональный параметр увеличения плавучести (см. раздел '''"Узлы"''')
set_node_defaults -1, 1.1, 5, 1.25, b
 
;пример для узлов шасси с массой узла 5кг --> повышенное трение / отсутствие плавучести / более высокое сопротивления площади поверхности
set_node_defaults 5, 0.5, 0, 2
 
;пример для гусеничных траков массой узла 50 кг --> высокое сцепление / низкая плавучесть / небольшая площадь поверхности
set_node_defaults 50, 1.2, 0.3, 0.5
 
;пример гребного колеса парохода с массой узла 75 кг --> нет сцепления / нет плавучести / высокое поверхностное сопротивление
set_node_defaults 75, 0, 0, 3
 
;отключение настроек в конце группы узлов:
set_node_defaults -1, -1, -1, -1, c

Обновленная опция узлов "L" поможет понять и использовать регулировочную строку use set_node_defaults , опция "p" на узлах поможет увеличить количество FPS (кадров в секунду) на маломощных компьютерах (см. nodes)


ПРОЧИЕ МЕЛОЧИ

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

Продвинутая система деформаций (enable_advanced_deformation)

Эта строка должна быть использована только один раз для активации продвинутой системы вычислений деформаций лучей. Может быть расположена в любом месте файла и подчиняет себе все лучи, расположенные ниже этой строки. Enable_advanced_deformation следует устанавливать до первого раздела узлов. Просто ставим:

enable_advanced_deformation

Наличие этой строки приведет к удалению каких-либо ограничений и порогов из set_beam_defaults. Её рекомендуется использовать для развития правильной деформации каркаса скелета узло-лучевой конструкции скелета flexbody.


Контакт колеса с деталями автомобиля (rollon)

Результатом наличия этого раздела становится то, что колёса начинают контактировать с деталями корпуса своего же автомобиля, если окружающие колесо детали деформировались, изменили своё положение или отвалились. Просто ставим:

rollon

Контактеры (contacters)

Раздел контактеры организует те узлы, которые должны контактировать с ближайшим к ним лучём. Контактеры - это узлы, которые скользят вдоль самого ближнего к ним луча. Контактеры принадлежать к конструкциям, которые должны двигаться вдоль какой-то другой конструкции. Например они используются в телескопических стрелах мобильных кранов. Вобщим контактеры ныжны для создания теолескопических и других движущихся конструкций, где требуется привязать точку к траектории луча. О создании такой конструкции вы можете почитать в разделе: [1]

contacters
34
18
20
22
24
26
28
30
32

Группы узлов для зацепления (lockgroups)

Requires
0.38.26
or later

Этот раздел определяет группу узлов, к которым цепляются группы крюков (следующий раздел hooks). Он должен располагаться ПОСЛЕ раздела nodes.

Lockgroup по умолчанию = 1, все узлы могут быть зацеплены стандартными крючками без каких-либо специального набора группы крюков.

Важно:

  • Special lockgroup - параметр 9999 - пропустить узел из числа тех, которые подлежат зацеплению крюками.
  • POSITIVE - свободны в использовании, отрицательный диапазон зарезервирован для RoR и создан для стандартных установок зацепления.
lockgroups
;lockgroup, nodeID
; node 5 added to lockgroup 1
1, 5
;nodes 6, 7, 9 added to lockgroup 2
2, 7, 6, 9

Вариант прироста производительности (должен располагаться ПОСЛЕ раздела nodes):

lockgroup_default_nolock

Это позволит установить все узлы до 9999 (исключая зацепление) на грузовике по умолчанию.

  • Любые виды регулировок (lockgroups) этот раздел перекрывает.
  • Позволяет точно определить, где стандартные крючки можно заблокировать, чтобы ваш грузовик и повысить производительность много, когда автоблокировки крючки используются.

Примечание: рекомендуется использовать эту опцию по умолчанию.

Примечание переводчика: смысл некоторых параметров не ясен из-за скудного описания, читайте оригинал: Lockgroups

Крюки (hooks) для ROR 0.38.26 и выше

Данный раздел определяет подробно узлы-крюки для зацепления чего-либо чем-либо (крюки кранов, эвакуаторов и т.д.). Раздел hooks должен располагаться ПОСЛЕ раздела nodes.

Requires
0.38.26
or later
  • id - номер узла (или имя в случае с nodes2), для которого будут применяться данные опции. номер узла должен быть, и он должен быть помечен опципей "h"
  • options - возможности узла. Можно устанавливать в любом порядке. Список опций:
    • hookrange - радиус (видимо в метрах), в границах которого будет произведено сцепление крюка с узлом, позволяющим сцепление, если будет подана команда с клавиатуры. Параметр по умолчанию = 0.4.
    • speedcoef - скорость, с которой крюк в момент сцепления подтягивает к себе ответный узел. Параметр по умолчанию = 1.0.
    • maxforce - сила (на разрыв), при превышении которой сцепление будет автоматически переведено в расцепление. Параметр по умолчанию = 100000000.0.
    • hookgroup - группа из нескольких крюков, к которой принадлежит данный крюк. Стандартный крюк имеет параметр = -1 по умолчанию. Параметр для автоматического сцепления = -2, специальные крюки, управляемые триггерами = -3. Параметры следует указывать только в виде целых чисел.
    • lockgroup - группа из нескольких крюков, вместе с которой крюк производит зацепление (груза). Параметр зацепления группы крюков = -1 (по умолчанию). Все остальные номера крюков сцепляются только к узлу с тем же параметром группы крюков. Параметры следует указывать только в виде целых чисел.
      • Параметр 9999 используется для группы крюков, которые пропускаются в момент сцепления. НЕ ИСПОЛЬЗУЙТЕ параметр 9999 для одного крючка.
    • timer - параметр временной задержки сцепления автоматических крючков, по умолчанию = 5.0 (видимо в секундах (прим. переводчика)). В параметре следует указывать только положительные цифры.
    • self-lock - этот крюк для жесткого закрепления груза в кузове грузовиков.
    • auto-lock - автоматический крюк, автоматически зацепляющийся с соответствующим узлом, когда тот появляется в радиусе действия крюка.
    • nodisable - когда сила, установленная в параметре maxforce будет превышена, расцепления крюка не произойдет, но сжатие луча, тянущего на себя крюк, будет остановлено. Работа такого крюка похожа на затяжные ремни.
    • shortlimit - минимальная длина (в метрах) для крюка, который тянет узел для зацепления. Параметр по умолчанию = 0.0.
    • norope - связь между крюком и узлом будет жесткая, не как у веревки, а как у луча.
    • visible - связь между крюком и узлом будет видна как в момент зацепления, так и в момент сцепления.
hooks
;id, options
;стандартный крюк, увеличин радиус действия
 144, hookrange: 2.15
;тот же крюк, но сила расцепления снижена до 100 000
 145, hookrange: 2.15, maxforce: 100000
;триггированный крюк / замыкается на 50% быстрее / является автоматическим / задержка сцепления - 7,5 сек / ...
;... / принадлежит группе крюков №12 (для триггеров с опциями '''"h"''' и '''"H"''' )  / блокировка только с крюками группы №2
 146, speedcoef: 1.5, auto-lock, timer: 7.5, hookgroup: -12, lockgroup: 2

Стандартные крюки, помеченные опцией L, с автоподцеплением и триггерами, отключаются (расцепляются) при помощи комбинации клавиш ALT+L вручную.

Крюки из группы <-2 могут быть заблокированы автоматически, либо триггерами.

Отсоединяющиеся группы лучей (Detacher_group)

Requires
0.38.23
or later

Этот раздел организует некую группу лучей, которые будут удалены, если один луч в этой группе ломается. Эта группа лучей всегда невидима и устанавливается между группой узлов одной детали (например рама автомобиля), и группой узлов другой детали (например бампер автомобиля), которая при повышенных нагрузках на её крепления должна отсоединиться. Это полезно для слабых креплений, таких как крепления фар, бамперов, зеркал и т.д. Раздел detacher_group призван упростить процесс разъединения деталей чтобы вы не мучались с регулировкой прочности каждого крепления детали.

В detacher_group могут быть установлены все виды лучей кроме тех лучей, которые участвуют в генерировании осей колёс. Раздел колес всегда должен иметь характеристики "по умолчанию".

ВНИМАНИЕ: чтобы избежать удаления луча оси колеса, что приводит к ошибке программы и вылету игры, следите чтобы этот луч не попадал в список detacher_group.

Доступные заголовки групп: "detacher_group х" (где "х" - любое положительное целое число) - заголовок, после которого перечисляются один и более лучей, входящих в группу с данным номером. При поломке одного из лучей данной группы, ломаются все лучи группы с данным номером, а так же лучи группы с таким же номером со знаком "-" (см. ниже "detacher_group -х"). "detacher_group -х" (где "х" - любое отрицательное целое число) - заголовок, после которого перечисляются один и более лучей, входящих в группу с данным номером. При поломке одного из лучей данной группы, никакие другие лучи не ломаются. Лучи данной группы ломаются при поломке лучей в группах с таким же номером, имеющим положительное значение (см. выше "detacher_group х"). "detacher_group 0" - оконцовка действия группы перед списком лучей, не входящих в эту группу.

beams
detacher_group 1
 0,     1
detacher_group 0
 2,     4
 3,     5
detacher_group 1
 6,     8
 7,     9
 10,   12
detacher_group 2
 11,   13
detacher_group 0
 22,  14
detacher_group -1
 16,   17
detacher_group 0
  • detacher_group 1 - группа лучей ("0,1", "6,8", "7,9" и "10,12"), поломка одного из которых автоматически влечет за собой поломку всех остальных лучей в этой группе, а так же в группе detacher_group -1.
  • detacher_group -1 - лучи, которые относятся к группе лучей detacher_group 1 с одной лишь разницей, что их поломка НЕ реализует автоматическую поломку остальных лучей в группе detacher_group 1.
  • detacher_group 2 - группа лучей, поломка которых влияет на поломку всей данной группы лучей.
  • detacher_group 0 - оконцовка перечня каждой группы лучей, ниже которой все остальные лучи подчиняются своим собственным регулировкам по умолчанию.


Веревки (Ropes)

Веревки - специальные лучи, которые не имеют прочности на сжатие (они могут легко сокращаться под воздействием других сил), но имеют стандартные силу расширения, как кабель или цепь. У них есть еще одна особенность: второй (свободный) узел может "захватить" ближайший подцепляемый узел при нажатии клавиши "O". Обычно один из узлов располагается на корпусе ТС (на конце стрелы крана) в качестве первого узла, второй - "свободный" узел - в качестве второго узла, который не прикреплен к чему-либо ещё другими лучами. Лучшим примером этого являются цепи у грузовика "Multibennes".

Опция: i - невидимый луч (для ROR 0.38.18 и выше).

ropes
;order is important: root->end
116,134
130,136, i
116,135
130,137


Фикстированный узел (Fixes)

Фиксированные узлы используются для создания неподвижных объектов как мосты, дома и т.д. Узлы этого типа невозможно сдвинуть с места, что бы ни случилось.

fixes
2
3
12


Минимасса (Minimass)

Минимасса используется для узлов в легких транспортных средствах, где требуется большое число узлов со сверхнизкой массой, как напрмер самолеты. Этот параметр исчисляется в килограммах. Примечание: при использовании низких минимасс ниже 10 кг вы должны снижать прочность (параметры spring и damping) лучей, соединяющих такие узлы, при помощи регулировочной строки set_beam_defaults.

minimass
10.0

Стягиватели (Ties)

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

Допустимые параметры:

  • Номер узла, от которого стягиватель берет начало.
  • Максимальная длина стягивателя (в метрах).
  • Скорость автоматического сокращения.
  • Минимально возможная длина стягивателя (в метрах).
  • Максимально возможная длина стягивателя (в метрах). Рекомендуется устанавливать = 1.0.
  • (опционально): вы можете сделать стягиватель видимым (установлено по умолчанию) с опцией "n" или сделать его невидимым опцией "i".
  • (опционально): сила стягивания (в Ньютонах), когда процесс стягивания прекращается. По умолчанию = 12000.
ties
;root, max len, rate, short, long (, flag, maxforce)
58, 1.5, 0.5, 0.3, 1.0
62, 1.5, 0.5, 0.3, 1.0
59, 1.5, 0.5, 0.3, 1.0
63, 1.5, 0.5, 0.3, 1.0, n, 5000


Грузовой зацеп (Ropables)

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

В этом разделе перчисляются все узлы, выполняющие роль зацепа. Подобные узлы следует распределять в количестве минимум 4-х штук на корпусе груза, в верхней его части (выше центра тяжести): два в передней (слева и справа) и два в задней части (слева и справа). Располагайте зацепы только на жесткой несущей части груза (например рама автомобиля) и не располагайте зацепы на крыльях и бамперах! Оторвете - попадете на бабки! :D

Группы с несколькими крюками доступны начиная с версии ROR 0.36.3 (ранее можно было цеплять только один крюк). Примечание переводчика: не ясно чем этот раздел отличается от раздела lockgroup. Оригинал читайте по ссылке: Lockgroups

Допустимые параметры:

  • Группа (номер):
    • По умолчанию = -1 (все группы)
  • Multilock:
    • 0 - отключено
    • 1 - включено. Определяет будет ли этот зацеп цепляться веревками (ropes) и стягивателями (ties).
.
ropables
; node-id, group, multilock
0, 0, 0
1, -1

Частицы воды (Particles)

В этом разделе отключаются или включаются система вылетающих частиц воды в игре (используйте клавишу "G").

particles
;источник, обратная ссылка, название системы частиц
19, 5, tracks/particles/water1
19, 5, tracks/particles/waterGreen
16, 3, tracks/particles/water1
16, 3, tracks/particles/waterRed
(Вы можете создать свою систему частиц. Шаблон можно найти в: data/water.particle)


Усилитель расположения лучей (Rigidifiers)

Requires
0.35
or later
Rigidifiers.png

Усилитель расположения лучей - это оператор, который помогает удерживать определенный угол между двумя лучами, объединенных одним узлом. К примеру у вас есть три узла: "a", "b" и "c" и два луча "ab" и "bc". Усилитель применяется к этой конструкции и создает имитацию третьего луча, который якобы соединяет узлы "a" и "c". Он может помочь создавать сложные конструкции, где требуется подобная помощь. К примеру это может быть длинная, но узкая конструкция рамы грузовика, труба или стрела подъемного крана, которая подвергается сильным боковым изгибающим нагрузкам. Чтобы усиливать такую конструкцию при помощи лучей, потребуется создавать большую невидимую вспомогательную конструкцию из множества лучей, либо теперь - использвать данный усилитель.

  • Внимание: имейте ввиду, что данный оператор усиления угла между лучами - это программный вычислительный процесс, поэтому может забирать мощность процессора на слабых компьютерах. Поэтому не стоит злоупотреблять этим оператором, а лучше используйте более "дешевый" вариант - усиление конструкции при помощи лучей.
rigidifiers
;node a, node b, node c, spring,    damping
 1,      2,      3,      1000000.0, 50000.0

Кривая крутящего момента двигателя (Torque Curve)

Requires
0.36.2
or later

Крутящий момент — это сила, умноженная на плечо ее приложения, которую может “предоставить” двигатель автомобилю для преодоления тех или иных сопротивлений движению. Обычно измеряется в "ньютонах на метр" (Н*м). В поршневом двигателе автомобиля силой является расширение газов в камерах сгорания (во время рабочего хода), а плечом является длина кривошипа коленчатого вала, на котором располагается шатун с поршнем. Чем больше плечо (и ход поршня) - тем выше крутящий момент. Чем больше литраж (объём цилиндров и их количетво) двигателя - тем выше крутящий момент.

  • Максимальный крутящий момент и максимальное значение мощности достигаются при различных оборотах двигателя (и, соответственно, скоростях).
  • Максимальный крутящий момент у поршневых двигателей достигает максимума между средними и максимальными оборотами двигателя, а ближе к максимальным оборотам всегда снижается.
Пример кривых мощности и момента двигателя. СИНЯЯ кривая - кривая повышения мощности в зависимости от оборотов и потребления топлива. Красная кривая - изменение крутящего момента двигателя в зависимости от оборотов и увеличения сил трения между деталями двигателя ближе к максимальным оборотам, от чего крутящий момент ближе к максимальным оборотам снижается.

По умолчанию в ROR кривая крутящего момента имеет вид линии. Это означает, что мощность растет строго пропорционально росту оборотов. Это не соответствует реальности. Вы можете самостоятельно создать кривую крутящего момента двигателя, создав отдельные виды графиков для атмосферных дизелей, турбодизелей, атмосферных бензиновых и турбированных бензиновых двигателей и т.д.

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

Раздел записывается вот так:

torquecurve
turbogas

Как уже говорилось, первое число - количество оборотов на данном этапе, второе число - процент от максимальной мощности.

Чтобы не мучаться с определением оборотов максимального крутящего момента, установите максимальный момент на 75% от максимума, и это будет близко к реальности.

Вот как будет выглядеть кривая крутящего момента для двигателя 3500 об/мин с шагом в 500 оборотов в минуту:

torquecurve
0,0
1000,0.79
1500,0.9
2000,0.97
2500,0.99
3000,0.9
3500,0.77

Если двигатель "умирает" на холостых оборотах, используйте более точную регулировку с шагом в 100 оборотов в минуту:

...
700, 0.2
800, 0.6
900, 0.4
...

Межколесные дифференциалы (Axles)

Requires
0.36.2
or later

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

Пример заполнения раздела:

axles
w1(1 2), w2(3 4), d(ol) ; axle 1
w1(5 6), w2(7 8), d(l) ; axle 2
  • Первая строчка - первая ось, в которой первое колесо держится на узлах под номерами 1 и 2, второе колесо держится на узлах под номерами 3 и 4, тип дифференциала (параметр d) - o + l (открытый + блокирующийся).
  • Вторая строчка - вторая ось, в которой первое колесо держится на узлах с номерами 5 и 6, второе колесо держится на узлах с номерами 7 и 8, тип дифференциала - l (постоянно заблокированный).

После знака ";" в каждой строчке - примечания, которые программа не видит.

Данная секция должна располагаться после секции, генерирующей колеса (wheels, meshwheels и т.д.).

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

  • w1(<node1> <node2>) - первое колесо оси с номерами узлов оси колеса. Номера узлов оси колеса указаны в секции с колёсами (wheels, meshwheels и т.д.).
  • w2(<node1> <node2>) - второе колесо оси с номерами узлов оси колеса. Номера узлов оси колеса указаны в секции с колёсами (wheels, meshwheels и т.д.).
  • d (<список возможностей дифференциала>) - установка типа диффернциала. Типов диффеернциалов на оси может быть несколько. Каждый тип дифференциала указывается соответствующей буквой, а если их несколько, они перечисляются без пробелов или каких-то еще символов. Если не указано вообще никаких типов, то по умолчанию будет установлено ol, что означает "open/locked" (открытый дифференциал с возможностью блокировки).
    • Доступные типы дифференциалов
      • o - открытый
      • l - закрытый
      • s - самоблокирующийся (крутящий момент распределяется поровну на оба колеса даже если одно колесо висит в воздухе, то второе продолжает тянуть)


Аварийная техническая помощь (Rescuer)

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

rescuer

Управление материалами (managedmaterials)

Requires
0.36
or later

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

Общий формат этого раздела:

  • Имя материала - имя материала, который вы хотите вставить в игру. Вы можете использовать этот материал как для 3D модели вашего ТС, так и для его частей поотдельности. Имя этого материала не должно упоминаться где-либо еще (например в файле материала).
  • Имя эффекта - название эффекта, который вы хотите использовать. Доступные имена перечислены ниже.
  • Параметр эффекта - переменное число регулирующего параметра эффекта, который вы используете. См. описание ниже.

Не используйте запятые в разделе "managedmaterial"! Кроме того, необходимо установить раздел с материалом, ПЕРЕД перечисленными объектами mesh, для которых он будет использоваться.

Названия эффектов:

Flexmesh_standard - стандартная поверхность. Этот эффект определяет непрозрачные, отражающие и повреждаемые материалы для flexmesh объектов. Будет работать только для flexmesh объектов! Он имеет 3 параметра:

    1. Имя стандартной текстуры - это базовая текстура, определяющая внешний вид объекта. (Диффузирующая карта текстуры.)
    2. Имя текстуры повреждений (или поставьте "-" при отсутствии текстуры) - текстура, имитирующая собственным рисунком мелкие повреждения поверхности (царапины, мелкие вмятины, нарисованные в фотошопе).
    3. Имя текстуры для эффекта отражения (или поставьте "-" при отсутствии текстуры) - это текстура, имеющая единый цвет от белого до черного. Белый цвет - хром, серые тона - полированная краска, черные тона - матовые отражения.

Flexmesh_transparent - полупрозрачные и прозрачные поверхности. Этот эффект определяет прозрачные, отражающие и повреждаемые материалы для flexmesh объектов. Будет работать только для flexmesh объектов! Он имеет 3 параметра:

    1. Имя стандартной текстуры - это базовая текстура, определяющая внешний вид объекта. (Диффузирующая карта текстуры.)
    2. Имя текстуры повреждений (или поставьте "-" при отсутствии текстуры) - текстура, имитирующая собственным рисунком мелкие повреждения поверхности (царапины, мелкие вмятины, нарисованные в фотошопе).
    3. Имя текстуры для эффекта отражения (или поставьте "-" при отсутствии текстуры) - это текстура, имеющая единый цвет от белого до черного. Белый цвет - хром, серые тона - полированная краска, черные тона - матовые отражения.

Mesh_standard - этот эффект определяет непрозрачныq, светоотражающий материал для любой сетки (например, колесные диски, детали корпуса и т.д.). Он имеет 2 параметра:

    1. Имя стандартной текстуры - это базовая текстура, определяющая внешний вид объекта.
    2. Имя текстуры для эффекта отражения (или поставьте "-" при отсутствии текстуры) - это текстура, имеющая единый цвет от белого до черного. Белый цвет - хром, серые тона - полированная краска, черные тона - матовые отражения.
  • Mesh_transparent - этот эффект определяет полупрозрачный, светоотражающий материал для любой 3D сетки (например, колесные диски, детали корпуса и т.д.). Он имеет 2 параметра:
    1. Имя стандартной текстуры - это базовая текстура, определяющая внешний вид объекта. Альфа-канал в этой текстуре используется для регулировки степени прозрачности.
    2. Имя текстуры для эффекта отражения (или поставьте "-" при отсутствии текстуры) - это текстура, имеющая единый цвет от белого до черного. Белый цвет - хром, серые тона - полированная краска, черные тона - матовые отражения.

Пример:

managedmaterials
;new_material    effect               parameters...
mytruck/mainbody flexmesh_standard    mytruckbody.png mytruckbody-dmg.png mytruckbody-spec.png
mytruck/windows  flexmesh_transparent mytruckbody.png mytruckbody-dmg.png mytruckbody-spec.png
mytruck/rims     mesh_standard        mytruckrims.png allshiny-spec.png

Примечание о шейдерах для опытных пользователей: вы все еще можете использовать свои собственные материалы, если вам это удается. Cg шейдеры, сделанные вручную, должны иметь расширения *.material, *.program и *.cg. Проконсультируйтесь на форумах Ogre3D и посомтрите там документацию чтобы получить более подробную информацию. Если вы считаете, что сделали хороший шейдер, что может быть полезно другим моддерам, покажите его авторам игры (Thomas, tdev) для включения в библиотеку managedmaterial для RoR.


Set_managedmaterials_options

Requires
0.37.92
or later

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

; set_managedmaterials_options doublesided
set_managedmaterials_options 1

Особенность опции:

  • doublesided: 0 (односторонний) или 1 (двухсторонний). Опция определяет будет ли эффект материала отображаться только на одной стороне 3D сетки или отображение будет происходить с обеих сторон сетки. Например если вы хотите чтобы детали корпуса ТС имели отражения со всех сторон, а лобовое стекло имело отражения только с внешней стороны, чтобы блики не мешали смотреть на дорогу из кабины.

По умолчанию установлен параметр 0.

Фары (Flares)

Фары (Flares) позволяют добавлять различные фары и световые сигналы к вашему ТС. Они работают в качестве источников света в движке OGRE и будут так же освещать другие объекты.

См. также: Flares Tutorial

  1. Reference Node (опорный узел)
  2. X Coordinate (Координата по X)
  3. Y Coordinate (Координата по Y)
  4. X Offset (Смещение по X)
  5. Y Offset (Смещение по Y) - определяют, где будет источник света. Он располагается по отношению к трем базовым узлам шасси (см. раздел cams). Один узел - опорный, а два других определяют плоскость (х, у), в которой будет лежать источник света на задней, передней или боковых сторонах ТС. Так источник света (здесь и далее - "фара") находится в плоскости, определяемой тремя узлами, и находится относительно опорного узла (самый ближний узел на корпусе ТС к данной фаре), плюс некое расстояние между узлом и фарой по осям X и Y по координатам данного узла.
  6. Type field - (Тип поля)
    1. f (режим по умолчанию, если не указанно) - фара головного света
    2. b - стоп-сигнал
    3. l - левый поворотник.
    4. r - правый поворотник
    5. R - задний свет (включается при движении на задней передаче R)
    6. u - Свет управляемый пользователем (т.е. противотуманные фары) (см.controlnumbers))
  7. Control Number (контрольный номер) - определяет, какой клавишей этот свет включается и выключается, если вы выбрали ручное управление светом с клавиатуры. Для пользователя существуют определённые числа контроля 0-500. Если вы выбрали ручное управление светом (user controlled light) (напрмиер управление стоп-сигналом), то поставьте здесь параметр "-1".
  8. Blinkdelay(задержка мерцания) - определяет задержку между изменением света в миллисекундах. Значение 500 означает, что свет на 500 мс включится и на 500 мс выключится. Используйте значение "-1", чтобы использовать значение по умолчанию (500 мс). Используйте значение 0 для создания не-мигающего света.
  9. Size(размер) - определяет насколько большой будет диаметр источника света. Разумные значения между 0,1 и 5 (0,1 = 10% от размера по умолчанию). Если размер меньше 0, то фара не будет зависеть от угла обзора камеры. (Таким образом, фара не уменьшается, когда вы перемещаете камеру, удаляетесь от ТС).
  10. Material Name(название материала) - в этом поле указывается какой материал должен быть использован для отображения фары (не путать с текстурой фары на самой 3D модели). Если вы хотите использовать стандартный материал, используйте регулировки по умолчанию. Пожалуйста, обратите внимание, что не должно быть запятой между названием материала и параметром размера. Вы можете использовать tracks/aimflare для размещения своей фары.
flares
;RefNode,X,Y,OffsetX,OffsetY, Type, ControlNumber, BlinkDelay, size MaterialName
 
;пример значений по умолчанию:
51,1,79, 0.23, 0.50, b, -1, 0, -1 default
 
;пример настроенного стоп-сигнала
51,1,79, 0.23, 0.50, b, -1, 300, 0.2 myTruck/MyBrakeFlare
 
;пример работы противотуманных фар (свет управляемого событием 0)
51,1,79, 0.23, 0.50, u, 0, 0, 0.3 myTruck/MyFogFlare

Фары2 (Flares2)

Фары2 - то же самое, что Фары за исключением того, что они добавляют промежуточный offsetZ параметр для расположения фары по всем трем осям (X, Y, Z):
flares2
;RefNode,X,Y,OffsetX, OffsetY, OffsetZ, Type, ControlNumber, BlinkDelay, Size, MaterialName

Материал фары (materialflarebindings)

см.также: Flares Tutorial
это позволяет привязать материал для источника света, изменение материала источника света показывается во вкл. или выкл. состоянии.

Имеет следующий формат:

  • flare number(номер источника света): Подсчет начинается с нуля. Просто посчитайте ваши тстосники света в разделе flares, чтобы найти правильный номер.
  • material name(наименование материала): материал который вы хотите изменить. Он должен содержать единый принцип, один проход и специальный единый текстурный модуль (см. ниже пример)
flares
51,1,79, 0.23, 0.50, b, -1, 300, 0.2 myTruck/MyBrakeFlare
 
materialflarebindings
1, myBrakeMaterial

Материал должен использовать анимированные текстуры, как показано ниже:

material myBrakeMaterial
{
	technique
	{
		pass
		{
			texture_unit
			{
				anim_texture truck_brake_material.png 2 0
			}
		}
	}
}

Поместите в выключенном состоянии информацию о стоп-сигналах в файл "truck_brake_material_0.png" и во включенном в "truck_brake_material_1.png". 2 и 0 в конце не должны быть изменены.

Этот раздел должен быть после раздела flares и до разделов props и flexbodies, для того, чтобы огни работали должным образом.

Дополнительные детали и детали с вращением (Props)

Этот раздел позволяет прикрепить к корпусу ТС дополнительные отдельные детали, которые не контактируют с физическим миром игры, но могут вращаться в зависимости от определенных условий (руль, внутренние детали кабины и кузова, карданные валы, проблесковые маячки и т.д.). Фактически данная деталь не будет повреждена или отломана при столкновении её с землей или другим ТС вотому, что эта деталь не имеет скелетной основы. Однако это снижает реализм повреждений (к примеру, если вы сделали такой деталью боковые зеркала заднего вида, торчащие по бокам кабины на грузовике). Как и фары, они используют векторную систему координат вместо обычных прямоугольных координат. Компоненты расположены по отношению к 3 базовым узлам шасси (см. раздел Cinecams): один узел опорный, и два других определяют базу (x,y). Компоненты расположены относительно опорного узла, добавив пропорции векторов ref->X, ref->Y.

Пожалуйста, прочитайте это руководство, если вы хотите использовать высококачественные меши: Mesh LODs.

Параметры:

  • Reference node(опорный узел) - Базовый узел, используемый для определения системы координат
  • X node - узел который определяет направление Х (это можно изобразить в виде линии, направленной от опорного узла к этому узлу)
  • Y node - узел который определяет направление Y (это можно изобразить в виде линии, направленной от опорного узла к этому узлу)
  • X offset(смещение по Х) - Совокупность компонентов должна быть перемещена в направлении к X от опорного узла. Расстояние его перемещения зависит от расстояния между опорным узлом и X направленным узлом (оно пропорционально): (0) покрывает деталь опорного узла, (1) перемещает его на все путик к X направленному узлу, и (0.5) ставит компонент на полпути между двумя
  • Y offset - Совокупность компонентов должна быть перемещена в направлении к Y от опорного узла. Как и X направление смещения, сумма пропорциональна расстоянию опорного узла и Y направленного узла.
  • Z offset(смещение по Z) - Представляет собой поверхность проходящую через X и Y. Если смотреть вдоль этой поверхности в прямом направлении, то эта поверхность перемещает компонент прямо вверх. В отличии от X направления смещения и Y направления смещения, сумма смещения измеряется в метрах
  • X axis rotation(Х оси вращения) - Сумма компонентов которые должны вращаться вокруг оси X
  • Y axis rotation(Y оси вращения) - Сумма компонентов которые должны вращаться вокруг оси Y
  • Z axis rotation(Z оси вращения) - Сумма компонентов которые должны вращаться вокруг оси "прямо вверх"
  • Mesh name(наименование меша) - Наименование Ogre3D mesh объекта используемого для компонента. Имейте ввиду что эти меши с именами начинающиеся с "приборная панель", "левое зеркало", "правое зеркало", "сидение", "маячок", "pale" and "spinprop"зарезервированы, и нужно поколдовать чтобы они заработали. Сперва сделайте меш "сидение" полупрозрачным, это будет сидение водителя. Пожалуйста, обратите внимание, что если вы хотите прикрепить меш колеса на место колеса, третий узел должен быть взят из одного из внешних сегментов.
props
;ref,x,y,offsetx,offsety,offsetz,rotx,roty,rotz,mesh
93,95,92, 0.50, 0.37, 0.0, 90, 0, 0, airintake.mesh

Примечание:

  • X смещение и Y смещение должны быть логически между 0 и 1, или если тело изгибается слишком часто компонент не будет прилипать к телу правильно.
  • Система координат на самом деле очень похожа на 'нормальные координаты', но эта позволяет задать угол между осями (то есть угол между X узлом, опорным узлом, и Y узлом) для любого значения, не только на 90 градусов. Если этот угол может быть сделан, чтобы быть 90 градусов, тогда странная система координат превратиться в "нормальную систему" координат. Это может быть использовано для более легкого размещения компонета.

Для 0.38.8 или более поздних:

Вы можете установить cameramode, на компонентах грузовика таким образом:

; -2 = все время, -1 = только внешние, >=0  cinecam номер
prop_camera_mode -1

Вы можете отключить тени у flexbody:

disable_flexbody_shadows

Специальные компоненты

  • Приборная панель (чтобы добавить рулевое колесо на панель.)
Requires
0.35
or later
;ref,x,y,offsetx,offsety,offsetz,rotx,roty,rotz,mesh dirwheelmesh x offset, y offset, z offset, rotation angle
 
;рулевое колесо по умолчанию выглядит так:
72,71,74, 0.50, 1.0, -0.05, 0, 0, 0, dashboard.mesh dirwheel.mesh -0.67, -0.61, 0.24
 
; пример для любого другого с 720 градусами поворота:
72,71,74, 0.50, 1.0, -0.05, 0, 0, 0, dashboard.mesh seat.mesh -0.67, -0.51, 0.14, 720
 
; пример для пользовательских приборных панелей с настраиваемым рулевым колесом с 200 градусами:
72,71,74, 0.50, 1.0, -0.05, 0, 0, 0, dashboard-test123.mesh seat.mesh -0.67, -0.51, 0.14, 200

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

ВАЖНО: Ваша приборная панель должна быть названа, например как 'dashboard-такая то' для того чтобы определялась как приборная панель.

  • Маячок (чтобы изменить цвет маячка и материал фары)
Requires
0.35
or later
  • Если вы хотите использовать свой собственный mesh маяка, то он должен называться типа beacon-<какое-либо имя>.mesh, например beacon-blue.mesh
;ref,x,y,offsetx,offsety,offsetz,rotx,roty,rotz,mesh flareMaterialName colorRed, colorGreen, colorBlue
 
; по умолчанию маячок выглядит так:
19,73,16, 0.1, 0.1, 0, 90, 0, 0, beacon.mesh tracks/beaconflare 1, 0.5, 0
 
; красный маячок будет выглядеть так:
19,73,16, 0.1, 0.1, 0, 90, 0, 0, beacon.mesh tracks/redbeaconflare 1, 0, 0
 
; пример для особого маячка:
19,73,16, 0.1, 0.1, 0, 90, 0, 0, beacon.mesh tracks/greenflare 0, 1, 0

Единственная разница между этим и стандартным маяком это flarematerialname(имя материала фары) например tracks/redbeaconflare который устанавливает цвет света, и RGB значение вспышки (последние три цифры), которое устанавливает цвет света, который отражается от объектов, когда огни маяков светят на них.

Requires
0.38.8
or later
disable_prop_shadow
;отключает тени компонентов для улучшения производительности грузовика(кадры в секунду).

Add_animation

Requires
0.37.68
or later

В этом разделе вы сможете анимировать ваши детали, связанные с игровыми данными или задействующиеся при нажатии клавиш. До "10" вращений и смещений в зависимости от различных параметров применяемых к одной детали(prop).

Параметры:


  • ratio - коэффициент для анимации, поддерживает степень если используется с mode: rotation(режим вращения) и поддерживает смещение если используется с mode: offset(режим смещения).
  • option1 - нижний предел анимации, не забывайте использовать отрицательное значение, если параметр может быть отрицательным (как в рулевом колесе). Используйте 0 для обоих параметров чтобы получить ограничния по умолчанию (Полное круговое вращение ( -180/+180°) или -10/+10 для смещений. Ограничения всегда применяются к деталям с возвратной позицией.
  • option2 - Верхний ограничитель для движения,не забывайте использовать положительное значение, если параметр может быть отрицательным (как в рулевом колесе). Используйте 0для обоих параметров чтобы получить ограничение по умолчанию ( Полное круговое вращение (-180/+180°) или -10/+10 для смещений. Ограничения всегда применяются к деталям с возвратной позицией.
  • source: - Список источников для использования, рекомендуется использовать только 1 на add_animation линию, хотя несколько источников тоже возможно.
  • mode: - Список режимов для использования, возможно несколько режимов.
  • event: - Дополнительный вход, нужен только для source: event(источник:событие). Он определяет событие захватываемое для анимации при нажатии клавиши.


source(источники):
  • airspeed - Эта деталь анимируется с фактической скоростью (не скорость по спидометру) для любого автомобиля.
  • vvi - эта деталь анимируется с вертикальной скоростью автомобиля.
  • altimeter100k - Эта деталь анимируется на высоте до 100,000 футов.
  • altimeter10k - Эта деталь анимируется на высоте до 10,000 футов, после чего возвращается к своей первоначальной позиции.
  • altimeter1k - Эта деталь анимируется на высоте до 1,000 футов, после чего возвращается к своей первоначальной позиции. Эти три аниматора могут быть использованы для создания альтиметров(высотометров) с тремя иглами(стрелками) или подобных объектов.
  • aoa - Эта деталь анимируется с углом положения приборной панели.
  • flap - Эта деталь анимирует клапан установленный на транспортном средстве.
  • airbrake - Эта деталь анимирует тормозные щитки установленные на транспортном средстве.
  • roll - Эта деталь анимирует кручение транспортного средства. Это будет повернуто при кручении от 180 градусов до -180 градусовl. Эта опция может быть использованна для функции автоматической подстройки.
  • pitch - Эта деталь анимируется вместе с шагом автомобиля. Это будет повернуто обратно на шаг от 180 градусов до -180 градусов. Эта опция может быть использованна для функции автоматической подстройки.
  • throttle1 - Эта деталь анимирует дроссельную установку первого двигателя самолета. Этот параметр может быть использован для механики двигателя. Действительно для источников включающих throttle1, throttle2, и так далее вплоть до throttle8.
  • rpm1 - Эта деталь анимируется в зависимости от оборотов первого двигателя самолета. Этот параметр может быть использован для механики двигателя. Действительно для источников включающих rpm1, rpm2, и так далее вплоть до rpm8.
  • aerotorq1 - Эта деталь анимируется с момента старта первого двигателя самолета. Это работает только для винтового двигателя, потому что крутящий момент не применим к реактивным двигателям. Действительно для источников включающих aerotorq1, aerotorq2, и так далее вплоть до aerotorq8.
  • aeropit1 - Эта деталь анимируется вместе с шагом первого двигателя самолета. Это работает только для винтового двигателя, потому что крутящий момент не применим к реактивным двигателям. Действительно для источников включающих aeropit1, aeropit2, и так далее вплоть до aerotorq8.
  • aerostatus1 - Эта деталь анимируется вместе с On/Off/Fire статусом первого двигателя самолета. Действительно для источников включающих aerostatus1, aerostatus2, и так далее вплоть до aerostatus8.
  • brakes - Эта деталь анимирует состояние тормоза транспортного средства.
  • accel - Эта деталь анимирует статус ускорения транспортного средства.
  • clutch - Эта деталь анимируется с состоянием сцепления транспортного средства.
  • speedo - Эта деталь анимирует индикацию спидометра транспортного средства. Это значения настройки прибора спидометра. (Это лучше использовать даже когда нет панели приборов;это сильно упрощает регулировку.)
  • tacho - Эта деталь анимируется в зависимости оборотов двигателя. Это значение настройки прибора тахометра. (Это лучше использовать даже когда нет панели приборов;это сильно упрощает регулировку.)
  • turbo - Эта деталь анимируется с турбонаддувом транспортного средства PSI.
  • parking - Эта деталь анимируется в зависимости от статуса стояночного тормоза.
  • shifterman1 - H-переключение влево/вправо ( Обратно| 1-2 | 3-4 | 5-6...11-12 позиции, значение настройки параметров двигателя (maxGear)
  • shifterman2 - H-переключение вперед/назад обратный аниматор -2-6-8-10-12 | 1-3-5-7-9-11 позиции.
  • sequential - последовательное переключение ( например для типтроника или подрулевых переключателей), может быть использованы для команды тоже ( ограничения не устанавливаются).
  • shifterlin - анимация для автоматической трансмиссии или для показателей выбора передачи ( для этого применяются особые правила ограничений!смотрите ниже)
  • torque - текущий крутящий момент двигателя.
  • heading - Эта деталь анимируется вместе с текущим наименованием грузовика.
  • difflock - Эта деталь анимируется в зависимости от статуса блокировки дифференциала (это работает только при наличии регулировки дифференциала в грузовике)
  • rudderboat - Эта деталь анимирует гидро-руль лодки.
  • throttleboat- Эта деталь анимируется в зависимости от статуса дросселя лодки.
  • steeringwheel - Эта деталь анимируется в зависимости от статуса руля лодки.
  • aileron - Эта деталь анимируется в зависимости от статуса элеронов самолета.
  • elevator - Эта деталь анимируется в зависимости от статуса подъема самолета.
  • rudderair - Эта деталь анимируется в зависимости от статуса руля самолета.
  • permanent - Этот постоянный источник,который всегда активен когда вы находитеся в грузовике.
  • event - источник вызванный нажатием клавиши, нужен только в одном определенном случае.

Примечания: Ограничения не распространяются на режим mode:sequential(последовательный). В этом случае параметры F-клавиш передвижения которые вы хотите использовать. Параметры 0, 0 с mode:sequential обеспечивает переключение_вверх/переключение_вниз анимацию последовательного переключателя. Посмотрите на примеры.

режимы:
  • x-rotation - Вращение вокруг x-оси, в некоторых случаях применяются специальные правила, смотрите ниже (блокировка вращения)
  • y-rotation - Вращение вокруг y-оси, в некоторых случаях применяются специальные правила, смотрите ниже (блокировка вращения)
  • z-rotation - Вращение вокруг z-оси, в некоторых случаях применяются специальные правила, смотрите ниже (блокировка вращения)
  • x-offset - смещение по x-оси
  • y-offset - смещение по y-оси
  • z-offset - смещение по z-оси
  • autoanimate - вращение или смещение применяется до тех пор пока источник не 0. Полезно для карданных валов, вентиляторов и так далее.
  • noflip - эта деталь будет переключатся до обратного предела пока предел не достигнут, в этом режиме она просто остановиться достигнув предела.
  • bounce -эта деталь будет переключатся до обратного предела пока предел не достигнут, в этом режиме она просто отскочет в установленный предел. Используется только с режимом mode: noflip
  • eventlock - блокирует переключение события в его текущем статусе, используется для переключателей и статуса рычагов. Работает только с mode:event и правильно определенным событием event:
event:

Как использовать:

Лучше всего, чтобы проверить деталь, которая не имеет вращения и смещения, установить узел так :

  n1, 0, 1, 0
  n2, 0, 1, 1
  n3, 0, 0, 0

Добавить add_animation линию AFTER детали в раздел деталей которые вы хотите анимировать:

Источники

add_animation 200, 0, 0, source: steeringwheel, mode: x-rotation
;деталь анимированна как рулевое колесо
;обратитесь к списку '''source:'''(источников) указанных вышеl.
 
add_animation 10, 1, 2, source: sequential, mode: y-rotation
add_animation 10, 3, 4, source: sequential, mode: x-rotation
;анимация джостика связанная с F1-F4 (смотрите ниже описание КАРДАННЫЙ ЗАМОК!)
 
 
add_animation 0.02, 1, 0, source: sequential, mode: y-offset
;анимированная кнопка полученная при нажатии на F1
 
add_animation 10, 0, 0, source: sequential, mode: y-offset
;последовательный переключатель реагирует на переключение вверх/вниз

Режимы

add_animation 145, 0, 0, source: airspeed, mode: x-rotation
;вращение стрелки анемотахометра по оси x
 
add_animation 145, 0, 0, source: airspeed, mode: y-rotation
;вращение стрелки анемотахометра по оси y
 
add_animation 145, 0, 0, source: airspeed, mode: z-offset
;скольжение стрелки анемотахометра по оси z
 
add_animation -90, 0, 0, source: pitch , mode: y-rotation
add_animation 180, 0, 0, source: roll, mode:x-rotation
;виртуальный указатель высоты (авиагоризонт)( смотрите ниже описание КАРДАННЫЙ ЗАМОК!)


События

add_animation 45, 0, 0, source: event, mode: x-rotation, event: TRUCK_TOGGLE_CONTACT
;деталь будет вращаться под 45 градусов на оси x, когда кнопка зажигания нажата
;Только одно событие это позволяет '''mode:event'''
 
add_animation 45, 0, 0, source:event, mode:x-rotation, eventlock, event:TRUCK_TOGGLE_CONTACT
add_animation 45, 0, 0, source:event, mode:x-rotation, event:TRUCK_STARTER
;Это вращение винта относиться к состоянию зажигания и дополнительно на 45° когда зажигание нажато.
;Это действительно в стек до 10 анимаций любого рода одного винта.


Авто-анимации

add_animation 0.005, 0, 0, source: permanent, mode: x-offset, autoanimate
;это будет анимация связанныз деталей по x-смещению
 
add_animation -0.005, 0, 0, source: permanent, mode: x-offset, autoanimate
;Изменение направления движения.
 
add_animation -0.005, 0, 0, source: permanent, mode: x-offset, autoanimate, noflip
;Будет остановленно на пределе и не будет больше переворачиваться. Так что теперь он просто движется в одном направлении.
 
add_animation -0.005, 0, 0, source: permanent, mode: x-offset, autoanimate, noflip, bounce
;Начнет двигаться влево / вправо само, просто следуя установленным по умолчанию ограничениям.
 
add_animation -0.005, -5, 20, source: permanent, mode: x-offset, autoanimate, noflip, bounce
;Начнет двигаться влево / вправо само, просто следуя установленным пользователем ограничениям.
;Имейте ввиду что: для вращения или смещения,первые ограничения должны быть <=0  вторые >=0
;Предел смещения для детали смещения, по умолчанию ( opt1=opt2=0)предел это +-10
 
add_animation -0.005, 15, 20, source: permanent, mode: x-offset, autoanimate, noflip, bounce
;Деталь будет прыгать сразу на старте и отскакивать от ограничителя, которые могли быть немного запутанны.
 
add_animation -0.005, 15, 20, source: permanent, mode: x-rotation, autoanimate
;Вращающиеся вместо скольжения. Все параметры для скольжения могут быть использованы для вращения.
;Степень ограничения для вращения, по умолчанию ( opt1=opt2=0) предел это +-180° ( полный круг)

КАРДАННЫЙ ЗАМОК Чтобы избежать искажения по оси при вращении деталей: - Всегда размещайте ваши детали по y-вращению от 0 до 180°. Если вам нужно выровнять деталь по другому, поверните mesh в вашем mesh-редакторе! Чтобы избежать искажения по оси при вращении нескольких деталей: - Используйте только x и y оси вместе, пропустите z. Если вам нужно 3 оси вращения, сделайте z-оси с n/b-поворотным устройством в качестве основы для определения узлом детали. Gimbal lock


Flexbodies

Requires
0.36
or 0.35 patch
Flexbodies в значительной степени тоже что и дополнительные детали(props). Единственное различие между ними, это то, что flexbodies могут деформироваться (Flex - гибкость). Flexbodies - это когда вам нужно, чтобы 3D модель, заключенная в нескольких точках каркаса скелета, деформировалась вместе с этим самым скелетом.

Первая строка этого раздела имеет тот же формат что и раздел дополнительные детали (props). Далее, строка начинается со слова forset. За словом forset, вы указываете все узлы используемые для деформации сетки модели(mesh) (поддерживаются диапазоны). Эти узлы(nodes)должны быть внешними узлами транспортного средства, те что близки к сетке(mesh).

Вы можете указать несколько flexbodies. Каждые должны состоять из нескольких линий (по принципу как дополнительные детали). Примечание: Важно следить за числом вершин вашей сетки(mesh). Не то, что бы есть жесткие ограничения, но из-за 10 000 вершин(полигонов) может быть заметное замедление производительности. Для справки: сетка Dodge имеет 4000 вершин.

Пожалуйста, прочтите это руководство если хотите использовать высококачественные сетки(mesh): Mesh LODs.

flexbodies
;ref,x,y,offsetx,offsety,offsetz,rotx,roty,rotz,mesh
3,4,19, 0, 0, 0.027, 90, 0, 90, dodgecharger.mesh
forset 0-16, 23-24, 31, 54-125

Если вы хотите разместить flexbody глобально, укажите -1 в качестве опорного узла.

Пожалуйста обратитесь к this thread для большей информации. Посмотрите также:

- How to get a good Flexbody

- Separate (flexbody) deforming/detaching parts

RoR 38.8 or later:

disable_flexbody_shadow
;отключение теней последнего flexbody комплексно улучшит оптимизацию грузовика.

Вы можете установить cameramode, в котором flexbody могут быть показаны:

; -2 = все время, -1 = только внешние, >=0  cinecam number
flexbody_camera_mode -1

Submesh

Это последняя часть, определяющая наиболее видимые части грузовика: тело(корпус). Оно "оденет" шасси и будет состоять из твердых вершин(полигонов). Вы должны определить каждую панель кузова(непрерывный, почти плоский участок) в другом разделе submesh, для того чтобы иметь острые углы корпуса, и упростить текстурирование. Submesh имеет два подраздела: texcoords, это места узлов submesh на изображении текстуры (координаты между 0.0 и 1.0) , и затем подсекция кабины, который отображает вершины, с тройками номеров узлов. Узлы, используемые в подразделе кабины должны быть представленны в подразделе texcoords. Порядок,в котором три точки, образуют вершины(треугольники) очень важен, как и его обмотки, определяют в каком направлении их будет видно. Обмотки должны быть расположенны против часовой стрели, чтобы быть видимыми. Существует дополнительный указатель в подсекцию кабины:

Большинству современным flexbodied грузовикам не нужны submesh для наглядности. Тем не менее, часть по-прежнему необходима для работы столкновений.

  • Еслы вы добавите c к треугольнику, этот треугольник будет контактным и будет связывать контактерами узлов.
  • Если вы используете b, этот треугольник будет являться частью плавучего корпуса.
  • Если вы используете D, этот треугольник будет и треугольником контакта и частью плавучего корпуса (комбинация b и c указателей).
  • новые указатели (>=0.36a)
    • p: Делает усилие, необходимое, чтобы проникнуть через submesh треугольник в 10 раз больше.
    • u: Делает невозможным пробить submesh.
    • F: Тоже что и p только для корпуса лодки.
    • S: Тоже что и u только для корпуса лодки.

mcreed неплохо помог с Texturing Tutorial который описывает, как заполнить submesh и кабины в файл грузовика.

Если тэг "backmesh" добавлен, обратная сторона треугольников будет черной а не прозрачной.

;Верх кабины
submesh
texcoords
75, 0.172, 0.334
76, 0.172, 0.665
77, 0.291, 0.334
78, 0.291, 0.665
cab
75,76,78
75,78,77
 
;Зад кабины
submesh
texcoords
77, 0.291, 0.334
78, 0.291, 0.665
53, 0.422, 0.334
54, 0.422, 0.665
6, 0.422, 0.334
8, 0.422, 0.665
cab
77,78,54
77,54,53
53,54,8,c
53,8,6,c
backmesh

При создании нивидимых столкновений submesh для flexbody автомобиля, раздел "texcoords" не нужен и должен не использоваться.

;Передний бампер
submesh
cab
126,121,127,c
132,126,127,c
133,132,127,c
125,120,121,c
126,125,121,c
...

Продолжение следует...