如何在三个js中多次高效地渲染一个网格?

How to render efficiently a mesh multiple times in three js?

我正在尝试创建一个立方体世界游戏。 所以有 3d 块阵列,每​​个块都是一个网格阵列(现在网格阵列实际上是一个单一的网格,立方体)。它可以工作,但是当我使用大量块(50x1x50 就足够了)时,fps 会下降得很低(大约 3)。

当我多次使用一个块时,我使用了 clone() 函数,但这还不够。网格的几何形状是 BoxBufferGeometry。我也尝试使用相同的几何形状和纹理(而不是使用克隆)但它并没有变得更好。

那么,我怎样才能提高帧率?类似游戏有什么魔力?

您可以查看实例化: https://codepen.io/ykob/pen/xqvXex

或者您可以对几何体使用 .merge 方法将它们合并为一个几何体,并为每个区域渲染一个网格。

someFakeCodeSoSOWillLetMePost();