6

我正在尝试旋转聚光灯。我的代码是:

var light   = new THREE.SpotLight( color, intensity, distance );
light.position.set( 0, 100, 0 );
light.rotation.set( 0, Math.PI, 0 );
light.shadowCameraFar = 50;
light.shadowCameraNear      = 0.01;     
light.castShadow        = true;
light.shadowDarkness        = 0.5;
light.shadowCameraVisible   = true;
light.shadowCameraFar = 800;
light.shadowCameraFov = 15;
scene.add( light );

我想知道我做错了什么。聚光灯不会改变它的旋转独立于我输入的值。

4

2 回答 2

4

light.target确定聚光灯的阴影相机方向。例如,如果您的场景中有一个名为 myObject 的对象,您可以执行以下操作:

light.target = myObject;

请记住,light.target是一个Object3D,而不是一个位置向量。

三.js r.49

于 2012-06-21T19:22:00.973 回答
1

因此,您可以通过直接分配来定位灯光目标:

myLight.target.position = new THREE.Object3D( 10, 20, 30 );

或者通过定义灯光目标对象属性:

myLight.target.position.x = 10;
myLight.target.position.y = 20;
myLight.target.position.z = 30;
于 2013-05-17T09:27:24.120 回答