Autodesk forge 自定义几何图形

Posted

技术标签:

【中文标题】Autodesk forge 自定义几何图形【英文标题】:Autodesk forge custom geometry 【发布时间】:2021-08-01 16:42:23 【问题描述】:

我目前面临的问题是,将自定义几何图形渲染到我的 forge 中会分配大量内存。我正在使用 Autodesk 网站上建议的技术:https://forge.autodesk.com/en/docs/viewer/v7/developers_guide/advanced_options/custom-geometry/。 我需要将多达 300 个自定义几何图形渲染到我的查看器中,但如果尝试这样做,网站只会崩溃,我的内存会超过 5 GB。有没有什么好的方法可以将大量自定义几何图形渲染到锻造中并保持性能达到有用的水平?

谢谢,JT

【问题讨论】:

【参考方案1】:

恐怕这不是 Forge Viewer 能够提供帮助的。原因如下:

查看器包含许多有趣的优化,可有效加载和渲染单个复杂模型。例如,它为模型中的所有几何构建一个特殊的 BVH,以便可以有效地遍历和渲染它们。查看器还可以通过将几何数据移入和移出 GPU 来为其他模型腾出空间来处理非常复杂的模型。但同样,所有这些都假设场景中只有一个(或几个)模型。如果您尝试将数百个模型添加到场景中,其中许多优化将无法再应用,在某些情况下它们甚至会使事情变得更糟(想象一下,观众突然不得不遍历 300 个 BVH 而不是一个)。

所以我的建议是:尽量避免场景中有数百个独立模型的情况。如果可能,请考虑将它们“合并”成一个模型。例如,如果 300 个模型是您需要放置在特定位置的 Inventor 装配体,您可以:

使用 Design Automation for Inventor 聚合所有组件,并将结果转换为单个 Forge 模型,或者 创建一个包含所有 300 个几何图形的单个 Forge 模型,然后在运行时使用查看器 API 移动它们

如果这些选项都不适合您,您还可以查看名为 SVF2 (https://forge.autodesk.com/blog/svf2-public-beta-new-optimized-viewer-format) 的新格式,它可以显着减少内存占用。

【讨论】:

嘿彼得,谢谢你的回答。我发现问题不在于几何本身,而是我添加到每个几何中的文本。我添加了 100 个方块,内存甚至没有增加。我在每个方块上添加了一个三位数的标签,例如“999”,内存从 110 MB 增加到近 3 GB。我正在使用这种方法将文本呈现到我的伪造查看器中:forge.autodesk.com/blog/…。也许您知道我做错了什么,或者有另一种方法可以将文本呈现到我的查看器中。干杯,JT 嗯,在这种情况下,内存占用必须来自文本本身。我不熟悉该功能的three.js 实现,但我猜它可能会为每个字母生成一个网格,具有很多的细节,导致内存像这样爆炸...尝试看看是否有办法控制文本的平滑度/分辨率。

以上是关于Autodesk forge 自定义几何图形的主要内容,如果未能解决你的问题,请参考以下文章

自定义按钮图标 Autodesk Forge 查看器

Autodesk Forge 中自定义模型的动态位置

Autodesk forge 在 Forge Configurator 发明者中自定义转换对象

使用 Autodesk Forge API 检索“描述”或“自定义属性”字段

如何在 Autodesk Forge Viewer 中通过对象的 dbid 设置对象的自定义属性?

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