如何在三个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();
我正在尝试创建一个立方体世界游戏。 所以有 3d 块阵列,每个块都是一个网格阵列(现在网格阵列实际上是一个单一的网格,立方体)。它可以工作,但是当我使用大量块(50x1x50 就足够了)时,fps 会下降得很低(大约 3)。
当我多次使用一个块时,我使用了 clone() 函数,但这还不够。网格的几何形状是 BoxBufferGeometry。我也尝试使用相同的几何形状和纹理(而不是使用克隆)但它并没有变得更好。
那么,我怎样才能提高帧率?类似游戏有什么魔力?
您可以查看实例化: https://codepen.io/ykob/pen/xqvXex
或者您可以对几何体使用 .merge 方法将它们合并为一个几何体,并为每个区域渲染一个网格。
someFakeCodeSoSOWillLetMePost();