示例描述与操作指南
当前示例用于模拟太阳光照效果。
示例效果展示
实现步骤
第一步 添加屏幕炫光
/**
* @description: 添加一个屏幕炫光到场景,因为屏幕炫光不是实际的光源,只是一个效果,因此一般配合其他光源使用。
* 一般用此屏幕炫光来模拟太阳光源,因此配合一个平行光源使用。
* 一般使平行光产生阴影效果分为以下几步:
* 1. 将渲染器的阴影设置打开,即 renderer.shadowMap.enabled = true;
* 2. 将此光源的产生阴影的属性打开,即 spotLdirectionalLightight.castShadow = true;
* 3. 调整此光源的光源阴影范围,一般要使产生阴影的物体的位置大于阴影相机的最小值,小于最大值;
* 4. 将需要产生阴影的物体的产生阴影的属性打开,即obj.castShadow = true;
* 5. 将要接收阴影的属性打开,即obj.receiveShadow = true;
*/
const addLensflareLight = () => {
vizbim.renderer.shadowMap.enabled = true; // 将渲染器的阴影设置打开,这样渲染器就可以渲染场景内物体的阴影了
const textureLoader = new THREE.TextureLoader(); // threejs里面的加载器,用于加载图片
// 用于模仿太阳光的图片图片,地址可以换成本地路径
const textureFlare0 = textureLoader.load('http://renyuan.bos.xyz/lensflare0.png');
const textureFlare3 = textureLoader.load('http://renyuan.bos.xyz/lensflare3.png');
directionalLight = new THREE.DirectionalLight(0xffffff, 1); // 新建一个平行光源,颜色未白色,强度为1
directionalLight.position.set(0, 0, 200