如何使用三个js将多个多边形创建为单个几何体

时间:2013-04-19 13:17:45

标签: three.js

我有一些国家的多边形。我想用三个js在我的球体上绘制它们,但是当我试图绘制这些多边形时,fps会下降,速度为3fps ....

有人告诉我创建juste ONE几何体并将所有多边形包含在其中,你有一个例子吗?

我在做什么:

foreach countrie in countries 
  geometry = new THREE.shapeGeometry();
  geometry.push(vectorArray);
  var mesh = new Mesh(geometry);
  globe.Add(mesh);

超过250个国家,三个js只创造了超过38k的缓冲区。奇怪的行为,没有任何控制,我们不应该能够创建这样的缓冲区...所以我错在哪里?我需要帮助。

1 个答案:

答案 0 :(得分:1)

对于像这样的情况,three.js class THREE.GeometryUtils有许多有用的方法......

特别是,有一个merge方法将两个Geometry对象合并为一个。假设您有三个几何对象country1, country2, country3。然后你可以做类似的事情:

temp = THREE.GeometryUtils.merge( country1, country2 );

allCountries = THREE.GeometryUtils.merge( temp, country3 );

希望这有帮助!