6

我开始学习 ThreeJS。我有一些非常复杂的模型要展示。

这些模型来自我的客户提供的 Autocad 文件。

但有时模型中的细节数量对于网站的目的来说太多了。

我想减少模型中的顶点数量以简化显示并提高性能。

这可能在 ThreeJS 中实现吗?或者是否有其他解决方案?

4

3 回答 3

8

有一个名为 SimplifyModifier 的修饰符效果很好。您可以在 Three.js 示例中找到它

https://threejs.org/examples/#webgl_modifier_simplifier

于 2017-01-10T14:42:28.450 回答
3

如果您可以将模型导入 Blender,您可以尝试Decimate Modifier。在最新版本的 Blender 中,它具有可配置“数量”参数的三种不同方法。根据您的网格拓扑,它可能会在几乎没有视觉变化的情况下大幅减少多边形数量,或者即使是轻微的减少尝试也可能完全破坏模型。其他 3d 包应该包含类似的功能,但我从未使用过。

Blender中的抽取修改器.

想到的另一件事:有时当我遇到一个太高多边形的 Blender 模型时,一个好的开始是检查它是否应用了细分修改器,如果有则删除它。虽然我不知道 Autocad 中是否有类似的东西,但可能值得研究。

于 2013-04-08T22:36:24.867 回答
0

我更新了 SimplifyModifier 函数。它适用于纹理模型。这是示例:

https://rigmodels.com/3d_LOD.php?view=5OOOEWDBCBR630L4R438TGJCD

您可以提取JS 代码并在您的项目中使用。

于 2020-07-10T12:46:38.683 回答