如何开发音游所用的节奏点编辑器

news/2025/1/9 5:35:27/

开发音游编辑器


写在前面
结合之前做的一个音游Demo,谈谈自己的感受;
一开始,对音游并不是很熟悉,只是轻度玩过几款音游,再加上对乐理知识的欠缺,导致一开始面对这种需求的时候是比较懵逼的。

后来下载了几款音游,观察了一下大部分音游对节奏点的处理,然后补充的看了一些乐理知识,慢慢明白了怎么来用数据量化一首歌曲。
要做一个东西首先得把它量化。

那么要完成一首音游那就是:
节奏点数据+运动算法(恒定速度运动,在节奏点的时候正好到达判定线)
当然可以不恒定速度运动(提前做一个位置偏移,改一下速度,看起来就相对地图在做运动,然后在这个节奏点时刻上它也正好运动到我们给定的位置)

节奏点数据:
歌曲的谱子前面都会写几几拍,比如4/4拍,前面表示拍数,后面表示四分音符,其实他们之间并没有什么联系,这里我的理解就是这首歌一小节是4拍,一拍的长度是一个四分音符的长度,这里我们只管拍数,然后就是一首歌会有BPM(没分钟节拍数),还有这首歌的长度,都是我们需要的信息

然后我发现一些节奏比较快的音乐可能一个小节的拍数会比较多,可能有8拍:比如我经常听的trap音乐里面的很多beat的hit-hat都是用8拍把一个小节占满:
图:
在这里插入图片描述
然后这是这首歌的BPM:
在这里插入图片描述
比如用Beat制作软件随便做一节:
在这里插入图片描述
红色的地方一般都会是重音,也一般会是我们的节奏点,看样子在制作工程中,鼓点的节奏还是对齐的(是在一拍开始得地方),所以利用时刻来量化是没什么大的问题的。

然后在第一拍或者第三拍上会有808鼓的重鼓,然后发现乐理书上面讲的一般16分音符的音乐就非常少了(一拍的长度是一个16分音符)。
所以取舍了一下,我把一个小节分成了32个时间点,这样就算你是32拍的乐谱那也是够用了(主要是为了在配置音游谱面的时候能够更加细化的调节)

那我们的一个小节的时间是多长呢?
首先的算出一拍的多长:
假如我们这首歌是4/4拍的歌曲(很常见),一小节就是4拍

  • 1拍的时间 = 60/BPM(一分钟60秒);
  • 1 Bar(小节)的时间 = 1拍 * 4(上面的前提,是4/4拍乐谱,所以一小节是4拍);

那么其实我们之前给一拍分得32份的时间也算出来了:

DeltaTime = BarTime/32;

一首歌有多少拍:

bar = Convert.ToInt32(len / BarTime);

当然,有些音乐的前奏很长,或者是我们不想再前奏放置节奏点,所以会提供一个偏移值:

CurrentTime = OffsetTime;

这样一来其实就描述完毕了,哦,还有一个分轨问题,经常看到的音游会有4轨左右:

List1 = new KeyNode[bar * 32];
List2 = new KeyNode[bar * 32];
List3 = new KeyNode[bar * 32];
List4 = new KeyNode[bar * 32];

现在就是给每条轨道初始化每个节奏点的时刻了:

for (int i = 0; i < bar*32; i++)
{List1[i] = new KeyNode();List2[i] = new KeyNode();List3[i] = new KeyNode();List4[i] = new KeyNode();List1[i].StartTime = TimeCounter;List2[i].StartTime = TimeCounter;List3[i].StartTime = TimeCounter;List4[i].StartTime = TimeCounter;List1[i].EndTime = TimeCounter;List2[i].EndTime = TimeCounter;List3[i].EndTime = TimeCounter;List4[i].EndTime = TimeCounter;TimeCounter  += DeltaTime;
}

EndTime 是因为有些节奏点是长按

预览问题
在配置节奏点的时候需要做一个边播放边预览,这里利用Unity的编辑器扩展了一下:
在这里插入图片描述
当然这里完全可以不用Unity编辑器,随便一个界面开发就可以实现,而且可以不用这种8格为一拍的界面,完全是可以拖拽式的界面,在哪个点需要节奏就直接往上面拖一个需要的怪物类型的点就可以了。
上面的截图功能说明:
基本信息填写功能;

  • 有一个播放条,可以前后拖动,从歌曲哪一刻开始播放;
  • 下面的红线就是当前时刻的节奏点在哪里;
  • 导出数据和导入数据,保存节奏点数据序列化;
  • 预览功能,可以在Unity里面实时预览目前已经填写的节奏点,可以利用滑动播放条来回反复听这个节奏是不是对的,调试手感;
    在这里插入图片描述

