在 Autodesk forge 查看器中实现短路路径算法

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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,这为我增加了更多知识,并尝试使用您的上述解决方案来解决这个问题

以上是关于在 Autodesk forge 查看器中实现短路路径算法的主要内容,如果未能解决你的问题,请参考以下文章

无法获取 Forge 清单 - Autodesk Forge 查看器

Autodesk-forge 查看器:访问令牌

你如何在亚马逊上部署伪造查看器? #autodesk #forge 查看器

Autodesk-forge 我们可以在查看器上打开 PDF 文件吗[关闭]

如何使用 Autodesk Forge 查看器离线查看模型?

在 Autodesk Forge 查看器中显示链接文件