关于 light-scene
用于 Engine 场景照明与渲染的技能,指导开发者调整环境光、色调映射、阴影和后期效果,并通过检查截图逐类修改参数。
主要功能
- 01调整环境光与环境贴图
- 02配置色调映射和曝光
- 03启用并设置阴影
- 04使用 CameraFrame 后期效果
- 05诊断照明与色彩问题
适用场景
- 01提亮场景中未受光的一侧
- 02平衡曝光与光照强度
- 03用阴影或天空衬托主体
- 04排查白色过曝或黑色压暗
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ playcanvas/ skills --skill light-scene安装后在 Claude Code 中输入/light-scene确认已加载。
详细介绍
布光并渲染场景
引擎默认设置会生成平淡、昏暗的图像;请有意识地调整这些设置。根据检查过的截图进行调校,每次只调整一类数值。
要更改的默认设置
scene.ambientLight为黑色,因此未受光的面会渲染成纯黑色。可使用环境图集或天空盒补充环境光和反射,或者设置环境光颜色。- 摄像机默认使用
TONEMAP_LINEAR。可选择TONEMAP_NEUTRAL、TONEMAP_ACES2或TONEMAP_FILMIC(使用CameraFrame时设置cameraFrame.rendering.toneMapping),再设置曝光值,然后据此平衡光照强度。 - 阴影默认关闭。为主光源启用
castShadows。方向光的shadowDistance为 40 m,因此大型场景应使用级联阴影,并为静态阴影使用SHADOWUPDATE_THISFRAME。根据取景主体调整分辨率。 - 灯光沿局部坐标的 -Y 方向照射(
apply-conventions)。
使用内置功能
CameraFrame负责色调映射、泛光、SSAO、景深、暗角和色彩分级。更改后调用update(),并在应用退出时销毁它。泛光强度应保持在文档规定的 0 到 0.1 之间。scene.sky.type(SKYTYPE_DOME、SKYTYPE_BOX、SKYTYPE_INFINITE)可为环境设置天空。ProceduralSky脚本管理一个与之关联的太阳光源:设置光源的基础强度,然后调整天空的高度角和方位角,而不是调整光源。ShadowCatcher脚本可为没有受光地面的主体营造落地效果。- 默认启用集群光照,因此大量点光源和聚光灯的开销很低。
- 使用
bake-lighting烘焙静态光照;使用override-shader-chunks调整着色风格。
使用 find-examples 查找各集成的示例。
警示迹象
- 反照率趋于发白:先降低曝光、天空光和光照强度,再调暗材质。
- 大片区域出现过曝白色或死黑:先重新平衡曝光和光照,再添加后期效果。
- 雾的颜色与天空地平线不同,会破坏地平线。
评论
支持 Markdown