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

Вниз

Глюк в анимации смд   Найти похожие ветки 

 
Pa5ha ©   (2007-10-03 21:03) [0]

Вобщем пытаюсь сейчас присобачить анимацию. Вобщем то я бы сказал, что все работает но есть одно но.

Анимацию пока только одну пробовал, вот нашол в данных проблемный участок:death3.smd

46 "Bip01 R Thigh"   1
time 80
46 0.000005 -0.000003 -3.619081 1.190866 2.377027 0.668896
time 81
46 0.000005 -0.000003 -3.619081 1.329434 2.288924 0.698778
time 82
46 0.000005 -0.000003 -3.619081 1.534188 2.221815 0.756434
time 83
46 0.000005 -0.000003 -3.619081 -1.373787 0.934963 -2.326650
time 84
46 0.000005 -0.000003 -3.619081 -1.175133 0.896615 -2.318040
time 85
46 0.000005 -0.000003 -3.619081 -1.048860 0.811196 -2.381857

А теперь подробнее. Между 82 и 83 кадрами нога делает некрасивое вращательное движение (анимация из кс-а кстати). Я сначала подумал, что это из-за того что разница во вращениях между этими двумя кадрами больше 2*pi, пропарсил файл на предмет таких нестыковок, но оказалось, что это не так. Кто-нить может объяснить как убрать такие баги?

ЗЫ.: поясню формат куска файла анимации:
первые три float - координаты кости x,y,z;
вторая тройка float - вращения кости x,y,z в радианах, кака я понимаю. Все это 46 кость, т.е. бедро, которое крутится не так как надо.


 
Тындекс   (2007-10-04 01:57) [1]

Чем проигрываешь? Может проигрыватель глючит?


 
Pa5ha from university )   (2007-10-04 13:50) [2]

Проигрываю своей прогой и проблема явно в ней т.к. в милкшейпе все работает как надо. Не могу понять в чем проблема и как надо преобразовать исходные данные.


 
Тындекс   (2007-10-05 05:40) [3]


> Pa5ha from university )   (04.10.07 13:50) [2]
>
> Проигрываю своей прогой и проблема явно в ней


На GLScene?

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


 
Pa5ha ©   (2007-10-05 20:51) [4]

Тындекс, нет, прога просто на опенГл и апи. Преобразования делаю просто: V_Lerp. Короче просто интерполяция линейная от одного вращения к другому, от одного Translation  к другому. И ииногда между некоторыми кадрами некоторые части тела бесяца вот так вот.


 
Тындекс   (2007-10-06 03:56) [5]


> Pa5ha ©   (05.10.07 20:51) [4]
>
> Тындекс, нет, прога просто на опенГл и апи. Преобразования
> делаю просто: V_Lerp. Короче просто интерполяция линейная
> от одного вращения к другому, от одного Translation  к другому.
>  И ииногда между некоторыми кадрами некоторые части тела
> бесяца вот так вот.


V_Lerp чего? Уголов в радианах из smd-файла? Так нельзя.

Нужно перевести ротации в кватернионы, и делать Lerp им. Функция Lerp для кватернионов, если надо, есть в GLScene в файле VectorGeometry.pas.


 
Pa5ha ©   (2007-10-06 15:42) [6]

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


 
Тындекс   (2007-10-08 04:15) [7]


> Pa5ha ©   (06.10.07 15:42) [6]
>
> Тындекс, обясни пожайлуйста почему? Я вот никак в кватернионы
> доганть не могу.


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


> Я вот никак в кватернионы доганть не могу.


Что именно? Форумала Lerp ( QuaternionSlerp ) для кватернионов есть здесь:
http://glscene.cvs.sourceforge.net/glscene/Source/Base/VectorGeometry.pas?revision=1.54&view=markup



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1323693258
stas
2011-12-12 16:34
2012.04.15
подключение через VPN


15-1322937752
Андрей Билан
2011-12-03 22:42
2012.04.15
Перевод проекта с Delphi 5 на Delphi XE


15-1323763792
Dennis I. Komarov
2011-12-13 12:09
2012.04.15
WinXP без GUI...


2-1324572024
Каныбек
2011-12-22 20:40
2012.04.15
Memo, сохранение


8-1223290961
BREND
2008-10-06 15:02
2012.04.15
Обработка видеосигнала