Three.js光线(三)

本文探讨了在三维场景中,环境光与方向光对物体颜色的影响。通过具体实例展示了不同光照条件下的视觉效果,包括单一环境光、单一方向光以及两者的混合效果,并解析了这些效果背后的原理。

  多种光源同时存在于场景之中,对物体颜色的影响:可以把这种情况想成两种光源同时作用于物体,它产生的情况,和每种光源分别作用于物体,然后将两者的结果相加,是一样的效果。

一、环境光与方向光

function initLight() {
    light = new THREE.AmbientLight(0x00FF00);
    light.position.set(100, 100, 200);
    scene.add(light);

    // 方向光
    light = new THREE.DirectionalLight(0xFF0000);
    light.position.set(0, 0,1);
    scene.add(light);
}

当只有环境光时,效果如图所示:

只有方向光时:效果如图所示:

环境光和方向光混合效果如图所示:

总结一下:

1.首先方向光,是如图箭头的方向着色到物体的。而环境光由于与位置没有关系,方向又是任何方向都可以照射的,所以我们不管光的方向。

2、图中绿色的部分,是由环境光造成的。由于方向光根本照射不到绿色的部分,所以,这部分只有环境光对其影响。

3、图中黄色的部分是由环境光和方向光共同作用而成的,其实是两种光源颜色的简单相加,

0x00FF00 + 0xFF0000 = 0xFFFF00,oxFFFF00 就是黄色。

【注】:一个面分前后两个面的,只有被光源照射的那个面才能够被看到。

转载于:https://www.cnblogs.com/shenjie0507/p/9077077.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值