我有一些国家的多边形。我想用三个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的缓冲区。奇怪的行为,没有任何控制,我们不应该能够创建这样的缓冲区...所以我错在哪里?我需要帮助。
答案 0 :(得分:1)
对于像这样的情况,three.js class THREE.GeometryUtils
有许多有用的方法......
特别是,有一个merge
方法将两个Geometry对象合并为一个。假设您有三个几何对象country1, country2, country3
。然后你可以做类似的事情:
temp = THREE.GeometryUtils.merge( country1, country2 );
allCountries = THREE.GeometryUtils.merge( temp, country3 );
希望这有帮助!