Three.js中的均匀照明模型

时间:2015-02-28 04:42:41

标签: javascript three.js

我有一个3D模型,我希望从各个方向均匀照亮,没有任何阴影。目前我正在使用Spotlight,但由于它是方向性的,我只能看到模型的某些部分在任何时间点亮。

解决此问题的一种方法是在边界框的每个角落处指向聚焦框中心的聚光灯。这样我将有8个聚光灯。

这是解决此问题的标准方法,还是这种方法也有局限性?你能建议一个更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

有三种方法可以在three.js中生成相当均匀的光照。

如果您想要聚光灯或定向灯,请务必添加一些环境光:

scene.add( new THREE.AmbientLight( 0x222222 ) );

如果您这样做,也请将material.ambient设置为与material.color匹配,这样模型的不亮侧面看起来就会正确。 ({71}中删除了material.ambient

第二种解决方案是使用半球灯。

第三种解决方案,因为你不关心阴影,就是将点光源添加为相机的一个孩子。

scene.add( camera ); // required only if the camera has children

camera.add( new THREE.PointLight( 0xffffff, 1 ) );

通过这种方式,无论视图方向如何,场景都会很好地点亮。

three.js r.70