Three.js 极光效果着色器 | 三维可视化 / AI 提示词

Three.js 极光效果着色器 | 三维可视化 / AI 提示词

📋 AI 提示词

prompt 复制代码
创建一个逼真的极光效果着色器,使用多层正弦波和余弦波叠加,配合可调节的流动速度、强度、波动频率参数,支持自定义极光颜色。

🖼️ 效果预览

🎮 案例演示

立即体验


📖 效果拆解

层次 视觉效果 技术实现
基础 全屏平面 PlaneGeometry
核心特效 多层极光带 多层正弦波叠加
增强细节 颜色渐变 绿、蓝、紫三色动态渐变
视觉效果 发光脉冲 极光发光效果的脉冲动画
附加效果 星空背景 点缀的星光效果

🔧 核心技术点

顶点着色器

glsl 复制代码
varying vec2 vUv;
varying vec3 vPosition;

void main() {
    vUv = uv;
    vPosition = position;
    gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
}

极光流动函数

glsl 复制代码
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;
}

极光颜色映射

glsl 复制代码
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;
    }
}

Uniforms

javascript 复制代码
uniforms: {
    time: { value: 0 },
    resolution: { value: new THREE.Vector2(_width, _height) },
    flowSpeed: { value: 1.0 },
    intensity: { value: 1.2 },
    waveFrequency: { value: 3.0 },
    auroraColor: { value: new THREE.Color(0xffffff) }
}

💡 调试与优化

问题类型 表现形式 解决方案
流动不明显 效果微弱 增大 flowSpeed 值
颜色过渡生硬 颜色跳跃 调整阈值(0.3 和 0.6)
星光过多 画面杂乱 降低星星振幅
性能问题 帧率下降 减少迭代次数或降低几何体分段数

🚀 扩展思路

变体效果 核心改动 难度
动态天空 添加渐变天空背景 ⭐⭐
极光动画 添加极光带的形态变化 ⭐⭐⭐
3D极光 将效果应用到球形天空盒 ⭐⭐⭐
相机跟随 添加第一人称视角漫游 ⭐⭐

本文档由 ThreeLab 编辑整理,如需转载,请注明出处。

相关推荐
boppu20 小时前
布草特殊污渍去渍剂的种类及作用
大数据·人工智能
AIsoft_868820 小时前
会议录音转文字与AI纪要工具推荐:免费额度与核心功能对比指南
人工智能
sphw20 小时前
nixnb: Jupyter Notebook 优雅分享
ide·人工智能·jupyter
mingo_敏21 小时前
DeepAgents : 权限(Permissions)
人工智能·深度学习·langchain
合调于形21 小时前
Bianfchheng (Liuu) 《边城(六)》字母标调拼音拼写实测案例
人工智能·自然语言处理·人机交互·语音识别·学习方法
夏殇之殁21 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
凯丨21 小时前
AI 蠕虫来了:恶意文档如何通过 Copilot for Word 自我传播?
人工智能·c#·copilot
武子康21 小时前
GPT-5.6 Luna 降价 80%:Agent 真正该重算的是单次成功成本
人工智能·chatgpt·llm
Gu Gu Study21 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
HyperAI超神经1 天前
15亿参数挑战机器人控制,MiniCPM-RobotManip正式开源;覆盖文本/图/视频/动作序列,英伟达发布全模态模型Cosmos3-Edge
人工智能·深度学习·机器人·多模态·图像生成·具身智能·智能体