如何在Qt3d中手动添加骨架?

时间:2018-11-14 00:44:09

标签: qt qt3d

在Qt中,我使用QSceneLoader添加了一个Mesh,但是我想使用Qt3D中的类QJoint, QSkeleton, and QArmature在QT中手动绑定网格。我没有看到很多有关创建仅通过C ++应用于网格的骨架的文档。

即使没有C ++,我发现您也可以在QML中提供电枢值,但是文件必须为.gltf。我想做的是直接使用C ++制作骨架,以便编程侧可以完全控制骨骼层次。

QSkeleton提供了一种添加关节和子关节的能力,但是这些关节又如何应用于网格呢?如果对此有任何示例,那也会有很大帮助。

这是我尝试过的:

Qt3DCore::QSkeleton* skeleton = new Qt3DCore::QSkeleton();
Qt3DCore::QJoint* joint = new Qt3DCore::QJoint();
joint->setTranslation(entityTransform->translation());
skeleton->setRootJoint(joint);
Qt3DCore::QArmature* a = new Qt3DCore::QArmature();
a->setSkeleton(skeleton);
entity->addComponent(a);

我还有一个更新功能,可以更改关节的平移/旋转并将骨架重新应用到电枢,但是它什么也没有做,所以我不知道关节/电枢是否已正确地应用于网格

0 个答案:

没有答案