3

私はおそらくばかげた問題を抱えています。平面の頂点を繰り返し処理しようとしています。なぜこれが機能しないのですか。「Uncaught TypeError: 未定義のプロパティ '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日間夢中になっています! ノブの間違いで申し訳ありません。

4

1 に答える 1

8

すべてのジオメトリ オブジェクトの一部である頂点配列には、位置メンバーがありません。位置変数は Object3D のメンバーであり、THREE.Vector3 です。頂点の配列は実際にはそれ自体が THREE.Vector3 の配列であるため、この行を変更するだけです

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

に...

vertices[i].x = Math.random() * 50;
于 2012-07-12T19:46:03.867 に答える