我正在尝试使用ThreeJS绘制平面地形,但它不起作用。
这是我的飞机创建代码:
var plane = new THREE.Mesh(new THREE.PlaneGeometry(300, 300), new THREE.MeshBasicMaterial({
color: 0x0000ff
}));
plane.overdraw = true;
this.scene.add(plane);
非常直截了当。实际上我只是从某个网站上复制了它。
这是我初始化场景和相机的方式:
this.camera =
new THREE.PerspectiveCamera(
45, // view angle
width / height, // aspect
0.1, // near
10000); // far
this.scene = new THREE.Scene();
// add the camera to the scene
this.scene.add(this.camera);
// the camera starts at 0,0,0
// so pull it back
this.camera.position.z = 800;
this.camera.position.y = -100;
我的中心还有一个半径为20的球体。它显示得很好。
我错过了什么?
答案 0 :(得分:1)
相机正在看着飞机的“背面”。
一架飞机有两面,但只有一面可见。
两种解决方案:
1)移动相机以查看飞机的“正面”:
this.camera.position.y = 100;
2)或者,激活doubleSided
标志:
plane.doubleSided = true;