Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова по GLScene


Alek Aaz ©   (2002-12-08 15:36:00) 

Кто-нибудь знает как правильно повернуть объект вокруг оси?

if IsKeyDown("S") then
//rotate actor left
// Actor1.Pitch (-cTurnSpeed*deltaTime);
GetOrCreateInertia(Actor1).ApplyTorque(deltaTime, 0,-100, 0);

if IsKeyDown("X") then
//rotate actor right
// Actor1.Pitch (cTurnSpeed*deltaTime);
GetOrCreateInertia(Actor1).ApplyTorque(deltaTime, 0,100, 0);


Заремексированный вариант работает, но без инерции. Второй вариант, с инерцией не пашет. Я переделал модуль GLBehaviours(в нем не учитывается отрицательная скорость), но объект никогда в одну сторону сам не останавливался.
PS. Кстати, у меня при вращении камеры на маленьких скоростях окружающие объекты дрыгаются. Мож где галку не указал.


Alek Aaz   (2002-12-13 06:46:00) [1]

Не а, не работает.
Я тут поэксперементировал. Глюки возникают когда объект находится далеко от нулевой точки сцены. Чем дальше, тем "глюк" сильнее. Почти на границе сцены моя моделька "разлетелась". Модель отделно, камеры отдельно.
Блин. Неохота свой движок создавать :(


Alek Aaz   (2002-12-11 10:42:00) [2]

Сенькс. Проверю.


MRB_SPB   (2002-12-11 10:07:00) [3]

Ну так это именно его и колбасит. Лучше его запускать по таймеру с нужной тебе частотой я на эти грабли уже наступал сам по себе он работает не стабильно.


Alek Aaz   (2002-12-10 13:05:00) [4]

Угу. А че?


MRB_SPB   (2002-12-10 10:52:00) [5]

а ты наверно используешь GLCadencer причём с опцией самозапуска?


Alek Aaz   (2002-12-09 16:20:00) [6]

Имхо, кажется мне придется докалупывать GLBehaviours


Alek Aaz   (2002-12-09 16:18:00) [7]

Нет, ты не понял.
Поворачивая модель по оси Y, создается впечатление что нос модели, по оси Х, дергается вверх-вниз.
Чего быть по идее не должно. А таймера нет. Все делается в onprogress.

Либо глюк GLScene, либо моих ручек.


MRB_SPB   (2002-12-09 11:15:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо