关于游戏引擎(godot)对齐音乐bpm的技术

引擎默认底层

  1. _process(): 每秒钟调用60次(无限的)

数学

  1. bpm=1分钟节拍数量=60s节拍数量

bpm120 = 60s120拍

  1. 每拍子时间= 60/bpm

  2. 每个拍子触发周期所需要的帧数= 每拍子时间*60(帧率)

这个是从帧数级别上对齐拍子的时间,对于游戏引擎来说,用帧数更加适合高频触发程序

在120bpm下,1拍是0.5s。

当然这个代码有极限的,不能超过或者小于那个1/60 的0.1666667 因为帧的最小单位是1,不是0.5.

我不知道这个算不算音帧程序

下面是伪代码

python 复制代码
var bpm = 120
var paizi_time = 60.0/120 #这样才有余数
var paizi = -1
var paizi_zhen = paizi_time * 60

func _process():
    if Engine.get_idle_frames()%int(paizi_zhen) == 0:
        paizi +=1
    # 4/4拍
    if paizi == 4:
        paizi = 0
    # 3/4拍
    if paizi == 3:
        paizi = 0
     set_text(str(paizi))#设置某个label的字
相关推荐
浅念-24 分钟前
C++ 模板进阶
开发语言·数据结构·c++·经验分享·笔记·学习·模版
2501_926978333 小时前
概率分形理论--从离散到连续--从向量到模型
人工智能·经验分享·agi
weixin_447443254 小时前
往事如风....
经验分享
2501_926978334 小时前
概率分形理论对 LLM 大模型结构与类智能涌现的统一解释--及优化应用的方法--指数级规模的效率和体积提升。
人工智能·经验分享·agi
Zzq_Fighting8 小时前
【Windows电脑使用PotPlayer挂载夸克网盘方法】
经验分享·github
一个人旅程~8 小时前
《七重时间的织锦》-致初七
windows·经验分享·笔记·微信公众平台
YZ0998 小时前
2026年如何批量保存小红书作者主页的视频、图片和文案?
经验分享·浏览器·插件
2501_926978339 小时前
嵌套分形意识融合理论3.0:概率分形通用理论与存在意义论的统一整合框架
人工智能·经验分享·机器学习·ai写作·agi
小趴菜克鲁里11 小时前
游戏Excel配置自动化导出二进制工具链并生成对应配置类详解
游戏·自动化·excel