WebGL - 获得光的静态位置

时间:2016-03-09 22:10:09

标签: javascript three.js

我有一个绘制球体的简单示例。我在位置(x,y,z)=(0,100,0)和(0,-100,0)(即南半球和北半球)上添加了两个灯。您可以在this link

上查看结果

我想阻止灯跟随鼠标旋转,我已经看到了OpenGL的不同方法,但我想知道如何用WebGL实现它。

这里定义了这两个灯的代码片段:

  // Lights for scene
  var lights = [];
  lights[0] = new THREE.PointLight( 0xffffff, 1, 0 );
  lights[1] = new THREE.PointLight( 0xffffff, 1, 0 );

  lights[0].position.set( 0, 100, 0 );
  lights[1].position.set( 0, -100, 0 );

  scene.add( lights[0] );
  scene.add( lights[1] );

1 个答案:

答案 0 :(得分:0)

您应该将灯光添加到相机而不是场景。这样灯的位置相对于相机的位置:

camera.add( lights[0] )
camera.add( lights[1] )

确保在添加灯光后将相机添加到场景中:

scene.add( camera )