Я новичок в threejs и я проверял на raycasting tutorial , в которой автор добавил кубов на сцене, как это:Three.js лучший способ добавления нескольких кубов на сцену
geom = new THREE.CubeGeometry(5, 5, 5);
cubes = new THREE.Object3D();
scene.add(cubes);
for(var i = 0; i < 100; i++) {
var grayness = Math.random() * 0.5 + 0.25,
mat = new THREE.MeshBasicMaterial(),
cube = new THREE.Mesh(geom, mat);
mat.color.setRGB(grayness, grayness, grayness);
cube.position.set(range * (0.5 - Math.random()), range * (0.5 - Math.random()), range * (0.5 - Math.random()));
cube.rotation.set(Math.random(), Math.random(), Math.random()).multiplyScalar(2 * Math.PI);
cube.grayness = grayness; // *** NOTE THIS
cubes.add(cube);
}
Это в значительной степени легко понять, что здесь происходит, но мой вопрос:
Есть ли какая-либо польза, если вы добавите несколько кубов в и Object3D
вместо добавления каждого куба отдельно в сцену?
Меня больше всего интересует сценарий, в котором вы используете raycasting
, а в некоторых случаях вам нужно анимировать все кубы (около 200 кубов или самолетов) вместе.
THREE.GeometryUtils.merge() заменен геометрией.merge (geometry2). Хотя, поскольку вы уже используете общую геометрию, я сомневаюсь, что слияние поможет вам вообще. – Hobbes