1

我正在尝试在 AFRAME 中加载一组非常复杂的 GLTF 模型。我的问题很简单;我的目标是尝试在一个独特的场景中加载大约 900 万个 gltf 模型。

我的想法是根据相机距离在 GLTF 模型中组合不同级别的细节,并且只加载相机可见的那些 gltfs。如果不是问题是资产被加载到内存中,我的浏览器最终由于内存消耗而挂起。

这在 AFRAME 中可能吗?

4

1 回答 1

2

通过注意A-Frame 最佳实践,您应该能够制作具有数万甚至数十万个多边形的高性能场景。但是不可能在 A-Frame 或任何 WebGL 渲染器中同时加载数百万个不同的 glTF 模型。

假设您只想展示尽可能多的模型,请尝试利用某些特殊情况:

  1. 如果您需要渲染同一模型的多个副本,您可以使用一种称为“实例化”的技术。查看aframe-instance 以获取有关如何执行此操作的一些示例代码。根据模型的复杂性,您可能能够一次显示数千(但可能不是数百万)副本。

  2. 如果你正在制作类似于 RPG 的东西——它需要世界上很多东西,但在任何给定时间只有少数东西在视线内——那么你可以聪明地将你的世界划分为区域,并且只为当前区域加载模型.

这两个实现起来都不是微不足道的,并且超出了堆栈溢出问题的范围。我的建议是尝试自己开始,当你遇到麻烦时,用最少的代码发布新问题,看看你正在尝试做什么。您可能还会发现A-Frame Slack 组很有用。

于 2017-04-26T21:18:28.173 回答