2012-05-23 133 views
3

我试着玩从aerotwist教程。一切都很顺利,直到我搞砸THREE.PlaneGeometry,如下面的代码:THREE.PlaneGeometry没有得到渲染

var $container = $('#container'); 
var WIDTH = $container.width(), HEIGHT = $container.height(); 
var VIEW_ANGLE = 45, ASPECT = WIDTH/HEIGHT, NEAR = 0.1, FAR = 10000; 

var renderer = new THREE.WebGLRenderer(); 
var camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR); 
var scene = new THREE.Scene(); 
camera.position.z = 300; 
renderer.setSize(WIDTH, HEIGHT); 
$container.append(renderer.domElement); 

// create the mesh's material 
var meshMaterial = new THREE.MeshBasicMaterial({color:0xCC0000}); 
var mesh = new THREE.Mesh(new THREE.CubeGeometry(100,100,1,1),meshMaterial); 

// add the mesh to the scene 
scene.add(mesh); 
scene.add(camera); 
renderer.render(scene, camera); 

当我改变从

var mesh = new THREE.Mesh(new THREE.CubeGeometry(100,100,1,1),meshMaterial); 

行至

var mesh = new THREE.Mesh(new THREE.PlaneGeometry(100,100,1,1),meshMaterial); 

var mesh = new THREE.Mesh(new THREE.PlaneGeometry(100,100),meshMaterial); 

然后没有呈现。哪里不对?

回答

3

它可能不是双面的,或者你不能看到它的当前角度,请检查js fiddle of plane rotating并在练习中使用它。

编辑:

看起来像平面朝下所以相机不能看到它,我改变了mesh.rotation.x来证明它确实呈现。

见 - updated example

+0

我检查过使用FireBug,飞机和相机,他们的旋转等似乎没有问题... –

+0

你可以创建一个你的例子jsfiddle吗? – Neil

+0

http://jsfiddle.net/NycWc/22/ –

0

尼尔的答案是什么,我想先试;它也可能是您的比例(至少在一个轴上)被设置为0或NaN。