我创建了一个平面,当我点击一个顶点时,顶点将按预期移动和渲染。我的问题是将网格保存到文本文件。顶点似乎没有按预期更新文件。
如果我在第二次渲染之前移动顶点,顶点位置将反映在外部文本文件上。
我的问题是,一旦我移动了一堆顶点x,y,z位置,我如何保存屏幕上显示的结果,因为它似乎只保存原始网格。
var guiControls = new function () {
var t = ['Test Save File'];
this.save_mesh = function () {
for (var i = 0, j = ground.geometry.vertices.length; i < j; i++) {
t.push('['+ ground.geometry.vertices[i].x+','+ ground.geometry.vertices[i].y+ ','+ objects[0].geometry.vertices[i].z+ '@:'+']');
}
function passMesh(){
var data = {
value: t
};
$.post("./php/savefile.php", data);
}
passMesh();
};
我尝试使用可用的更新:
geo.dynamic = true;
geo.computeVertexNormals();
geo.computeFaceNormals();
geo.verticesNeedUpdate = true;
geo.normalsNeedUpdate = true;
感谢任何帮助。
答案 0 :(得分:1)
在3D图形中,所有更改都只是原始网格的矩阵变换,实际上并不会更改此网格。所以我的猜测是你需要在导出之前将转换应用于对象。尝试:.applyMatrix