Lanus
> Тогда что же таке ModelBindPose ?
World матрица модели в момент привязки скелета. ИМХО не очень полезная вещь.
> Bone[ b ].Bindpose.inverted()
У него биндпоза уже инвертированная при экспорте.
Lanus
> [s]Bone[ b ].Release = Bone[ b ].Release * Bone[ b ].Bindpose.inverted()[/s]
Bone[ b ].Release = Bone[ b ].Bindpose.inverted() * Bone[ b ].Release;
и да как сказал Executor Bindpose обычно уже экспортится инвертированной.
Lanus
> И при этом все матрицы находятся в локальном пространстве кости. Так?
нет. Bindpose не в локальной
А сколько лет эта статья ещё будет висеть на главной странице?
captain NOVA
> А сколько лет эта статья ещё будет висеть на главной странице?
пока гульман свиборга до гнома не перекатит
Вот думаю, не проще ли выкинуть эти скелетные сетки и действовать проще.
А именно:
1. создать файл анимированной сетки где каждый кадр это изменённая сетка.
2. загрузить самую первую сетку.
3. из оставшихся в файле сеток(кадров) прочесть только позиции вершин.
4. при отрисовке копировать позиции вершин из [3] в [2]
При рендере таким образом не происходит вычислений с костями, весами, положением - а только копирование новых позиций вершин.
Жаберштуцер
facepalm.jpg
Жаберштуцер
:D ну, так раньше и делали. Догадайся почему перестали :)
StiX
> facepalm.jpg
+1
ASD
> :D ну, так раньше и делали. Догадайся почему перестали :)
Экономия памяти? Неудобство создания такой анимации?
Других догадок у меня нет.
Наверное ещё потому что до части сетки трудно добраться. Например выяснить где позиция кулака а где головы чтоб взаимодействие организовать.
Да, старый подход жрал много памяти ещё тогда, а сейчас модели на порядки детальнее + одних позиций вершин недостаточно, надо анимировать ещё нормали и бинормали. Плюс сочетать с динамикой (ragdoll, например) и смешивать несколько анимаций данный подход не позволяет.
Жаберштуцер
> При рендере таким образом не происходит вычислений с костями, весами,
> положением - а только копирование новых позиций вершин.
Просто копирование намного дороже вычислений.
ASD
Но если детальная физика не планируется в проекте, то остаётся один минус - смешивание анимаций это да...
А память сейчас это не критично я так полагаю.
Жаберштуцер
>Просто копирование намного дороже вычислений.
Жаберштуцер
Процессорной мощи GPU сейчас тоже предостаточно.
>Final[ i ] = ModelBindPose * Offset[ i ] * Bone[ i ];
Чо за Offset? Откуда взялся?
Тема в архиве.