Three.js light object3d和tween

时间:2014-11-09 04:26:17

标签: three.js

我正在努力试图点亮一个物体,让它对着摄像机补间并让光跟随补间。

基本上我想让背景变暗并将3D物体照射到相机上,并设置指向它的方向灯,使其具有漂亮,平滑,均匀的照明。

我添加到对象的方向灯没有显示,我尝试过的最新信息是:

  var directionalLight = new THREE.DirectionalLight( 0xffffff, 1 );
    directionalLight.position.set( 0, 0, -100);
    directionalLight.lookAt(object);
    directionalLight.shadowCameraVisible = true;
    object.add( directionalLight );

我也在相机附近尝试了PointLights,这种工作但它是一种非常清晰的光线,不是光滑的,似乎并没有照亮所有物体。

使用类似的东西

 hslight1 = new THREE.PointLight( 0xffffff,0.9,100 );
   hslight1.position.set(0,10,0);
   scene.add( hslight1 );
   hslight2 = new THREE.PointLight( 0xffffff,0.9,100 );
   hslight2.position.set(0,0,0);
   scene.add( hslight2 );

任何人都可以通过任何方式获得任何想法来均匀照亮使用

向相机补间的object3D
var dist = (size/screen) * (object.scale.x * 2); 

    var pLocal = new THREE.Vector3( 0, 0, -dist );
    var target = pLocal.applyMatrix4( camera.matrixWorld );
    var tweenMove = new TWEEN.Tween(object.position).to(target,        1500).easing(TWEEN.Easing.Cubic.InOut);
    tweenMove.onUpdate(function(){object.lookAt(camera.position);});

1 个答案:

答案 0 :(得分:0)

通过将灯光添加到相机

来解决此问题
camera.add( light );