Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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; } |