【问题标题】:Vertices in a plane have no position?平面中的顶点没有位置?
【发布时间】:2012-07-12 15:10:38
【问题描述】:

我有一个可能很愚蠢的问题。我试图遍历平面的顶点。 为什么这行不通。我收到“未捕获的类型错误:无法设置未定义的属性 'x'”错误。

plane = new THREE.Mesh(new THREE.PlaneGeometry(100,100, 10, 10), planeMat);

//Set up heightmap for plane
var vertices = plane.geometry.vertices;
var l = vertices.length;
for ( var i = 0;i < l;i++){
    vertices[i].position.x = Math.random()*50;
}

scene.add(plane);

呈现http://jsfiddle.net/sJESN/ 的整个代码取消注释上述循环中的注释行以获取错误。

感谢您的帮助,我已经为此发疯了 3 天! 对于任何菜鸟的错误,我们深表歉意。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    作为所有几何对象一部分的顶点数组没有位置成员。位置变量是 Object3D 的成员,它是一个 THREE.Vector3。顶点数组实际上本身是一个由 THREE.Vector3 组成的数组,所以你只需要更改这一行

    vertices[i].position.x = Math.random() * 50;
    

    到...

    vertices[i].x = Math.random() * 50;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      相关资源
      最近更新 更多