Failed to load mesh 解决QtDesignStudio生成的mesh文件导入QtCreator版本不匹配问题
解决QtDesignStudio生成的mesh文件导入QtCreator版本不匹配
使用Qt开发3D软件的时候,QtDesignStudio生成的mesh文件导入QtCreator会出现版本不匹配的问题:
QSSG.warning: Failed to load mesh: :/qt/qml/Quick3DAssets/Model/meshes/model_mesh.mesh
Mesh data invalid
QSSG.warning: Failed to load mesh: :/qt/qml/Quick3DAssets/Model/meshes/model_mesh.mesh
Mesh data invalid
原因
QtDesignStudio使用解析3D文件的工具版本和QtCreator对应的版本的不匹配。
解决方案:用Qt版本对应的工具解析3D文件
在Qt下载目录下,有每个版本对应的编译器内的balsam工具,用来生成匹配该版本和编译器的3D Qt 解析文件。
使用命令行(下面是 Ubuntu 命令行,别的平台,例如 Windows 按照自己的条件改下)
$ cd Qt/5.15.15/gcc_64/bin/ # 进入qt/5.15.15版本gcc_64编译器的bin目录下
$ mkdir resourceGen # 创建一个临时文件夹
$ cd resourceGen # 进入文件夹
$ ../balsam model.glb # 使用 balsam 工具指定模型文件
# 生成qml以及mesh和纹理文件
generated file: "/Qt/5.15.15/gcc_64/bin/resourceGen/model.qml"
大概会生成如下格式:
之后导入自己的 QtCreator 项目里面,使用对应的版本编译器即可编译。