SuperAPI AI 工具集

threejs-lighting

设计与创作

查看项目

更新于 10-16 05:53

技能介绍

用途:面向 Three.js 场景的光照配置参考,用于添加光源、设置阴影、配置基于图像的环境光照(IBL)并优化光照性能,属于 Three.js 材质与渲染相关的技能文档。

主要能力:梳理各类光源及其阴影支持与开销。AmbientLight(无方向无阴影,开销极低)、HemisphereLight(天空/地面渐变,开销极低)、DirectionalLight(平行光模拟太阳,支持阴影)、PointLight(点光源,支持阴影)、SpotLight(锥形光,支持阴影)、RectAreaLight(面光源,高开销,不原生投射阴影,仅支持 MeshStandardMaterial 与 MeshPhysicalMaterial,使用前需 RectAreaLightUniformsLib.init())。

阴影配置:需在 renderer.shadowMap.enabled 开启并选择类型(BasicShadowMap、PCFShadowMap、PCFSoftShadowMap、VSMShadowMap),在光源设 castShadow,在物体设 castShadow / receiveShadow。可调整 shadow.mapSize、shadow.camera 视锥、shadow.bias 与 normalBias、radius 等参数;提供 CameraHelper 与各类 LightHelper 辅助查看。

环境光照:通过 RGBELoader 加载 HDR 并设 scene.environment,或使用 CubeTextureLoader 立方体贴图;可用 PMREMGenerator 生成更优反射;还介绍了 LightProbe 与 LightProbeGenerator 的高级用法。

使用方式:按文档中的代码片段设置光源参数、阴影相机与材质响应;提供三点布光、户外日光、室内影棚等示例组合,以及光照动画(Clock 驱动位置、强度、颜色变化)。

限制与性能:灯光数量会增加着色器复杂度;建议限制灯光数量、静态场景烘焙光照、使用较小阴影贴图、收紧阴影视锥、对不需要阴影的灯光关闭阴影,并可用 layers 控制光源影响对象。RectAreaLight 无原生阴影,需自定义方案;ContactShadows 为快速伪阴影。该文档未提供安装命令、收费方式与具体版本要求,这些信息暂未提供。