112. gui辅助调节光源阴影

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

阴影范围可视化调节

  • 根据工厂尺寸数量级预先设置.shadow.camera,然后通过GUI调试选择一个合适的值
  • .shadow.camera的位置通过光源的位置调试。
  • .shadow.camera参数改变后,注意执行cameraHelper.update();更新
javascript 复制代码
// 阴影子菜单
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();//相机范围变化了,相机辅助对象更新
});

其他参数类似设置

javascript 复制代码
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();
});
相关推荐
前端老石人4 分钟前
前端网站换肤功能的 3 种实现方案
开发语言·前端·css·html
冴羽yayujs5 分钟前
2026 年的 JavaScript 已经不是你认识的 JavaScript 了
前端·javascript
小灰灰搞电子7 分钟前
PyQt QWebChannel详解-C++与Web页面的无缝双向通信
前端·pyqt
M ? A11 分钟前
你的 Vue v-for,VuReact 会编译成什么样的 React 代码?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
午安~婉12 分钟前
Electron桌面应用(续3)
前端·javascript·electron·重构通用模型·异步可迭代对象
W.A委员会12 分钟前
伪类与伪元素
前端·javascript·css
午安~婉13 分钟前
Electron桌面应用(续2)
前端·javascript·electron·路由守卫·优化llm返回的内容
渡我白衣13 分钟前
触类旁通——迁移学习、多任务学习与元学习
人工智能·深度学习·神经网络·学习·机器学习·迁移学习·caffe
万里鹏程转瞬至28 分钟前
公式图解一文搞懂为什么transform里是kv cache不是q cache?
人工智能·深度学习
eEKI DAND36 分钟前
一个比 Nginx 还简单的 Web 服务器
服务器·前端·nginx