Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

Создание машины с ODE   Найти похожие ветки 

 
Slicer__   (2005-04-24 12:02) [0]

Помогите разобраться как создать машину с использованием ODE. Основу я создал, но вот как сделать что бы колеса поворачивались? Как не пытаюсь - появляются только глюки.


 
[EViL] ©   (2005-04-24 16:42) [1]

http://www.k00m.sexidude.com/article.php?sid=132&&thold=0


 
Slicer__   (2005-04-24 18:27) [2]

Я так понял за поворот отвечают эти функции:

     dJointSetHinge2Param( j, dParamVel, v );
     dJointSetHinge2Param( j, dParamFMax, 0.2 );
     dJointSetHinge2Param( j, dParamLoStop, -0.75 );
     dJointSetHinge2Param( j, dParamHiStop, 0.75 );
     dJointSetHinge2Param( j, dParamFudgeFactor, 0.1);


Но объясните что они значат, точнее что значат эти параметры и как они работают?


 
Alek Aaz   (2005-04-25 04:10) [3]

Читать !!! ->  http://ode.org/doc/russian/


 
Slicer__   (2005-04-26 15:29) [4]

Да читал я уже это, объясни на примере колеса.


 
Alek Aaz   (2005-04-27 07:16) [5]

Цитата:

Устанавливают/получают параметры ограничения/движения для каждого типа сочленения. Следующие параметры:

dParamLoStop
Нижний предел угла или позиции. Установка этого значения в -dInfinity (значение по умолчанию) выключает нижний предел. Для вращающихся сочленений, это значение должно быть больше чем - pi что бы был эффект.

dParamHiStop
Верхний предел угла или позиции. Установка этого значения в dInfinity (значение по умолчанию) выключает верхний предел. Для вращающихся сочленений, это значение должно быть меньше pi что бы был эффект. Если верхний предел меньше нижнего предела, то оба предела не дают никакого эффекта.


Максимальный угол поворота. от -0,75 до 0,75 радиан, т.е. от -90 до 90 градусов.  Если это поворот колес относительно вертикальной оси, то это конечно круто :)


dParamVel
Желаемая скорость двигателя (здесь должна быть угловая или линейная скорость).

Равна v. Определяется как быстро ты орудуешь "рулем".


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

Что тут непонятно ??? Чем больше у тебя "мышц" тем быстрее будешь проворачивать руль


dParamFudgeFactor
В текущей реализации остановка/двигатель есть маленькая проблема: когда сочленение имеет остановку и двигатель, который пытается не допустить остановки, слишком большая сила может быть приложена за один шаг времени, вызывая “скачки” движения. Это надстроечный показатель(fudge factor) используется для масштабирования избыточной силы. Значение должно лежать между нулем и единицей (значение по умолчанию). Если в сочленении видны скачки движения, значение должно быть уменьшено. Делая это значение меньше можно уберечь двигатель от движения сочленения из положения остановки.

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

Читать батенька надо. Читать.


 
Slicer__   (2005-04-28 19:18) [6]

Делаю все как в примере и как описано ниже. Но колеса поворачиваются не равномерно - в воздухе крутся быстро (и без лимита на 0.75 радиан), а на земле очень медленно и не равномерно.
И как мне зафиксировать эту ось, что бы она не болталась свободно при езде?
Вот мой код:

 if IsKeyDown(VK_LEFT) then steer:=steer+0.5;
 if IsKeyDown(VK_RIGHT) then steer:=steer-0.5;

dJointSetHinge2Param (GLODEJointList1.Joints.Joint[i].JointID,dParamVel2,steer);
   dJointSetHinge2Param (GLODEJointList1.Joints.Joint[i].JointID,dParamFMax2,1.2);
   dJointSetHinge2Param (GLODEJointList1.Joints.Joint[i].JointID,dParamLoStop2,-0.75);
   dJointSetHinge2Param (GLODEJointList1.Joints.Joint[i].JointID,dParamHiStop2,0.75);
   dJointSetHinge2Param (GLODEJointList1.Joints.Joint[i].JointID,dParamFudgeFactor2,0.1);



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
8-1112790706
Asic
2005-04-06 16:31
2005.08.21
Видео и Аудио плеер с помощью DSPack a


14-1122409786
Piter
2005-07-27 00:29
2005.08.21
2 * 2 = 5


1-1122757320
Borlander
2005-07-31 01:02
2005.08.21
Создание Dll


1-1122724239
Antonn
2005-07-30 15:50
2005.08.21
Ресурсы в EXE шнике


14-1122495978
Qwertyk
2005-07-28 00:26
2005.08.21
Как избавиться от разводов