visual-c++ - 在 Assimp 中获取骨骼动画的变换矩阵
问题描述
我正在学习在Visual Studio Express 2019的Assimp中操作模型。所以我加载了一个模型,它有 0 个动画。我想对它的骨骼应用一些变换,也许是手,并以我导出的 obj 格式查看它的效果。现在要查看 obj 格式的效果,我必须对其顶点应用更改,因此我必须在骨骼中分层应用变换。但我不明白如何实现这一切。我看过 oglDev 教程 38 但看不懂。因此,任何帮助将不胜感激。
以下是我需要帮助的想法->
1.如何对骨骼及其所有孩子应用一些变换(考虑一个简单的人体模型)。
2.如何获得受特定骨骼影响的顶点的最终位置,对于骨骼,我们只有变换矩阵,那么如何将它们转换为 X,Y,Z 坐标以告知顶点位置。
我没有使用 OpenGL。
我想在 Assimp 中使用简单的 C++ 代码来完成这一切。
请参阅此处了解更多进展和困难详情: Assimp 中的错误骨骼旋转
解决方案
.obj 格式不支持骨骼动画(或任何形式的动画)。您不能旋转不存在的骨骼。您需要使用支持骨骼动画的模型格式并使用包含该数据的模型。示例格式包括 .fbx、.gltf、.dae (COLLADA)。
推荐阅读
- angular - 从一无所有到 emailjs 到 emailjs-com
- ios - 如果节点具有 currentuser.uid 对象并显示在我的 UITableViewCell 中,则从 Firebase 中的节点检索对象
- javascript - 我写了一个简单的 Javascript 闭包代码,但它没有运行。我哪里错了?
- android - 当用户从按钮上移开手指时如何处理一个动作?
- java - 选中复选框时如何将项目移动到最后一个位置?(RecyclerView, ViewHolder)
- scala - 使用 feeder 使 gatling 为每个请求生成随机数据
- r - 如何在 R/plotROC 中重新调整 ROC 曲线?
- haskell - 当 ghc 建议将构造函数添加到导入列表时,我的数据构造函数导入/使用有什么问题?
- javascript - Base64 插件不适用于 iOS 平台上的 pdf 文件
- laravel - 具有默认选定值的 Laravel 集体选择列表