Главная страница
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.026 c
14-1121602423
Blaster
2005-07-17 16:13
2005.08.21
Delphi 2005 - стоитли пробовать?


11-1105695193
DmiSb
2005-01-14 12:33
2005.08.21
Печать страницы Excel не показывая самого Excel ?


1-1122841454
ronyn
2005-08-01 00:24
2005.08.21
Табуляция из одного Edit в другой


14-1122477615
maximsm
2005-07-27 19:20
2005.08.21
MSVS


1-1122562814
Selen
2005-07-28 19:00
2005.08.21
Help!!! Edit i расширение