SHADER · 单文件 HTML
ShaderMaterial 渐变天空Gradient sky with ShaderMaterial
用自定义顶点/片元着色器画全屏天空球或大球体背景,不依赖外部 HDR。
旗舰完整演示
可交互场景(拖拽旋转;部分演示支持键盘)。下方提示词用于让 Agent 生成同级成品。
预期产出 · Returns
单 HTML 文件:场景内 mesh 正常渲染,背景为平滑渐变天空,可 uniform 控制顶部/底部颜色。
适合用在哪
需要风格化天空、日出日落配色、科幻氛围背景时。
容易踩的坑
- 天空球需 BackSide 或足够大半径,否则能看到边缘接缝。
提示词 · Prompt
单文件 HTML + Three.js(ES module):
1) 创建一个半径很大的 SphereGeometry(或 BackSide 渲染的 sky sphere),使用 ShaderMaterial;
2) 顶点着色器传递世界空间 y 或 view direction;片元着色器做顶部/底部双色渐变 + 可选太阳 disc(简单 smoothstep);
3) uniform:topColor、bottomColor、offset、exponent;
4) 地面放一个平面 + 若干物体证明天空不影响深度;
5) 用 lil-gui 或 dat.GUI 调 uniform(若不想加依赖,用键盘 1/2 切换预设)。
GLSL 与 Three.js 版本匹配,注释说明每个 uniform。
Single HTML: sky sphere with ShaderMaterial gradient uniforms, optional sun disc, GUI or keyboard presets.