---- SETUP: 初始化 ---- local vig = PostProcessing.vignette -- 1. 开启需要的属性通道 -- 开启 intensity(强度), color(颜色), smoothness(柔和度) vig.enableEffect({'intensity', 'colorR', 'colorG', 'colorB', 'smoothness'}) -- 2. 创建关键帧通道 local ch_int = Channel.keyframe() -- 强度 local ch_r = Channel.keyframe() -- 红 local ch_g = Channel.keyframe() -- 绿 local ch_b = Channel.keyframe() -- 蓝 -- 设置默认值 (第0毫秒时关闭) ch_int.addKey(0, 0) ch_r.addKey(0, 0) ch_g.addKey(0, 0) ch_b.addKey(0, 0) -- 3. 绑定通道到控制器 vig.intensity = ch_int vig.colorR = ch_r vig.colorG = ch_g vig.colorB = ch_b -- 设置固定的柔和度 (0~1) vig.smoothness = Channel.constant(0.4) ---- HELPER: 简化写法的辅助函数 ---- -- [基础] 在指定时间设置强度 -- set(时间, 强度, [缓动类型]) local function set(timing, intensity, easing) ch_int.addKey(timing, intensity, easing) end -- [闪烁] 瞬间变强,然后衰减回0 (适合重音) -- flash(时间, 峰值强度, 持续时长, [衰减缓动]) local function flash(timing, intensity, duration, easing) easing = easing or 'outQuad' ch_int.addKey(timing, intensity) -- 瞬间达到峰值 ch_int.addKey(timing + duration, 0, easing) -- 衰减回0 end -- [颜色] 在指定时间改变颜色 -- color(时间, 十六进制颜色代码, [缓动类型]) local function color(timing, hex, easing) local rgba = Convert.HexToRGBA(hex) -- if rgba then ch_r.addKey(timing, rgba.r, easing) ch_g.addKey(timing, rgba.g, easing) ch_b.addKey(timing, rgba.b, easing) end end ------------------------------------------------- ---- 您的特效时间轴 (在这里写 addKey) ---- ------------------------------------------------- -- 写法说明: -- set(时间, 强度) -> 设定某个时间的强度 -- set(时间, 强度, 'linear') -> 设定强度,并带有缓动 -- flash(时间, 强度, 时长) -> 打击感闪烁 -- color(时间, '#FF0000') -> 变色 -- ==== 示例 (请把下面的数字换成您谱面的时间) ==== set(0, 0, 'sinein') set(587279, 0, 'sinein') set(591876, 0.8, 'sinein') set(591877, 0, 'sinein')