Войти
ПрограммированиеФорумГрафика

Скелетная анимация на пальцах. (комментарии) (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
2:22, 27 дек. 2012

Andrey
> Все там понятно.Реализовать самому анимацию это значит написать экспортер в
> собственный формат,загрузчик обновление с шейдером далее можно еще подумать про
> оптимизации в виде заливке кватернионов с позицией в шейдер вместо матриц .Если
> ты это сделал,то странно что нет понял статьи.
Автор не написал ничего из того, что меня заботило, когда я делал скелетную анимацию. По-моему самая жопа в скелетной анимации - это череззадые перевороты матриц на 180 градусах, об этом почему-то ничего не написано. Ну и вообще, как в шейдер запихнуть все данные о скелете вместо той хрени, что написано из разряда для даунов типа "складываем 4 коэффициента".
Например, когда я делал, то внезапно для себя узнал, что аттрибутами вертексов могут быть только числа с плавающей запятой, то есть спокойно так взять и в лоб запихнуть туда индексы нодов не получится. Причём это даже в самых последних GAPI.
Не понятно зачем в ноде хранить все чайлды и зачем в нём же хранить исходную матрицу. Хотя это уже архитектурные вопросы.
Кстати, если у вас на входе в шейдер не набор типа "вес и позиция с индексом кости", а набор вроде "вес и номер кости", то тоже некие проблемки имеются ;) Об этом ничего не сказано, с чем я автора и поздравляю.

А так в целом можно например выложить шейдер вроде такого:

+ Показать

И оставить это без комментариев.
Всё понятно, да?


#16
7:32, 27 дек. 2012

совершенно нубский вопрос: если я использую cpu для анимации, как обновлять координаты вершин: обновлять вешинный буфер или можно как–то индивидуально к каждой вершине треугольника применять матрицы?

#17
8:25, 27 дек. 2012

Gringosol
>если я использую cpu для анимации, как обновлять координаты вершин
обновлять вешинный буфер на cpu
> или можно как–то индивидуально к каждой вершине
рендер через вешинный шейдер

#18
9:15, 27 дек. 2012

Chaos_Optima
> а во вторых я не считаю что эту матрицу лучше использовать.

Поясните

#19
10:02, 27 дек. 2012

Статья не о чем
1 - те кто знает она не нужна!
2 - те кто не знает, запутаются еще больше!
Лучше примеры и кода по больше
Типа -
3dmax редактор
экспорт в файл
импорт в программу
описание всех классов в программе
сборка
рендер
и люди тебя полюбят
а кому нужна мат часть сами найдут)

#20
12:01, 27 дек. 2012

SNVampyre
> Автор не написал ничего из того, что меня заботило, когда я делал скелетную
> анимацию. По-моему самая жопа в скелетной анимации - это череззадые перевороты
> матриц на 180 градусах, об этом почему-то ничего не написано.
+10

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

хороших статей про скелетную анимацию мало. В моём случае из статей я нашёл только как мне заставить скелет и геометрию правильно выглядеть, и про кадры анимации. Остальное достигалось своими исследованиями.

По мне так статья больше походит на подсказку.

#21
14:25, 27 дек. 2012

innuendo
> Поясните
сори перепутал кое с чем.
NEMES_KILL
> 1 - те кто знает она не нужна!
ды собственно как любая статья для новичков.
NEMES_KILL
> 2 - те кто не знает, запутаются еще больше!
вот с этим несогласен.
NEMES_KILL
> а кому нужна мат часть сами найдут)
дык тут нет мат части, я постарался сделать без всяких сложных выкрутасов.
МЫЛО
> а ещё к примеру не написано про то, как это сделать матрацами, кватернионами, и
> даже обычными углами эйлера и позициями костей, как правильно выставить
> геометрию и кости (или объяснить, что это не обязательно), а так же как
> смешивать несколько анимаций в одну аля "для продвинутых".
блин ну это реально уже для продвинутых, можно было в принципе написать про декомпозицию матрицы и интерполяцию через кватернионы, но мне кажется это для начального уровня лишнее, не говоря уже о смешивании нескольких анимаций.

#22
14:57, 27 дек. 2012

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

АП.
Тем более, откуда новички сразу так взяли и получили матрицы?

#23
16:02, 27 дек. 2012

Chaos_Optima
Ниасилил, слишком сложно для меня.

#24
4:45, 28 дек. 2012

Chaos_Optima
Не понимаю почсему 4x3 хуже чем 4x4. Данных шлется меньше.
SNVampyre
про повороты на 180 градусов это случайно не проблема Gimbal Lock ?
Шейдер делает расчет анимации, данные для расчета берутся из текстур. Причем как-то хитро все это там хранится  и зачитывается Я так понял текстуры динамически меняются. Не видно интерполяции между кадрами. Думаю такая реализации будет тормоз по сравнению с простым расчетом костей на CPU. Столько выборок из текстуры в вершинном шейдере это жесть.Единственное применение текстур для скелетной анимации это случай когда число костей выходит за пределы числа констант шейдера.

#25
15:08, 28 дек. 2012

Andrey
Кости считаются на CPU.
А повороты на 180 градусов - это проблема кватернионов.

#26
15:12, 28 дек. 2012

SNVampyre
> А повороты на 180 градусов - это проблема кватернионов.
Это проблема аниматора :)

#27
18:32, 28 дек. 2012

Добавил демку

#28
18:44, 28 дек. 2012

Che@ter
> Это проблема аниматора :)
+1

Chaos_Optima
Где такого паучка взял? Он шикарен )))

#29
19:04, 28 дек. 2012

fzr125
> Где такого паучка взял? Он шикарен )))
эт из нашей игрухи

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.