Модераторы: Death_Morozz, null, Ale
Mezmeraiz писал(а):Есть идеи, как по координатам рассчитать поперечное и вертикальное ускорение в абсолютной системе координат? А то у меня сейчас мозг взорвется
Ale писал(а):Mezmeraiz писал(а):Есть идеи, как по координатам рассчитать поперечное и вертикальное ускорение в абсолютной системе координат? А то у меня сейчас мозг взорвется
Координат мало. Нужно кроме положения в пространстве знать направление НОСА танка ( в трехмерной системе ). Обычно мы из игр выковыриваем 3-мерный ВЕКТОР ориентации машины.
И ускорения нужны не в АБСОЛЮТНОЙ системе, а как раз в системе координат машины.
Mezmeraiz писал(а):Я двумя постами выше выложил продольное ускорение в абсолютной системе. Оно не подойдет? И я немного не понимаю, что есть система координат машины?
Мне казалось, что например поперечное ускорение это смещение с прямой траектории движение при поворотах, а вертикальное - при подъемах и спусках.
Ale писал(а):Да, ты прав. Если эти ускорения есть в пакете данных - замечательно. А если нет - их нужно вычислять. И для их вычисления нужны исходные данные. А что нужно для вычисления ускорений? Скорости... То есть ты должен знать изменение скорости машины по трем векторам (вдоль - ось X, поперек - ось Y и вертикально Z)
http://www.xsimulator.net/co-ordinate-system/
Mezmeraiz писал(а):Теперь видимо нужно передать данные на SimTools? Как это сделать?
yarockiisergei писал(а):Я это уже смотрел разработчик Ale не выходит на связь. И это грустно.
Death_Morozz писал(а):в смысле? от вас 2 сообщения, а во-втором - упрёк? как Вас понимать, потрудитесь обьяснить?
Ale писал(а):могу вкратце описать направление движения, на примере игры Live For Speed. Из нее извлекать данные не просто, а ОЧЕНЬ просто Сразу скажу, что таким же простым интерфейсом обладают игры от CodeMasters (серия Dirt, по крайней мере).
1 - Нужно отредактировать файл cfg.txt, как указано тут post5332.html#p5332
В результате после запуска игры она начинает слать UDP пакеты на порт, указанный в файле.
2 - Нужно принимать UDP пакеты (из Delphi это можно сделать разными способами. Насколько я помню, я просто настраивал TSocket). Структура пакета данных из игры описана тут http://www.brunsware.de/insim/structOutSimPack.html
3 - Ну а дальше использовать эти данные по своему усмотрению...
Как-то так. Пробуй. Не будет получаться, обращайся. Помогу разобраться.
kimoncar писал(а):но вот так и не смог разобраться с UDP пакетами - не хватает моих знаний .
Копал в сторону чтения данных из памяти и даже разобрался, единственный минус - адрес ячеек памяти в некоторых играх может меняться при перезапуске игры, но зато предполагаю возможность вытягивания данных из любых игр.
Алгоритм такой:
1. С помощью ArtMoney выявляем нужные нам данные и узнаем адрес ячейки.
2. Задаем этот адрес приложению на паскале и читаем значение.
3. Передаем это значение на контроллер сима.
Ale, мог бы ты по подробнее рассказать, как поймать и обработать пакет от Dirt? Буду очень благодарен.
Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 140