mcpField
L
light-scene

light-scene

github.com/playcanvas创意与媒体31311 次安装1 周前更新
代码仓库

关于 light-scene

用于 Engine 场景照明与渲染的技能,指导开发者调整环境光、色调映射、阴影和后期效果,并通过检查截图逐类修改参数。

主要功能

  1. 01调整环境光与环境贴图
  2. 02配置色调映射和曝光
  3. 03启用并设置阴影
  4. 04使用 CameraFrame 后期效果
  5. 05诊断照明与色彩问题

适用场景

  1. 01提亮场景中未受光的一侧
  2. 02平衡曝光与光照强度
  3. 03用阴影或天空衬托主体
  4. 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