关于游戏引擎(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的字
相关推荐
笨鸟先飞的橘猫13 小时前
只会脚本语言的游戏后端自我提升之路——c++学习(开篇)
学习·游戏
笨鸟先飞的橘猫16 小时前
游戏后端分布式学习——消息队列在游戏的用法
分布式·学习·游戏
数字生命卡兹克17 小时前
黄仁勋、Kimi K3,与一场即将到来的开源战争。
经验分享
富唯智能17 小时前
2026 复合机器人选型指南:AMR + 协作臂负载、精度、导航选型攻略
经验分享
网站优化(SEO)专家18 小时前
Pokicon免费游戏入口网站流量稳定增长的核心密码
游戏·游戏网站·网站流量·游戏宣传
沃普天科技18 小时前
IF8032芯片TYPE C全功能输出支持C口显示器,支持AR眼镜 显示,支持接扩展坞,采集卡,游戏手柄,支持PD100W 4K240HZ
游戏·计算机外设·ar
IT小白杨20 小时前
指纹浏览器安全架构技术评测与API自动化能力对比
经验分享·安全·自动化·业界资讯·安全架构·指纹浏览器
EanoJiang20 小时前
ControlRig_C++_自定义节点内调用其他节点模板
游戏
Python私教20 小时前
Godot 4 CharacterBody2D 角色移动:输入、碰撞与八方向控制实战
人工智能·游戏引擎·godot·gdscript·游戏开发
2601_962924761 天前
归环帕塔玩法全解析 归环帕塔怎么玩
游戏·电脑