【问题标题】:Implementing shorted path Algorithm in autodesk forge viewer在 Autodesk forge 查看器中实现短路路径算法
【发布时间】:2021-02-19 02:27:06
【问题描述】:

我正在尝试根据 2 个对象之间的最短路径在查看器上绘制几何图形。 到目前为止,我知道如何使用 vector3 绘制自定义几何图形。 我还弄清楚了可以使用哪种算法来找到点 A 到点 B 之间的最短路径。 这里有几个: 迪杰斯特拉 A* 搜索 我已经看到了这个算法被实现的例子,我在伪造查看器中尝试了类似的解决方案,这里是Link

如果有人可以帮助我,我怎样才能像上面的示例一样将第一人称视角限制为穿过墙壁。现在在伪造查看器中,我可以穿透我想避免的墙壁,或者有什么方法可以识别墙壁

【问题讨论】:

    标签: autodesk-forge autodesk-viewer autodesk autodesk-model-derivative


    【解决方案1】:

    不幸的是,查看器并没有为寻路提供很多支持,所以大部分都必须手动完成。

    以下是一些可用的功能,在您的情况下可能会很方便:

    • 您可以在场景中“发射光线”并计算它们与最近几何体的交点,例如,使用viewer.impl.rayIntersect(ray, ignoreTransparent)
      • 例如,如果您在场景中有某种化身,这可用于检测与墙壁的碰撞
    • 如果需要,您可以使用“片段列表”检索场景中各个对象的几何形状:
    let frags = viewer.model.getFragmentList();
    let tree = viewer.model.getInstanceTree();
    tree.enumNodeFragments(dbid, function (fragid) {
        let mesh = frags.getVizmesh(fragid);
        // Do something with the mesh...
    });
    

    【讨论】:

    • 感谢 Petr,这为我增加了更多知识,并尝试使用您的上述解决方案来解决这个问题
    猜你喜欢
    • 2020-06-30
    • 2021-11-12
    • 1970-01-01
    • 2021-09-19
    • 2018-08-17
    • 1970-01-01
    • 2019-10-26
    • 2020-09-06
    • 2020-10-23
    相关资源
    最近更新 更多