Qt3D模块导入STL文件:如何配置灯光和material
Import STL files by Qt3D module: how to do configuration of light and material
我已经使用某人上传的代码 here on Bitbucket 使用 Qt3D 打开和查看 STL 文件。该代码有一个对应于导入的STL模型的实体:
Entity
{
id: monkeyEntity
components: [
SceneLoader
{
id: sceneLoader
}
]
}
上面sceneLoader
是通过QML对话框加载导入的STL模型:
FileDialog
{
id: fileDialog
onAccepted:
{
sceneLoader.source = fileDialog.fileUrl
}
}
但是当我导入STL文件时,灯光不工作。不管我怎么调光还是material导入的3D STL模型都是白的,看不出3D的形状:
然而,当我使用 Blender software 将 STL 文件转换为 Wavefront OBJ 文件时,导入到 Qt3D 应用程序中的 OBJ 文件正确显示:
我尝试了 Qt3D 的许多灯光和 material 功能,但我无法正确查看 STL 模型。谁能提供适用于 STL 文件的 Qt3D light/material 配置示例?
当我 build/run 使用 Qt 5.9.0 的应用程序时,它工作正常,即它可以导入所有颜色的 STL 文件:
但是对于 Qt 5.11,它不能正常工作:
我认为问题是 SceneLoader
,它在 Qt 5.9.0 和 Qt 5.11 中的工作方式不同。
我已经使用某人上传的代码 here on Bitbucket 使用 Qt3D 打开和查看 STL 文件。该代码有一个对应于导入的STL模型的实体:
Entity
{
id: monkeyEntity
components: [
SceneLoader
{
id: sceneLoader
}
]
}
上面sceneLoader
是通过QML对话框加载导入的STL模型:
FileDialog
{
id: fileDialog
onAccepted:
{
sceneLoader.source = fileDialog.fileUrl
}
}
但是当我导入STL文件时,灯光不工作。不管我怎么调光还是material导入的3D STL模型都是白的,看不出3D的形状:
然而,当我使用 Blender software 将 STL 文件转换为 Wavefront OBJ 文件时,导入到 Qt3D 应用程序中的 OBJ 文件正确显示:
我尝试了 Qt3D 的许多灯光和 material 功能,但我无法正确查看 STL 模型。谁能提供适用于 STL 文件的 Qt3D light/material 配置示例?
当我 build/run 使用 Qt 5.9.0 的应用程序时,它工作正常,即它可以导入所有颜色的 STL 文件:
但是对于 Qt 5.11,它不能正常工作:
我认为问题是 SceneLoader
,它在 Qt 5.9.0 和 Qt 5.11 中的工作方式不同。