Главная страница
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.01 c
6-1254940473
__Алексей__
2009-10-07 22:34
2012.04.15
Глупый вопрос про подсчет трафика и GetIfTable


4-1254300446
Игорь Андреевич
2009-09-30 12:47
2012.04.15
Запретить запись с экрана


15-1323809010
Германн
2011-12-14 00:43
2012.04.15
Загрузочное меню


15-1323635402
Юрий
2011-12-12 00:30
2012.04.15
С днем рождения ! 12 декабря 2011 понедельник


6-1255266708
zoomod
2009-10-11 17:11
2012.04.15
Как проверить наличие tcp-ip соединения WinSock