作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我想做一个简单的地形编辑器。因此,在按下鼠标时,我希望所选面向上移动。相交效果很好,我尝试像这样修改几何图形:
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 );
最佳答案
查看您的代码,您似乎正在使用 R49 之前的语法。可能只是您需要将脏标志代码更新为(假设您现在使用的是更新的库!):
geo.verticesNeedUpdate = true;
geo.normalsNeedUpdate = true;
关于javascript - Three.js - 编辑平面几何图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12418016/
我是一名优秀的程序员,十分优秀!