红线为判断线,白球是已经填写的节奏点

利用一些音频软件,比如cool editor 可以看到歌曲的频谱,高低频都可以看到,将它的第几节与我们的编辑器对应起来填写
在这里插入图片描述
到这里就差不多完成了基础功能了,在游戏里将我们保存的数据读取后在生成怪物点就可以了,这样就可以快速生成音游的一关,YES。
以上内容如有错误还请指正!


http://www.ppmy.cn/news/909043.html

相关文章

08-音频编辑

08-音频编辑 一、Premiere的音频声道二、添加和删除音频轨道三、在影片中添加音频四、设置音频单位格式五、显示音频时间单位六、设置音频播放速度和持续时间七、音频和视频链接八、设置音频与视频同步九、音频效果9.1 声像平衡器9.2 音频过渡效果9.3 常用音频效果 十、音轨混合…

【作品资料库】scratch作品之双人篮球AI版本

今天我们分享的这个作品是双人篮球ai版本&#xff08;源码已经发到百度网盘永久会员群文件中&#xff0c;目录在&#xff09;&#xff1a; 今天给大家介绍一款非常有趣的闯关游戏《双人篮球》&#xff0c;游戏中我们将扮演小蓝和其他角色进行一场使用特殊规则的投篮比赛。游戏的…

音乐人必备软件-FL studio-Overture-Guitar Pro

作为音乐制作人&#xff0c;对于编曲软件肯定是有自己的需求的&#xff0c;制作的音乐类型不同&#xff0c;可能使用的软件也会有所不同&#xff0c;今天小编就就为大家讲讲音乐制作人的必备软件有哪些。 音乐制作人必备软件大集合常用的有&#xff1a;FL studio、Cubase、Nuen…

超简单集成!手把手教你实现音频编辑能力

如今短视频当道&#xff0c;BGM无处不在&#xff0c;用户在每个能秀的地方都想要加上个性表达的音频。作为一个开发者&#xff0c;需不断探索和迎合用户的行为喜好&#xff0c;音频编辑功能成为用户在编辑个人信息、内容创作、生活分享等场景下的必需品。 华为音频编辑服务&am…

Fl Studio真的不如Cubase或者Logic Pro等电音软件专业吗?

对很多音乐爱好者而言&#xff0c;从单独的欣赏作品&#xff0c;过渡到按自己的心情创作作品&#xff0c;是一段奇妙又欣喜的体验。而音乐编曲&#xff0c;尤其是电音编曲&#xff0c;Daw&#xff08;宿主软件&#xff09;是一个很重要的元素。 编曲软件很多&#xff0c;"…

21新版FL Studio水果电音编曲Daw宿主软件好不好用?

首先是FL Studio&#xff08;以下简称FL&#xff09;的逻辑和其它宿主软件都不太一样&#xff0c;FL的逻辑就与众不同。FL的逻辑也可以分为三部分&#xff1a;通道机架、混音台和播放列表。在Live里每个发送轨都可以插入一个乐器以及若干个效果器。你有200个发送轨&#xff0c;…

FL Studio2022水果编曲音乐制作软件自带完整插件

FL Studio 2022是一款非常好用的音乐制作软件&#xff0c;又称水果编曲软件&#xff0c;软件集合了录音、混音、编辑等多种功能于一体&#xff0c;能够完成各种各样的音乐编曲工作&#xff0c;强大的音乐制作功能受到了很多用户的喜爱&#xff0c;帮你完成各种类型音乐的编曲制…

FL Studio21傻瓜式编曲音乐编辑器FL水果软件

在我看来软件只是工具.不管哪个都可以做任何风格的音乐,区别只是软件操作相对而言fl studio更容易上手,在国内也很受欢迎,弱项应该是混音上如果你做电音的话 还是FL更好一些 ,因为他就是为舞曲而生的!flstudio内配置音源、插件、录音软件、混音效果!而FLStudio则更偏向于电子音…