呼吸色块

7 / 15

📝 练习目标

使用 sin() 函数和时间变量实现周期变化的颜色呼吸动画。

💡 💡 教程内容

使用 sin() 函数和时间变量实现周期变化的颜色呼吸动画。

概览

  • 按步骤完成练习。

学习目标

  • 理解如何使用sin()函数和u_time创建平滑的周期性变化。
  • 学习将周期性变化的值映射到颜色通道。
  • 掌握创建颜色随时间平滑过渡的动画效果。
  • 了解如何调整sin()函数的频率和振幅来改变动画的速度和范围。

前置知识

  • time-animation
  • solid-color

输入

  • float u_time — 时间(秒)。

关键概念

  • vUv 是归一化 UV([0,1])。
vec2 uv = vUv;
  • u_time + sin/cos 做动画。
float pulse = sin(u_time) * 0.5 + 0.5;

如何实现(步骤)

  • 使用 sin(u_time) 生成亮度因子
  • 构建动态 RGB 颜色值
  • 输出 gl_FragColor

自检

  • 是否能无错误编译?
  • 输出是否符合目标?
  • 关键数值是否在 [0,1]

常见坑

  • 如果画面全黑,检查遮罩/因子是否一直为 0。

GLSL 代码编辑器

正确代码预览

当前代码预览