关于 threejs-procedural-planets
面向 Three.js 行星生成的技能,指导用共享地质场构建地形、材质与大气衔接。它强调从宏观轮廓到生物群系的构建顺序,以及随视距过滤细节。
主要功能
- 01共享地质场驱动行星属性
- 02宏观轮廓与地质结构构建
- 03地形、生物群系和材质联动
- 04按网格尺度与高度过滤细节
- 05行星材质与大气光照衔接
适用场景
- 01生成具有区域地貌的程序化行星
- 02构建地形与材质一致的行星表面
- 03制作具备视距细节过滤的行星
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ scottstts/ threejs-awesome-graphics-agent-skills --skill threejs-procedural-planets安装后在 Claude Code 中输入/threejs-procedural-planets确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlexamples/procedural-planet-surface/planet-system.jsterrain-field.jsreferences/planet-field-and-atmosphere-systems.md详细介绍
程序化行星
将行星构建为一组耦合场,并在单位方向上求值。相同的地质成因必须共同驱动几何形状、颜色、粗糙度、法线、大气衔接和距离滤波。
此技能包含超出说明性指南范围的典型示例和资源,值得学习、参考,甚至直接复制。请在相关时充分使用,切勿盲目跳过。
必需的构建顺序
- 确定行星空间方向、半径、海平面和世界单位比例。
- 在任何表面材质之前构建宏观轮廓场。
- 添加命名的地质结构:大陆、盆地、山脊、陨石坑、熔岩地带或冰层。
- 推导坡度、凹陷、海拔、纬度、曝光度和海岸线场。
- 根据这些成因划分大范围生物群系。
- 根据共享场集合推导位移、颜色、粗糙度和法线。
- 根据网格所表示的尺度和相机高度过滤频段。
- 使用相同的行星变换,将材质与大气和光照耦合。
阅读 references/planet-field-and-atmosphere-systems.md,了解地形、生物群系、气态巨行星、材质、高度 LOD 和大气衔接机制,其中包括一种已知的 CPU/GPU 场一致性故障模式。
阅读程序化行星表面实现 及其共享地形场,了解未变形球体坐标、共享 CPU/GLSL 地形、耦合的生物群系与材质成因、导数凹凸,以及经过高度滤波的细节。
不可妥协的约束
- 沿切向进行域扭曲并重新归一化;不要沿径向扭曲球体。
- 陨石坑必须包含坑底、坑壁、坑缘,以及可选的喷出物,而不能只是深色圆圈。
- 大陆和生物群系必须是区域场,而不是孤立的阈值气泡。
- 几何位移和着色器法线必须描述同一个高度函数。
- 近距离细节可以随高度增加而消失;宏观轮廓则不能。
- 提供各个场的独立视图和位移夸张模式。
完成测试
在以下情况下,天体必须始终呈现明确的设计意图:
- 无光照轮廓;
- 不带大气的平面反照率;
- 掠射方向光照;
- 轨道视角;
- 近距离接近;
- 生物群系遮罩视图和仅法线视图;
- 至少三个随机种子,且不失去所选的行星特征。
路由边界
如果需要不含完整天体的可复用场集合,请使用 $threejs-procedural-fields;如果需要与行星生成无关的散射,请使用 $threejs-atmosphere-aerial-perspective。此技能负责耦合的行星表面。
评论
支持 Markdown