0
所以,我想制作一个简单的地形编辑器。所以,在mouseDown上,我希望所选的人脸向上移动。 交集的伟大工程,我尝试修改几何图形像这样:Three.js - 编辑平面几何
var intersects2 = ray.intersectObjects([plane]);
if (intersects2.length > 0) {
var face = intersects2[0].face;
var obj1 = intersects2[0].object;
var geo = obj1.geometry;
geo.vertices[face.a].z += 50;
geo.vertices[100].z += 50;
geo.vertices[0].z += 50;
geo.computeVertexNormals();
geo.computeFaceNormals();
geo.__dirtyVertices = true;
geo.__dirtyNormals = true;
console.log(face.a);
}
控制台日志显示正确的顶点指数,但没有在飞机上移动。任何想法为什么?
飞机是这样创建的:
var planegeo = new THREE.PlaneGeometry(500, 500, 10, 10);
planegeo.dynamic = true;
plane = new THREE.Mesh(planegeo, new THREE.MeshPhongMaterial({ color: 0x99ff66 }));
plane.receiveShadow = true;
scene.add(plane);