ThreeJS-投影相机(十八)

示意图:

ThreeJS-投影相机(十八)_第1张图片

 

黄线:太阳发出的平行光线

视觉范围可以使用一个立方体表示,左右确定宽度,上下确定高度,远近确定长度

引入:

import * as dat from 'dat.gui' //界面控制

关键代码:

            //平行光投射相机的属性
            // directionalLight.shadow.camera.near= 0.5;
            directionalLight.shadow.camera.far= 500;
            directionalLight.shadow.camera.top= 3;
            directionalLight.shadow.camera.bottom= -2;
            directionalLight.shadow.camera.left= -2;
            directionalLight.shadow.camera.right= 2;
            //创建gui
            const gui = new dat.GUI();
            gui.add(directionalLight.shadow.camera, 'near').min(1).max(25).step(1).name("相机近距离").onChange( () => {
                directionalLight.shadow.camera.updateProjectionMatrix();
            })

注意: directionalLight.shadow.camera灯光投影相机和相机不是同一个,相机是控制在昌吉你高中能看到的物体视角,而投影相机控制的在场景中能看到的物体投影视角。

完整代码:

效果图:

 ThreeJS-投影相机(十八)_第2张图片

你可能感兴趣的:(数码相机)