OpenRCCars: Бесплатный симулятор радиоуправляемых машин

heavy

Всем доброго времени суток.

Поискал в инете симуляторы радиоуправляемых моделей машин. Ничего нормального не нашел (что нормальное есть - платное).
Решил написать свой. Пока что совсем ранняя альфа. Много чего не реализовано.

Пишу под Linux-ом. Сделал сборку под Windows.

Что позволяет:
* Создать виртуальный мир с требуемым ландшафтом
* Расставлять статические объекты
* Создавать динамические объекты и связи между ними
* Физическая модель мира
* Поддержка управления колесами машины (руль и газ/тормоз). Довольно простенькое подобие дифференциала
* Поддерживает симуляцию довольно сложных элементов машины (типа подвески)

Модель срисовал со своего пилотажевского циклона. Художник из меня никакой, т.ч. строго не судите.
Звука нету пока.

Управляется только с джойстика по двум осям (должен быть джойтик с системе). Если у кого-то передатчик подключен к
COM-порту - советую установить драйвер PPJoy.

Перед запуском надо в конфигурационном файле OpenRCCars.xml настроить джойстик:
Найти строки <Joystick …
и там поправить:
id=“x” - номер используемого джойтика (считаются с нуля)
throttle_axis=“x” - ось газа (считаются с нуля) - определить экспериментальным образом
steering_axis=“x” - ось руля
throttle_scale=“x” - поставить либо -1.0, либо 1.0 в зависимости от того - требуется ли реверс оси или нет.

Зачем я это написал ? В общем хочется найти народ, который сможет поддержать проект и довести его до релиза.
Требуются художники, умеющие делать 3D-модели, переводчик на английский, программист итд.

От сюда можно скачать прогу:
heavy-online.ru/OpenRCCars/OpenRCCars-win32.zip

Программа абсолютно бесплатная. Исходники могу предоставить, кому интересно.

Кнопки:
ESC - выход
c (цэ) - сменить камеру

2Moderators: может стоит открыть новую ветку форума по поводу симулятора ?




gorbi

А на клавиатуре покатать реально?

MegaVolt

в каком формате машинки в него загружаеш ? или из какого сконвертить можеш.

Boev_Dmitry

Думаю поддержку клавиатуры сделать бы было бы очень актуальной фичей для многих.
Может быть смог бы оказать безвозмездную программерскую поддержку. Правда я под винду пишу… =(
Ну а тестировщиком побуду с удовольствием =)

heavy

А на клавиатуре покатать реально?

Реально. Думаю, к вечеру сделаю версию.

в каком формате машинки в него загружаеш ? или из какого сконвертить можеш.

Формат довольно простой - посмотри файлы .rcc в каталоге models/. Там перечисляются вершины полигонов, а потом UV-координаты для текстуры.
Модели делаю в Blender-е (или в текстовом редакторе, если совсем простые). Для Blender-а сделал простой скрипт экспорта модели.
Сконвертить могу из любого формата, который поддерживает Blender. Главное, чтоб на всю модель была натянута одна текстура и были координаты UV для каждой вершины.

extra555

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

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

MegaVolt

Смысл такой же как и от FMS, в симуляторе главное не отработка поведения на … покрытие а отработка рулежки от себя к себе левым/правым бортом. это основная проблема для новичка. ну а дальше больше.

heavy

Сделал версию под клаву. Не очень хорошо работает, но попробовать можно. Лучше подключить джойстик.
Лежит тут: heavy-online.ru/…/OpenRCCars-keyboard.zip
Надо заменить файлы, которые в архиве.
Управление стрелками + пробел=тормоз

P.S. Наверное, я тупой, но не могу найти кнопку “Изменить сообщение”…

MegaVolt

эта кнопка есть только 15минут после публикации

heavy
extra555:

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

Мокрый/сухой асфальт симулируется с помощью изменения коэф. трения. Он в первой строчке в файле конфигурации называется mu=. Если его сделать меньше - можно добиться хоть эффекта льда.
Песок тоже можно примерно сделать: сделать трение поменьше и увеличить вязкость (коэф. cfm).
Подвеска тоже настраивается. Сейчас сделана обычная параллелограмная независимая. Каждая деталь машины имеет массу, каждая пружина имеет коэф. упругости и коэф. демфирования.

