Three.js中文网 Three.js中文网
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
首页
免费视频
系统课 (opens new window)
  • Three.js基础课程
  • Vue3+Threejs 3D可视化
  • Threejs进阶课程
  • 展厅3D预览漫游
  • Threejs Shader
  • Blender建模基础
  • Three.js基础课程(旧版本) (opens new window)
  • 文章
WebGPU教程
  • WebGL教程
  • WebGL教程(旧版本) (opens new window)
3D案例
  • 本站部署(打开快) (opens new window)
  • 原英文官网文档 (opens new window)
Web3D系统课程视频
  • 0.学前说明

  • 1.Three.js快速入门

  • 2.几何体BufferGeometry

  • 3.模型对象、材质

  • 4.层级模型

  • 5.顶点UV坐标、纹理贴图

  • 6.加载外部三维模型(gltf)

  • 7.PBR材质与纹理贴图

  • 8.渲染器和前端UI界面

  • 9.生成曲线、几何体

  • 10.相机基础

  • 11.光源和阴影

    • 1. 聚光源SpotLight
    • 2. 平行光阴影计算
    • 3. 阴影范围.shadow.camera
    • 4. 阴影.mapSize和.radius
    • 5. 工厂光源(环境贴图和环境光)
    • 6. 工厂光源(平行光模拟太阳光)
    • 7. 工厂(模拟太阳光阴影)
    • 8. gui辅助调节光源阴影
    • 12.精灵模型Sprite

    • 13.后处理EffectComposer

    • 14.射线拾取模型

    • 15.场景标注标签信息

    • 16.关键帧动画

    • 17.动画库tween.js

    • Three.js教程
    • 11.光源和阴影
    郭隆邦
    2023-02-18
    目录

    8. gui辅助调节光源阴影

    # gui辅助调节阴影范围

    光源阴影范围,也可以通过GUI界面可视化调节,这样更形象。

    关于gui的介绍,参考入门部分18. gui.js库(可视化改变三维场景) (opens new window)

    # 阴影范围可视化调节

    • 根据工厂尺寸数量级预先设置.shadow.camera,然后通过GUI调试选择一个合适的值
    • .shadow.camera的位置通过光源的位置调试。
    • .shadow.camera参数改变后,注意执行cameraHelper.update();更新
    // 阴影子菜单
    const shadowFolder = gui.addFolder('平行光阴影');
    const cam = directionalLight.shadow.camera;
    // 相机left、right等属性变化执行.updateProjectionMatrix();
    // 相机变化了,执行CameraHelper的更新方法.update();
    shadowFolder.add(cam,'left',-500,0).onChange(function(v){
        cam.updateProjectionMatrix();//相机更新投影矩阵
        cameraHelper.update();//相机范围变化了,相机辅助对象更新
    });
    

    其他参数类似设置

    shadowFolder.add(cam,'right',0,500).onChange(function(v){
        cam.updateProjectionMatrix();
        cameraHelper.update();
    });
    shadowFolder.add(cam,'top',0,500).onChange(function(v){
        cam.updateProjectionMatrix();
        cameraHelper.update();
    });
    shadowFolder.add(cam,'bottom',-500,0).onChange(function(v){
        cam.updateProjectionMatrix();
        cameraHelper.update();
    });
    shadowFolder.add(cam,'far',0,1000).onChange(function(v){
        cam.updateProjectionMatrix();
        cameraHelper.update();
    });
    
    
    7. 工厂(模拟太阳光阴影)
    1. 精灵模型Sprite

    ← 7. 工厂(模拟太阳光阴影) 1. 精灵模型Sprite→

    Theme by Vdoing | Copyright © 2016-2025 豫ICP备16004767号-2
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式