Unity下落式音游实现——(5)根据音乐生成滑块
前期准备
终于到了最激动人心的时刻!仔细回忆需求,“需要在对应节奏处生成滑块”,其实就是在固定的时间点生成滑块。可以用一个dictionary存储对应时间点和生成的滑块类型,然后在update中每帧记录运行时间,到点了就生成对应的滑块。easy!right?
但这样似乎不能很好地满足某些需求,比如根据难度不同音乐播放速度会变化、音乐并不是连续播放,音乐与音乐会有停顿,同时得实现回放功能。对上述问题,好像不难想到对应解决办法:在每帧记录运行时间时乘上一个表示难度的系数、根据需求添加dictionary中的时间点。有没有更方便的做法呢?
答案就是这款插件:Koreographer!
插件介绍
Koreograpghy Editor
打开Window->Koreograpghy Editor
Koreograpghy包含音乐资源和对应的一系列音乐事件,下文中提到的Koreograpghy
新建一个Ky,将你想要处理的音乐拖进Audio Clip里。此时窗口上会出现音乐的波形图(不知道是不是叫这个)。白线表示一个beat(beat的长度和Tempo有关)
Tempo和音乐的节奏有关,需要提前和音乐方沟通(没记错的话120BPM是四四拍)Tempo越大,白线就会越密集。但注意不要出于降低时间间隔的原因去调大Tempo,可以去修改Snap To Beat1 Divide beat by;左下角Snap To Beat1 Divide beat by可以调整两根白线之间的小白线个数;可以点击波形图上方显示数字的小绿框(或小蓝框)切换时间轴的统计形式(有时间、sample数等)
之后新建一个track,点Track