Хотя я на все 100% согласен, что подобрать параметры системы, чтоб было похоже на реальность, крайне сложно.

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

extra555

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

heavy

Если вы внимательнее прочитаете мой пост - то станет понятно, что передатчик подключить можно.
Я свой подключаю обычным интерфейсом FMS-PIC через COM-порт. Драйвер называется PPjoy.

stasio

А вообще есть в реале симуляторы офф-роад моделей,с офф-роад трассами? Про то что есть симуль на шоссе и РЦ12 я знаю и на Братислвке давно пылиться!А вот для офф роада не встречал!

aratj

Вопрос не в тему, но футабу 3PM можно будет подрубать ?

Temych
heavy:

2Moderators: может стоит открыть новую ветку форума по поводу симулятора ?

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

ЗЫ симулятор погонял, для начала очень неплохо. джой настроить получилось (у меня usb геймпад). понравился кубик, которым можно весело поиграть в автобол 😃 памятник Айвазовскому - lol 😃

Lancer_9

Здравствуйте.

Идея мне Ваша (heavy) очень понравилась…
Если не секрет, на чём пишите ? с++ ?

heavy

Для начала отвечу на вопросы 😃

А вообще есть в реале симуляторы офф-роад моделей,с офф-роад трассами? Про то что есть симуль на шоссе и РЦ12 я знаю и на Братислвке давно пылиться!А вот для офф роада не встречал!

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

Вопрос не в тему, но футабу 3PM можно будет подрубать ?

А какой у нее интерфейс ? Посмотри на драйвер PPJoy. Он много всего поддерживает. Думаю, хоть один метод да подойдет.

Если не секрет, на чём пишите ? с++ ?

Ага. На C++. Использую библиотеки SDL (www.libsdl.org) и ODE (www.ode.org).

Выложил новую версию.

Вот ссылка: heavy-online.ru/…/OpenRCCars-win32.rar
Запускать надо OpenRCCars.exe
Исходники и требуемые библиотеки тут: heavy-online.ru/OpenRCCars/2008-03-17/
Для сборки требуется msys и mingw.

Изменения:
* Звук
* Экспонента на газе и руле
* Включил симуляцию повреждений (т.ч. ездите аккуратнее 😃)
* Сделал что-то типа конфигуратора (кривотня сплошная, но большего за 2 часа не вышло)

В общем так. Пробуйте 😃

Жду откликов.

Sleeper

Попробовал. Понравилось. 😃
Жаль, только, что при авариях только колёса отлетают, можно сделать, напрмер, чтобы ломался рычаг, а колесо оставалось висеть 😃
Можно попробовать расположить “камеру” обзора чуть повыше(если это возможно), чтобы модель была лучше видна на дальних участках трассы.

heavy
Sleeper:

Жаль, только, что при авариях только колёса отлетают, можно сделать, напрмер, чтобы ломался рычаг, а колесо оставалось висеть 😃
Можно попробовать расположить “камеру” обзора чуть повыше(если это возможно), чтобы модель была лучше видна на дальних участках трассы.

Можно, чтоб отрывалось все что угодно. Посмотри файл Cars/Car_1.xml. Там у каждого сочленения есть параметр break_force. Это усилие, которое максимум может действовать на соединение. Значение проще всего подобрать опытным путем. Вызвать консоль кнопкой ` (тильда) - там показывается статистика сил по каждому соединению.
Камеры тоже можно менять. Это уже в файле Worlds/World_1.xml. Там смотри теги <Camera>. Там указывается точка с которой камера смотрит, ее скорость (если она движется за объектом) итд.
Кстати, там несколько камер. Их можно переключать кнопкой c (цэ).

Также можно добавлять свои объекты. Посмотри в Worlds/World_1.xml. Там добавляется кубик, который можно пинать.

В общем, есть с чем поэксперементировать 😃

Удачи 😃