This question already has an answer here:
Qt3d Using QSceneLoader with qt 5.8
                                
                                    (1个答案)
                                
                        
                                7个月前关闭。
            
                    
我正在尝试访问QSceneLoader加载的网格的几何形状和材料,但我不知道如何。

doc


  给定3D源文件,Qt3DRender :: QSceneLoader将尝试解析该文件,并使用适当的Qt3DRender :: QGeometryRenderer,Qt3DCore :: QTransform和Qt3DRender :: QMaterial组件构建Qt3DCore :: QEntity对象树。


但它没有说明如何访问该树。 .component()函数似乎是一个解决方案,但它需要一个我没有的实体名称。

我找到了一个使用.component()函数(在此)[https://code.woboq.org/qt5/qt3d/tests/auto/render/qsceneloader/tst_qsceneloader.cpp.html]对QSceneLoader进行测试的文件,但它们似乎是手动构建实体树或进行其他操作。

我可以使用Qmesh类,但是QSceneLoader支持更多的文件格式,包括我想支持的fbx和glTF。

如果这不可能,则也可以选择替代方案。

最佳答案

我终于在这篇文章中找到了一个可行的解决方案:

Qt3d Using QSceneLoader with qt 5.8

SceneWalker完全可以满足我的需求。

10-07 15:32