Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > javafx + assimp


Автор: Leshey1976 5.11.2017, 20:50
Появилась идея использовать для загрузки анимированных 3d моделей в javaFx assimp 
https://github.com/ILDAR1976/JavaFxWithAssimp.git. Задача загрузки не анимированных моделей решена, 
но вот с анимированными моделями возникли трудности. Не удается корректно создать матрицу преобразования 
сетки для анимированной модели. Как быть?

Автор: Leshey1976 8.11.2017, 18:51
Решил, в файле "SkinningMesh.java" сделал так:
private float[][] initializeRelativePoints(final Affine[] bindTransforms, final Affine bindGlobalTransform) {
final ObservableFloatArray points = getPoints();
final float[][] relativePts = new float[nJoints][nPoints * 3];
for (int j = 0; j < nJoints; j++) {

Transform postBindTransform = bindTransforms[j]; //.createConcatenation(bindGlobalTran sform); убрал умножение на базовую матрицу трансформации


for (int i = 0; i < nPoints; i++) {
final Point3D relativePt = postBindTransform.transform(points. get(3 * i), points.get(3 * i + 1), points.get(3 * i + 2));
relativePts[j][3 * i ] = (float) relativePt.getX();
relativePts[j][3 * i + 1] = (float) relativePt.getY();
relativePts[j][3 * i + 2] = (float) relativePt.getZ();
}
}
return relativePts;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)