极光效果

Three.js 极光效果 | 三维可视化 / AI 提示词
📋 AI 提示词
prompt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
使用 Three.js 实现【极光效果】,具体要求:
【核心特效】
- 多层极光带流动
- 颜色渐变(绿→蓝→紫)
- 发光效果增强视觉冲击
- 星光点缀背景
【场景与光照】
- 黑色背景突出极光效果
- 无额外光源(自发光)
【交互与控制】
- OrbitControls 轨道控制器
- GUI 面板调整参数
【技术要求】
- Three.js r150+
- ShaderMaterial 自定义着色器
- GSAP 动画库
🖼️ 效果预览
🎮 案例演示
📖 效果拆解
| 层次 | 视觉效果 | 技术实现 |
|---|---|---|
| 基础 | 平面几何体 | PlaneGeometry(8, 6, 64, 48) |
| 核心特效 | 极光流动 | 多层正弦函数叠加 |
| 增强细节 | 颜色渐变 | 根据强度混合三色 |
| 视觉效果 | 发光效果 | 径向渐变 + 脉冲 |
| 附加效果 | 星光点缀 | 高频正弦函数 |
🔧 核心技术点
1. 极光流动函数
多层流动叠加创造自然效果:
glsl
1
2
3
4
5
6
7
8
9
10
11
float auroraFlow(vec2 uv, float time) {
float flow = 0.0;
for (int i = 0; i < 3; i++) {
float layer = float(i) * 0.3;
float speed = flowSpeed * (1.0 + layer * 0.5);
float xFlow = sin(uv.x * waveFrequency + time * speed + layer * 3.14);
float yWave = sin(uv.y * 10.0 + time * speed * 0.5) * 0.5 + 0.5;
flow += (xFlow * yWave) * (1.0 - layer * 0.3);
}
return flow * 0.5 + 0.5;
}
三层流动叠加,每层速度和相位不同,模拟真实极光的层次感。
2. 颜色映射
根据强度值混合三种颜色:
glsl
1
2
3
4
5
6
7
8
9
10
11
12
vec3 auroraColorMap(float intensity) {
vec3 color1 = vec3(0.0, 0.8, 0.4); // 绿色
vec3 color2 = vec3(0.2, 0.4, 1.0); // 蓝色
vec3 color3 = vec3(0.8, 0.2, 0.8); // 紫色
if (intensity < 0.3) {
return mix(color1, color2, intensity / 0.3);
} else if (intensity < 0.6) {
return mix(color2, color3, (intensity - 0.3) / 0.3);
} else {
return color3;
}
}
模拟真实极光的颜色过渡——绿色为主,过渡到蓝色和紫色。
3. 发光效果
中心区域的柔和发光:
glsl
1
2
3
4
5
float glowEffect(vec2 uv, float time) {
float dist = length(uv - vec2(0.5, 0.3));
float pulse = sin(time * 2.0) * 0.5 + 0.5;
return smoothstep(0.4, 0.0, dist) * pulse;
}
发光中心偏上(y=0.3),模拟极光带的分布。
4. 星光点缀
添加背景星星增强氛围:
glsl
1
2
float stars = sin(uv.x * 50.0 + time) * sin(uv.y * 50.0 + time) * 0.1;
color += stars;
高频正弦波创造闪烁的星星效果。
💡 调试与优化
| 问题类型 | 表现形式 | 解决方案 |
|---|---|---|
| 流动不明显 | 效果微弱 | 增大 flowSpeed 值 |
| 颜色过渡生硬 | 颜色跳跃 | 调整阈值(0.3 和 0.6) |
| 星光过多 | 画面杂乱 | 降低星星振幅(0.1) |
| 性能问题 | 帧率下降 | 减少迭代次数或降低几何体分段数 |
🚀 扩展思路
| 变体效果 | 核心改动 | 难度 |
|---|---|---|
| 动态天空 | 添加渐变天空背景 | ⭐⭐ |
| 极光动画 | 添加极光带的形态变化 | ⭐⭐⭐ |
| 3D极光 | 将效果应用到球形天空盒 | ⭐⭐⭐ |
| 相机跟随 | 添加第一人称视角漫游 | ⭐⭐ |
本文档由 ThreeLab 编辑整理,如需转载,请注明出处。







京公网安备 11010502038735号
💬 评论区
评论功能即将上线,敬请期待!