0

我正在尝试使用 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 的球体。它显示得很好。

我错过了什么?

4

1 回答 1

1

摄像机正在观察飞机的“背面”。

飞机有两个侧面,但只有一个是可见的。

两种解决方案:

1)移动相机看平面的“正面”:

this.camera.position.y = 100;

2)或者,激活doubleSided标志:

plane.doubleSided = true;
于 2012-05-13T09:19:44.557 回答