Равнина в ThreeJS

Я пытаюсь нарисовать плоскую местность с помощью 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 в центре. Это проявляется просто отлично.

Что мне не хватает?


person Pijusn    schedule 13.05.2012    source источник


Ответы (1)


Камера смотрит на «заднюю часть» самолета.

У самолета две стороны, но видна только одна.

Два решения:

1) Переместите камеру, чтобы посмотреть на "переднюю часть" самолета:

this.camera.position.y = 100;

2) Или активируйте флаг doubleSided:

plane.doubleSided = true;
person Juan Mellado    schedule 13.05.2012
comment
Спасибо. Полезно знать ;) - person Pijusn; 13.05.2012