基类Light和Object3D

70 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第33天,点击查看活动详情

光源位置属性

光源对象继承父类Object3D的位置属性.position

以点光源PointLight 为例,PointLight的基类是LightLight的基类是Object3D,点光源自然继承对象Object3D的位置属性.position

var point = new THREE.PointLight(0xffffff);//点光源
//设置点光源位置  
//
//光源对象和模型对象的position属性一样是Vector3对象
point.position.set(400, 200, 300);

光源对象的.add()方法同样继承自基类Object3D

//环境光对象添加到scene场景中
scene.add(ambient);
//点光源对象添加到scene场景中
scene.add(point);

光源颜色属性.color和强度属性.intensity

你查看光源光源Light文档,可以看到该类定义了光源颜色属性.color和强度系数属性.intensity

光源颜色属性.color默认值是白色0xffffff,强度属性.intensity默认1.0,光照计算的时候会把两个属性值相乘。

比如环境光颜色设置为0xffffff,强度系数设置为0.5,把0.5设置为0.8,threejs场景中模型会变得更明亮。调节环境颜色你可以直接设置不同颜色值,比如0x444440xddddddd,也可以使用更为方便的强度系数去调节。对于点光源、聚光源和环境光一样继承基类Light强度系数属性.intensity

//环境光:颜色设置为`0xffffff`,强度系数设置为0.5
var ambient = new THREE.AmbientLight(0xffffff,0.5);
scene.add(ambient);