mcpField
T
threejs-atmosphere-aerial-perspective

threejs-atmosphere-aerial-perspective

github.com/scottstts创意与媒体94699 次安装6 天前更新
代码仓库

关于 threejs-atmosphere-aerial-perspective

为 Three.js 实现大气散射与空中透视提供指导,适用于小型场景、行星及地理空间世界,并强调散射参数一致与深度感知合成。

主要功能

  1. 01解析式或 LUT 渲染方案
  2. 02天空辐射与太阳透射率
  3. 03表面段透射率与散射积分
  4. 04世界单位与大气单位换算
  5. 05深度感知空中透视

适用场景

  1. 01一致渲染天空与地表雾霾
  2. 02构建地面至太空的行星视景
  3. 03为地理空间场景添加空中透视
  4. 04集成大气 LUT

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scottstts/threejs-awesome-graphics-agent-skills --skill threejs-atmosphere-aerial-perspective

安装后在 Claude Code 中输入/threejs-atmosphere-aerial-perspective确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/lut-aerial-perspective/
irradiance.bin
irradiance.exr
THIRD_PARTY_LICENSES.md
transmittance.bin
transmittance.exr
examples/lut-aerial-perspective/
atmosphere-effect.js
examples/lut-aerial-perspective/source/atmosphere/
AerialPerspectiveEffect.ts
AtmosphereMaterialBase.ts
AtmosphereParameters.ts
blackBodyChromaticity.ts
celestialDirections.ts
constants.ts
getAltitudeCorrectionOffset.ts
getSunLightColor.ts
index.ts
IrradianceMaskPass.ts
PrecomputedTexturesLoader.ts
examples/lut-aerial-perspective/source/atmosphere/helpers/
functions.ts
sampleTexture.ts
examples/lut-aerial-perspective/source/atmosphere/shaders/
aerialPerspectiveEffect.frag
aerialPerspectiveEffect.vert
functions.glsl
index.ts
irradianceMask.frag
parameters.glsl
sky.frag
sky.glsl
sky.vert
stars.frag

详细介绍

大气与航空透视

将天空渲染和航空透视视为同一散射模型的两种表现形式。两者必须共用半径、密度剖面、系数、太阳方向、曝光比例和坐标变换。

此技能包含示范性示例和资源,不止是描述性指南;值得研究、参考,甚至直接复用。请在相关时充分利用它们,切勿不加思考地跳过。

选择实现层级

  • 没有轨道相机的小型场景:使用解析式高度/距离近似。
  • 地表到太空的行星相机:使用光线积分或预计算 LUT。
  • 大型地理空间世界:使用 LUT,并配合世界坐标到行星坐标的变换、高度校正和深度感知航空透视。

实现前请阅读 references/atmosphere-system-contract.md。 该文档将 LUT/椭球体架构与动态积分及外壳/后处理衔接分开说明。

请阅读 LUT 天空与航空透视示例 及其 source/ 模块,了解 LUT 示例所用的 SkyMaterial、SkyLightProbe、 SunDirectionalLight、AerialPerspectiveEffect、预计算纹理加载器、 太阳/月亮方向、镜头光晕、色调映射和抖动路径。

必需输出

  • 天空辐射亮度;
  • 太阳透射率/颜色;
  • 从相机到可见表面的线段透射率;
  • 线段内散射;
  • 可选的材质天空辐照度;
  • 世界单位与大气单位之间的显式比例换算。

失败条件

  • 天空与地形雾霾使用不同的太阳方向或系数;
  • 大气是一个均匀透明的球体;
  • 轨道运动期间,在局部平面坐标系中测量相机高度;
  • 场景深度并非线性,却被当作线性值处理;
  • 用曝光掩盖错误的辐射亮度比例;
  • 大气在进入外壳时突然淡出。

范围边界

本技能负责分子/气溶胶天空散射和表面线段航空透视。天气形状的云密度、时序云重建和云阴影请使用 $threejs-volumetric-clouds。发射光极光帘体积及其透视/等距柱状辐射亮度材质,以及独立的电影感 HDR 镜头光晕合成器,请使用 $threejs-procedural-vfx。如果 LUT 示例中的镜头光晕仍是天空散射和航空透视合成流程中的一个阶段,则保留在此处。

评论

支持 Markdown