0
我做了这个函数,为每个几何顶点创建一个球体并将它放置在vertice的相同位置。例如,如果我有一个立方体,函数为每个立方体放置一个球体顶点。Three.js将两个对象作为一个连接
function makeSphereVertices(){
console.log("makesphere");
spheres = [];
for(var j=0 ; j<geometryContainer.length ; j++) {
for (var i=0 ; i<geometryContainer[j].geometry.vertices.length ; i++){
var sphereGeometry = new THREE.SphereGeometry(0.04,10,10);//relative to dimension object : ToDo
var sphereMaterial = new THREE.MeshBasicMaterial({transparent: false,color: 0x000000 /*opacity: 0.01*/});
spheres = new THREE.Mesh(sphereGeometry,sphereMaterial);
spheres.position.set(geometryContainer[j].geometry.vertices[i].x,
geometryContainer[j].geometry.vertices[i].y,
geometryContainer[j].geometry.vertices[i].z);
console.log(geometryContainer[j].id);
spheres.name = "sphere";
scene.add(spheres);
verticesSphere.push(spheres);
}
}
}
在此之后,我创建了移动我的立方体像这样的功能Draggable shape。现在的问题是:我无法找到将立方体和所有球体一起移动的方法。例如,如果我拖动立方体,所有的球体都保留在旧的位置。有没有办法将球体链接到我的魔方?谢谢。
我已经完成并呈现良好,但raycaster.intersectObjects(组);给我没有与组的交集。 @hobs – stefano 2014-11-08 12:38:50
我认为这个问题的答案和我昨天所要求的一样。你需要做的是传递递归标志。 raycaster.intersectObjects(group,true); http://stackoverflow.com/questions/26800922/threejs-raycast-click-detection-not-working-on-loaded-3dobject这样它也检查“组”的孩子。 – hobs 2014-11-09 01:11:50