Three.js案例
Fluid Light - 流体光效互动网页特效

Fluid Light - 流体光效互动网页特效

项目简介

Fluid Light 是一个基于 Three.js 和 WebGL 开发的流体光效互动网页特效项目。它通过模拟流体动态和光线效果,为网页添加了令人惊艳的视觉体验。

核心特性

  • 流体光效动画:模拟真实流体物理特性,创造出柔和流动的光效
  • 鼠标互动:根据鼠标移动实时调整光效的流动方向和强度
  • 自适应设计:完美适配各种屏幕尺寸,从手机到大屏显示器

视觉效果解析

1. 流体动态模拟

项目使用了自定义的着色器(Shader)技术,通过数学算法模拟流体的物理特性。核心效果通过 CustomPass 实现,它使用正弦波函数创造出波浪般的扭曲效果,使画面产生流动感。

2. 光效处理

通过 UnrealBloomPass 实现的泛光效果,为流体添加了梦幻般的光晕,增强了视觉冲击力。光效参数经过精心调校,既保证了效果的震撼,又不会显得过于刺眼。

3. 噪点纹理

项目引入了 NoisePass 为画面添加细微的噪点纹理,这不仅增加了画面的质感,还使流体效果看起来更加自然,仿佛真实的液体在流动。

4. 互动响应

通过捕捉鼠标移动事件,项目能够实时调整流体的流动方向和强度,让用户感觉自己正在与屏幕上的流体进行互动,大大提升了用户体验。

技术栈

  • Three.js:强大的 3D 库,提供了丰富的 WebGL 功能

  • GLSL:着色器语言,用于编写自定义的视觉效果

  • JavaScript:实现交互逻辑和动画控制

  • Vite:现代前端构建工具,提供极速的开发体验

  • TailwindCSS:实用优先的 CSS 框架,用于页面布局和样式

如何使用

安装依赖

 
# 使用 npm
 
npm install
 
 
 
# 或使用 pnpm
 
pnpm install
 
 
 
# 或使用 yarn
 
yarn install
 

开发模式

 
npm run dev
 

代码

https://github.com/hexianWeb/fluid-light (opens in a new tab)