我正在尝试在AFRAME中加载一组非常复杂的GLTF模型。 我的问题很简单;我的目标是尝试在一个独特的场景中加载大约900万个gltf模型。
我的想法是根据相机距离在GLTF模型中组合不同级别的细节,并且仅加载相机可见的那些gltf。如果不是问题是资产被加载到内存中,并且我的浏览器最终因内存消耗而挂起。
这可以在AFRAME中使用吗?
答案 0 :(得分:0)
通过对A-Frame best practices的一些关注,您应该能够制作出具有数万甚至数十万个多边形的高性能场景。但是,在A-Frame或任何WebGL渲染器中同时加载数百万个不同的glTF模型是不可能的。
假设您只想显示尽可能多的模型,请尝试利用某些特殊情况:
如果您需要渲染相同模型的许多副本,您可以使用名为" instancing"的技术。查看aframe-instancing以获取有关如何执行此操作的示例代码。根据模型的复杂程度,您可以一次显示数千份(但可能不是数百万份)。
如果您正在制作类似RPG的东西 - 世界上需要很多东西,但在任何特定时间只能看到少数东西 - 那么您可以聪明地将您的世界划分为区域,并且只加载当前区域的模型。
这两个都是非常重要的实现,超出了Stack Overflow问题的范围。我的建议是尝试自己开始,当你遇到麻烦时,用最少量的代码发布新问题,看看你想要做什么。您可能还会发现A-Frame Slack group很有用。