0

我有一些国家多边形。我想用三个 js 将它们绘制在我的球体顶部,但是当我尝试绘制这些多边形时,fps 下降,以 3fps....

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

我在做什么:

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

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

4

1 回答 1

1

对于此类情况, three.js 类THREE.GeometryUtils有许多有用的方法......

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

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

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

希望这可以帮助!

于 2013-04-19T18:11:28.170 回答