【问题标题】:How add wavefront file(.obj) to surface3d qml?如何将波前文件(.obj)添加到surface3d qml?
【发布时间】:2020-10-15 19:01:18
【问题描述】:

我想在 surface3d in qml 中添加一个 obj 文件(波前格式)作为一个点(按一个位置) 但我不知道我是怎么做到的!

我找到了一些解决方案,但他们有一些问题,例如我只想使用 qml ,但他们使用 c++ 和 QCustomItem 。

我尝试在 sactter3d 中使用新网格(只是用它进行训练)但它无法工作:

    mesh:Abstract3DSeries.MeshUserDefined
    userDefinedMesh:Mesh{
        source: "wfObj.obj"
    }

这只是一个培训,我的主要任务是将 waveFront 添加到 surface3d qml。

感谢您的帮助。

【问题讨论】:

  • 如果您使用的是 Qt3D,那么 SceneLoader 是您需要加载 .obj/.mtl 文件并使用 Qt3D 渲染它们:doc.qt.io/qt-5/qml-qt3d-render-sceneloader.html
  • 不,我没有使用 qt3d ,正如我所说的,我使用的是 surface3d ,我只想使用 surface3d 并添加一个自定义波形作为 surface3d qml 类型中的一个点

标签: c++ qt 3d qml wavefront


【解决方案1】:

最后我在 qml 中添加了我的 CustomItem。 起初我创建了一个 Custom3DItem

Custom3DItem
{
    id:c3i
    meshFile: qsTr(":/Items/oilrig.obj")
    position: Qt.vector3d(35,150,35)
    textureFile: qsTr(":/Items/redPng.png")
    visible: true
    scaling: Qt.vector3d( 0.25 , 0.25 , 0.25 )
}

然后我想将它添加到我的 Surface3d(id:mySurface) 中,为此我需要通过方法添加它,所以我使用了 Itemcomponent.onCompleted

Component.onCompleted: mySurface.addCustomItem(c3i);

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 2021-10-27
    • 2012-12-18
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    相关资源
    最近更新 更多