【发布时间】:2014-11-09 04:26:16
【问题描述】:
我在尝试点亮一个对象时很费力,使其对相机进行补间并让光线跟随补间。
基本上,我想使背景变暗并对相机的 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);});
【问题讨论】:
标签: three.js