关于 threejs-volumetric-clouds
为 Three.js 天气塑形体积云提供实现指导,涵盖密度、边界光线步进、光照、时序重建与云影。
主要功能
- 01天气塑形密度场
- 02有界云体光线步进
- 03由前向后积分光照
- 04低分辨率时序重建
- 05独立渲染云影
适用场景
- 01实现天气驱动的云层
- 02检查云密度与光照
- 03降低云渲染开销
- 04处理时序遮挡变化
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ scottstts/ threejs-awesome-graphics-agent-skills --skill threejs-volumetric-clouds安装后在 Claude Code 中输入/threejs-volumetric-clouds确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlassets/weather-volume-clouds/shape_detail.binTHIRD_PARTY_LICENSES.mdassets/weather-volume-clouds/atmosphere/irradiance.exrtransmittance.exrexamples/weather-volume-clouds/cloud-effect.jsexamples/weather-volume-clouds/source/atmosphere/AerialPerspectiveEffect.tsAtmosphereMaterialBase.tsAtmosphereParameters.tsblackBodyChromaticity.tscelestialDirections.tsconstants.tsgetAltitudeCorrectionOffset.tsgetSunLightColor.tsindex.tsIrradianceMaskPass.tsPrecomputedTexturesLoader.tsexamples/weather-volume-clouds/source/atmosphere/helpers/functions.tssampleTexture.tsexamples/weather-volume-clouds/source/atmosphere/shaders/aerialPerspectiveEffect.fragaerialPerspectiveEffect.vertfunctions.glslindex.tsirradianceMask.fragparameters.glslsky.fragsky.glslsky.vertstars.fragstars.vert详细介绍
体积云
云的品质取决于密度分布、光照和时间稳定性,而不是增加步进次数来采样无结构噪声。
本技能除了描述性指南,还包含出色的示例和资源,值得研读、参考,甚至直接复用。相关时请充分利用,切勿盲目跳过。
系统顺序
- 定义云体积和层边界。
- 生成或获取天气、基础形状、细节和湍流场。
- 结合垂直分布和天气分布构建密度函数。
- 仅对有界的占用区间进行光线步进。
- 从前向后积分透射率和光照。
- 通过时间重建低分辨率输出。
- 使用独立的低成本云影方案进行投影。
实现或审查云系统之前,请阅读 references/weather-volume-and-reconstruction.md。
请阅读 weather volume cloud entry
及其 source/ 模块,了解天气层的职责归属、球壳边界、
作者定义的形状和细节采样、云影贴图、时间升采样、
大气合成以及由包管理的诊断功能。
必需控件
- 覆盖率、云类型、降水量和砧状云偏置;
- 基底/顶部高度和垂直密度分布;
- 形状/细节尺度和侵蚀;
- 每个场的风;
- 主步进次数、光照步进次数和空空间处理策略;
- 历史帧权重和显露区域阈值;
- 云影范围、分辨率和更新频率。
失败条件
- 密度仅为
fbm(position); - 光线步进遍历整个相机范围;
- 细节噪声增加密度,而不是侵蚀成形的云团;
- 在显露区域仍接受时间历史数据;
- 阴影使用完整的高质量光线步进;
- 所有云层共用相同的风和密度分布。
路由边界
分子/气溶胶散射且不包含天气密度时,请使用 $threejs-atmosphere-aerial-perspective。对于发光的极光帘幕层,或具有速度、压力、发射器和碰撞场的有界交互式体素火焰与烟雾,请使用 $threejs-procedural-vfx。本技能负责天气塑造的云体积、重建、云照明和云影。
评论
支持 Markdown