6

我正在尝试用three.js绘制三角形:

var scene = new THREE.Scene();

var camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 1000 );
camera.position.z = 100;
scene.add( camera );

var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild( renderer.domElement );

var geom = new THREE.Geometry();
var v1 = new THREE.Vector3(0,0,0);
var v2 = new THREE.Vector3(30,0,0);
var v3 = new THREE.Vector3(30,30,0);

console.log(geom.vertices)
geom.vertices.push(new THREE.Vertex(v1));
geom.vertices.push(new THREE.Vertex(v2));
geom.vertices.push(new THREE.Vertex(v3));

geom.faces.push( new THREE.Face3( 0, 1, 2 ) );
geom.computeFaceNormals();

var mesh= new THREE.Mesh( geom, new THREE.MeshNormalMaterial() );
scene.add(mesh);

renderer.render( scene, camera );

但是屏幕上什么都没有。然而,这些例子正在工作: http ://threejs.org/docs/58/#Manual/Introduction/Creating_a_scene https://github.com/tonylukasavage/jsstl(这里的三角形的创建方式与我尝试的方式相同)

你能帮我找出问题吗?谢谢, 叶夫根尼亚

4

1 回答 1

10

而是这样做:

geom.vertices.push( v1 );
geom.vertices.push( v2 );
geom.vertices.push( v3 );

您是从网络上复制过时的代码 - 还是从过时的书中复制?从适用于当前版本库的 three.js 示例中学习。

三.js r.58

于 2013-04-29T13:47:28.547 回答