使用threejs动态更新平面/立方体顶点-更新矩阵时出现问题

时间:2018-08-28 05:04:16

标签: javascript three.js

我有一架飞机,使用Threejs将其添加到场景中。我正在使用用户界面控件调整位置和旋转,如果位置或旋转发生变化,那么我正在运行以下代码来获取更新的平面/立方体顶点和矩阵值:

plane.updateMatrixWorld();
plane.updateMatrix(); 
plane.geometry.applyMatrix( plane.matrix );
plane.matrix.identity();
console.log(plane.matrix); // using this to get matrix values
console.log(plane.geometry.vertices); //using this to get plane vertices.

当我在上面的代码中运行时,场景中平面/立方体/网格的位置偏移面临问题。

尝试添加以下代码以使其动态更新到顶点,但不起作用:

plane.verticesNeedUpdate = true;
plane.elementsNeedUpdate = true;
plane.morphTargetsNeedUpdate = true;
plane.uvsNeedUpdate = true;
plane.normalsNeedUpdate = true;
plane.colorsNeedUpdate = true;
plane.tangentsNeedUpdate = true;

是的,得到了​​解决方案,当代码下面的位置/旋转位置发生变化时。       var plane_vector; function updateVertices(){ plane.updateMatrixWorld(); console.log("plane Vertices: "); for(i = 0; i<=(plane.geometry.vertices.length-1); i++){ plane_vector[i] = plane.geometry.vertices[i].clone(); plane_vector[i].applyMatrix4( plane.matrixWorld ); } console.log(plane.matrix); }

0 个答案:

没有答案